其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
X2 e5 h [+ p) Y" m1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
/ F8 R+ m/ h# |/ EName := callfunc ('getsenderjobkind');& Y+ m8 u. T/ W, l7 c
if Name = '1' then begin9 M6 P6 R8 x! I- q5 j G+ G3 F
print ('say 你已经是铸造师了');2 T+ v9 J5 d5 f+ |% P$ m( R+ r! Z
exit;
9 w- g+ V) f; e: { end;
g( y; k x& o
" i6 _3 I1 y9 d2 D) ~; B" |2、获得玩家技能等级6 B f- Q: i* m% b) k- D
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级
" S& ^0 }+ n6 c s6 ?; n+ k5 k//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工& F; `) g% F5 f9 o, N$ X
if Name = '6' then begin //如果是6级那么
/ h; L8 w7 n# d& Q4 a* ]7 i print ('say 你已经是神工了');" }+ g8 Q. E8 y. N! C
exit;9 ^* r1 g; s* a) J* S' ?
end;2 z5 e" e* C p) Y8 h$ {5 x; K) `
3、获得玩家技能值- V- t C6 s7 V ^8 @
Name := callfunc ('getsendertalent'); //获得玩家技能值
% x$ |( i0 w% t9 k2 A nValue := StrToInt (Name); //转换变量类型
& o* R. E9 N: L* n" s8 }; U+ Q if nValue < 2000 then begin //判断技能值是否小于2000
1 b6 C3 p' h, H7 \ print ('say 想转职的话才能值要达20.00以上'); . O( B2 O" c7 _$ t: i- p7 S4 Q* c7 ^
exit;) p( }9 P, l2 m9 @5 W
end;
" o% b8 C5 m. N7 D4、设定玩家为哪种职业
6 C8 H) [2 m+ L1 S) yprint ('setsenderjobkind 1'); //设置玩家成为铸造; q: s: B! r6 R" H% @' Y+ |6 ^( e
5、设定玩家为神工
% @ D0 h. G/ _( i2 Y- F5 a! c print ('setsendervirtueman'); //使玩家成为神工
+ o1 c. g" Z$ b1 D6 |; t//====================
" c/ j) x6 d q( C% e% B- t下面一起总结一下交易NPC& x) ?# e+ C& a( I( B7 B
交易Npc就是用到了'tradewindow 命令
) X2 v& m" l7 d& ~4 t7 ? Name := callfunc ('getsendername'); //获取玩家名字- x( U! e: M5 {# P5 n
Str := 'tradewindow ' + Name; //弹出买卖窗口
0 g* C# \: t7 h+ d. S8 Z2 | Str := Str + ' 0'; //如果是卖,那么类型是0. y4 x" b+ F- f$ \8 e# Y( e
print (Str);
$ F( g8 W. [# p+ `/ G4 R" X3 w# l" w8 @9 x& O \
其中0,1,2,3,4代表什么?代表买卖的类型
/ y- y* E# a' t9 g0 e
( l0 [" Y+ v( A4 u% ^ j7 ]0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
- \9 n; j F: m9 j |