其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看+ n( p9 l6 ~1 E1 J. Z
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能+ T6 O/ G! e8 s; _! D7 ~
Name := callfunc ('getsenderjobkind');
% Q4 O5 F* r* g2 W# lif Name = '1' then begin
* I& f1 Y" ?3 m print ('say 你已经是铸造师了');
% {% {" G) W. u5 b0 h9 O exit;
" ~1 ?/ d2 }9 H8 K4 O1 n; `1 c end;
* d# M( P% |' O# ]1 c3 l( @ ?- t' M
2、获得玩家技能等级
n8 T* x6 |! u& d' f, f+ J7 g0 kName := callfunc ('getsenderjobgrade'); /获得玩家工作等级
8 f5 T/ _" H* K//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
* a/ K( `4 N$ E% l$ r: k if Name = '6' then begin //如果是6级那么- m7 e+ a" d& a5 ?% J% x, |
print ('say 你已经是神工了');9 G* p8 {: |* ?- z2 d/ b
exit;
2 A' p" }% q, |! k; ?" j end;
. G) |0 e( ^% _# R1 h" T3、获得玩家技能值; A% r3 {$ C8 Q% |7 E3 f
Name := callfunc ('getsendertalent'); //获得玩家技能值
" U+ k; ]* e7 r. w3 k; ~7 N, [ nValue := StrToInt (Name); //转换变量类型
. f! v% g1 h$ _! c" r if nValue < 2000 then begin //判断技能值是否小于2000; h) r* x! a* f* F
print ('say 想转职的话才能值要达20.00以上'); x, q( O8 J' j& r: @- c, ?
exit;
: y; g$ s8 g* l, @4 M) c; l9 [ end;
: C& G' _: x& C- C# T4、设定玩家为哪种职业) w$ j& ~' v- p
print ('setsenderjobkind 1'); //设置玩家成为铸造
" q+ C O3 |* L( G5、设定玩家为神工
( k8 E0 U) M: d b; d) H$ K" [- t print ('setsendervirtueman'); //使玩家成为神工. i6 |% x K7 N: G- y
//====================
' |: `4 n; m M% P1 Z; u/ y w下面一起总结一下交易NPC f$ P, @- w4 a2 [+ t4 B
交易Npc就是用到了'tradewindow 命令
, d- j* q6 S; {$ z Name := callfunc ('getsendername'); //获取玩家名字
% n# O9 V( X' w Str := 'tradewindow ' + Name; //弹出买卖窗口. a7 ]3 @1 {+ a# ?& L
Str := Str + ' 0'; //如果是卖,那么类型是0
/ u+ V/ ]$ {! d( p6 W6 W5 g print (Str);
+ H8 |5 [: ^3 o& X: T9 d$ w5 \+ o6 f! ]: I1 k
其中0,1,2,3,4代表什么?代表买卖的类型
( \/ G5 w/ ^" a; y
4 l# @% Y. f8 ?+ P0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 6 r+ `0 f$ ^* u4 a" T. X
|