其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看% N9 v2 o1 B! {; [; P; b3 S9 l( C; ]
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
+ F$ w4 ^- v8 n# WName := callfunc ('getsenderjobkind');4 b( i' x& Z, ]% A4 D
if Name = '1' then begin! Z" ? }; c3 _3 {
print ('say 你已经是铸造师了');* C* n7 [9 j% ]! S
exit;2 T9 m: R5 h) z& s$ [- r# N
end;
; k! R9 S9 t$ ~+ ^# t0 p" f; \; \( y; [0 b# [9 M' S
2、获得玩家技能等级
& _2 J/ g; O$ Q: |/ vName := callfunc ('getsenderjobgrade'); /获得玩家工作等级
3 t" W6 n. B( o9 i8 S6 }//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工) G$ u* T6 F' {& {5 A3 }
if Name = '6' then begin //如果是6级那么1 j5 Z" b, U0 ~0 F7 f( D
print ('say 你已经是神工了');
5 q+ ?0 H& c& k6 U9 q6 J exit;* _( @) T4 s$ @# h- w
end;
) s0 r/ B/ e# Y( U3、获得玩家技能值2 n7 {( A: ~; E# ]
Name := callfunc ('getsendertalent'); //获得玩家技能值
% o6 \6 M0 o& h; c4 e C) U |1 W nValue := StrToInt (Name); //转换变量类型0 q' D2 E- K& x7 Q4 s( ~. _, U
if nValue < 2000 then begin //判断技能值是否小于2000( A; W. S4 s: a' D3 ]
print ('say 想转职的话才能值要达20.00以上');
5 R) k# F) B; a$ U exit;# E7 i. A2 n7 S) @' E
end;
5 p$ m" {3 t' _$ O9 `/ O4、设定玩家为哪种职业
, t0 r* B/ c' M3 y) Bprint ('setsenderjobkind 1'); //设置玩家成为铸造
* `( x5 K7 n6 {( w, l5、设定玩家为神工" ? }) }3 v+ r4 {& j
print ('setsendervirtueman'); //使玩家成为神工
9 \4 n- s& K m; T. e0 T5 p' u0 X//====================
& n& U, M7 q3 |, K! s6 F1 n下面一起总结一下交易NPC4 C' N& x5 }( r6 m1 e+ _
交易Npc就是用到了'tradewindow 命令
2 | J" J. |0 k/ @8 X Name := callfunc ('getsendername'); //获取玩家名字
* B0 O; ?& C% ]$ A Str := 'tradewindow ' + Name; //弹出买卖窗口
+ f$ s( x m3 f3 q: g, P( w: |2 K Str := Str + ' 0'; //如果是卖,那么类型是0
4 P7 g7 Q! G/ h( F print (Str);
1 }+ ^6 x/ j9 _; \& K) i
+ H$ b5 J( N# T其中0,1,2,3,4代表什么?代表买卖的类型! C; b# g1 S9 P, O" }1 S7 t
! G" [) G4 }0 s* Y$ p7 ^! U4 y+ @/ Z
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
' U3 ?* E" V, j) g- r/ t8 _ |