其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看) Z; e! n2 f; A) }* g
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能4 V( i! h& o* F, o
Name := callfunc ('getsenderjobkind');
) u% b' S- v3 f: w$ K4 nif Name = '1' then begin
& \- `; X( d! m& } print ('say 你已经是铸造师了');
3 o" A* e2 ]/ m4 u0 b exit;6 s% _" |5 h- v( T" o+ R5 b9 [: V: i
end;
7 |6 k5 e9 w9 [: X2 Y9 }: d" c8 r/ X. f' @( l% l2 p
2、获得玩家技能等级
1 [$ z& b ]! h- JName := callfunc ('getsenderjobgrade'); /获得玩家工作等级
% k' O$ z4 U8 W& X# M! I/ S//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工8 u* D0 K6 ~$ T2 _7 J) `7 D' s# U& t! a
if Name = '6' then begin //如果是6级那么
& _0 x# v3 H/ j5 v; z print ('say 你已经是神工了');
+ j" _! a0 Y X( @% e0 q+ G3 { exit;
6 e+ d% o& G1 T% j! l end;* }% W+ d3 O1 U# `+ O- m" U$ {1 n
3、获得玩家技能值- F5 n. [1 |/ g% p
Name := callfunc ('getsendertalent'); //获得玩家技能值
* f7 I3 U, _5 c/ C9 }# g/ [ nValue := StrToInt (Name); //转换变量类型
/ ^ a5 G8 `1 l, y7 B if nValue < 2000 then begin //判断技能值是否小于2000
) `/ k- U, J! s( F* O# A6 @ print ('say 想转职的话才能值要达20.00以上'); r8 |3 m! L7 h- j: |, Y( ?
exit;+ S! w1 p: ^1 Q( y! |! h
end;- u! x5 M/ x: l/ T9 U
4、设定玩家为哪种职业9 c/ L. T5 L& i* i
print ('setsenderjobkind 1'); //设置玩家成为铸造2 U7 [( H U' F8 @" ?# ~( I
5、设定玩家为神工
' r# u4 K( g+ R% a b! @0 b print ('setsendervirtueman'); //使玩家成为神工! F S: b# V5 g, S# F# b
//====================. P$ N5 {1 [5 ~- h% T# A9 A# `
下面一起总结一下交易NPC
8 F2 Y2 ]5 P$ w) z3 Q: n" I交易Npc就是用到了'tradewindow 命令' h) j/ e# X( s
Name := callfunc ('getsendername'); //获取玩家名字
' O; w' \) ]5 [2 E, z Str := 'tradewindow ' + Name; //弹出买卖窗口
) v9 t2 l2 n* @( ?/ }9 x8 g Str := Str + ' 0'; //如果是卖,那么类型是0
& p( N1 e7 W7 S" j print (Str);
/ M) P% D7 G6 s. Y& E) k/ _0 c ]0 ]- B6 o' }# ~* r& E' V& i$ u
其中0,1,2,3,4代表什么?代表买卖的类型
$ Q# v" g, \% b' F$ h6 d z1 x$ f) Y8 O2 J" |& r6 z' v+ `+ n& }/ }
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 1 p* N+ o4 \5 r1 Q1 d; s6 ~
|