其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
4 `" U* H" B+ i z( K. d; E/ W1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
7 `6 G) K8 m- ~$ j9 PName := callfunc ('getsenderjobkind');
4 \3 Q5 \4 f3 }- q0 nif Name = '1' then begin2 t' t! N- N) e/ l
print ('say 你已经是铸造师了');
8 @* i: Q" {, [ _8 G* Z/ z' s exit;
, e) _/ _4 B+ G end;
- a# J) D) n. Z3 t. {4 y9 `
! F$ L7 f4 q$ j; z+ d2、获得玩家技能等级
T' D5 d, [4 [4 [5 wName := callfunc ('getsenderjobgrade'); /获得玩家工作等级
5 ^! a& \! S6 @' ~7 n//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工. w- K: j. ?* E( g
if Name = '6' then begin //如果是6级那么2 ]2 a& J. Z/ b! q# T+ u
print ('say 你已经是神工了');8 g$ @9 H& O1 b1 Q
exit;4 m* z+ z; I4 O
end;
6 O4 e4 F7 V4 \! i' O% F( V3、获得玩家技能值
. `% t1 N" m' j( D5 ~: d. L Name := callfunc ('getsendertalent'); //获得玩家技能值
* }% l- T1 ?6 }2 K+ P) _6 q7 S+ c" H nValue := StrToInt (Name); //转换变量类型
' f: b) _5 C( {2 Y; M( o4 O if nValue < 2000 then begin //判断技能值是否小于20001 P* o. s) i4 [0 s" _3 Q
print ('say 想转职的话才能值要达20.00以上');
/ R1 z' v/ B* ]" G exit;
( K6 E; E, E- }8 v& _1 u end;- R6 m3 m! W0 N
4、设定玩家为哪种职业
6 ]- s5 w8 d: M; Pprint ('setsenderjobkind 1'); //设置玩家成为铸造
9 g* X5 j6 |0 h( r5、设定玩家为神工
& D7 H& v6 A2 K- Y& u% \ print ('setsendervirtueman'); //使玩家成为神工2 a5 `7 J+ A; s: U' m7 ^7 c
//====================1 ^9 o; d0 D5 a( ]- Y
下面一起总结一下交易NPC
4 j6 z" X ~" ~, G. @" i1 ]- x: Y交易Npc就是用到了'tradewindow 命令
9 o; _4 |6 p j+ U- X+ o( W; C Name := callfunc ('getsendername'); //获取玩家名字
: L# a" ]" H4 c6 A3 m Str := 'tradewindow ' + Name; //弹出买卖窗口
$ a* r+ a# a( z8 N$ |+ r" m Str := Str + ' 0'; //如果是卖,那么类型是0
8 F& i: I7 t8 V I print (Str);
1 N% M' N3 Z) ?+ G' m7 @, R1 F _1 O6 d5 U b
其中0,1,2,3,4代表什么?代表买卖的类型
, l# B# C( n: V* ~8 m. ]4 ~ X" X8 I, _1 L/ ?. A3 \6 F; @0 w
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 2 I9 [9 g% J# ^) g2 _
|