其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
, I5 b6 q) M( G. |1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
4 b& G, m; s' eName := callfunc ('getsenderjobkind');
/ M$ h" U: A5 y/ [if Name = '1' then begin9 i3 k% a @/ H) c7 K
print ('say 你已经是铸造师了');
, M/ R1 A; Q; P: I; O% t! `! v7 @ exit;
6 Z+ C; U" f1 _# H9 o end;
4 k; B2 i ^+ A9 k+ m8 f* Z, ^" R! _! Z! _* p" G4 w
2、获得玩家技能等级5 @6 `8 _# N$ e& Z% R
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级
' V f7 X1 l, b- w% R% Y//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工# H; D/ z8 A2 \ i: x( J* o. Y( X8 P
if Name = '6' then begin //如果是6级那么! L$ |( h7 Y' ?
print ('say 你已经是神工了');7 A" ]9 d. q+ L% ]' V2 C
exit;3 y7 E1 L+ H2 d. [& s% N6 M0 t
end;/ U, Y/ [6 q J, _
3、获得玩家技能值
( X. q4 ]7 p5 Q& N4 D/ U Name := callfunc ('getsendertalent'); //获得玩家技能值, z" f7 K; l6 n, t, ^" C
nValue := StrToInt (Name); //转换变量类型" [. _2 `% g" L% ^* E5 M& T7 P( t% o
if nValue < 2000 then begin //判断技能值是否小于2000
. @+ {3 u) Z) x, P4 d* S) P print ('say 想转职的话才能值要达20.00以上'); 0 ]$ C3 B/ Z4 [- l5 j. [- W
exit;
+ C6 y" v( t+ U* z/ x, Q end;
r, {& f ?, e4、设定玩家为哪种职业
0 G; E$ U/ ~1 H: r: J2 }print ('setsenderjobkind 1'); //设置玩家成为铸造
" S$ l7 s! `, a5、设定玩家为神工
0 c+ k0 e/ z5 A! Y print ('setsendervirtueman'); //使玩家成为神工5 d( y1 R) K( Z
//====================
# Y* d1 ]' j4 Q u/ f( H3 Y% X5 ~下面一起总结一下交易NPC
/ _1 o) q; Y7 B$ _8 l2 n6 L7 `交易Npc就是用到了'tradewindow 命令
8 X8 S; J" z* O2 t g) Q" I Name := callfunc ('getsendername'); //获取玩家名字2 o' U' H( a+ D+ E9 u8 B
Str := 'tradewindow ' + Name; //弹出买卖窗口* x+ w4 K7 x) j; m# u. Q
Str := Str + ' 0'; //如果是卖,那么类型是0
' Q0 W0 Y8 R/ \, ]+ V( L8 Z% [ print (Str);1 @" m3 K0 \' e$ N% t" A% r
+ p1 Y& E. R0 H, |$ M% x4 ?其中0,1,2,3,4代表什么?代表买卖的类型
8 j( J" L' w" C! F t6 \
1 G+ n8 y8 Y, ~( ?5 R0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
: ]9 |4 j& w7 s% j/ z0 e+ A$ @ |