其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
$ s# D/ R# ~8 o, d- V1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
, Y+ c: c" h2 {+ `( bName := callfunc ('getsenderjobkind');
6 z' P# T. ^. B0 X; J1 Hif Name = '1' then begin& Z, [3 a1 d; ?" b1 ~$ o
print ('say 你已经是铸造师了');
e4 f$ O6 o7 A% Z; j0 e exit;0 u3 A+ e7 U. |) E+ h+ u3 b
end;
4 E- }. N) {0 j& |5 J; k- o. w9 |; A$ A
2、获得玩家技能等级
4 q l: s- }0 lName := callfunc ('getsenderjobgrade'); /获得玩家工作等级3 E8 j" g9 a( X7 x! J9 r1 y
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
5 V2 A( g1 C0 S' I& B, L6 K if Name = '6' then begin //如果是6级那么$ f9 t. i3 F% v) a
print ('say 你已经是神工了');
) |( b \0 W1 o& g( ~ R. Y/ [ exit;+ B" V& u1 i7 {6 Y* ~
end;) y5 B g# O% W- r* M3 f6 N
3、获得玩家技能值: M* ?7 [. Z/ q2 j- m
Name := callfunc ('getsendertalent'); //获得玩家技能值
$ w' Y2 o( t6 f- e nValue := StrToInt (Name); //转换变量类型
7 t3 D3 }0 S% X& k& g) \ if nValue < 2000 then begin //判断技能值是否小于2000- ]& G7 m+ g+ C/ y* F
print ('say 想转职的话才能值要达20.00以上'); 4 l+ P) o- N$ i+ H. o3 o) X
exit;
" ?1 V: F' C7 B& d0 p end;
- D {0 x3 r, T1 r' ~4、设定玩家为哪种职业- s/ P+ N( e: [' |5 R3 B" R
print ('setsenderjobkind 1'); //设置玩家成为铸造
- g0 l0 f4 ?) ]& F7 P" g H/ c) b. x5、设定玩家为神工
3 M9 G9 L* \; |/ v& Z# N, M print ('setsendervirtueman'); //使玩家成为神工
$ E/ u8 p0 j, r d" f# R: h+ \//====================
1 D8 Z3 }- ]0 j* O" K2 ]+ c下面一起总结一下交易NPC K7 ?9 s v$ h0 H
交易Npc就是用到了'tradewindow 命令
! t& |# i j8 I5 [" ~4 B" a Name := callfunc ('getsendername'); //获取玩家名字
: N: B1 A- c! C& X1 ~ Str := 'tradewindow ' + Name; //弹出买卖窗口
. n. Y0 `# X. j, \1 d2 C( a Str := Str + ' 0'; //如果是卖,那么类型是0
7 @& d/ O, N% d9 v N print (Str);
6 p8 v: l/ y4 T, {% I o6 e# D0 [3 j( K
其中0,1,2,3,4代表什么?代表买卖的类型0 ~( f' i) N6 H6 w3 V1 O
' ?; J* _" @ L( h0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 ) j$ a3 g3 ~3 w' ]+ P h6 Q
|