其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看6 a- v) C3 I( `% L+ M
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
3 s% s$ Y& u. K3 ]Name := callfunc ('getsenderjobkind');
" S( q6 V: z0 w+ Q D+ d4 Tif Name = '1' then begin' }3 M* N* u$ w E
print ('say 你已经是铸造师了');6 X4 j/ _! [- v/ p
exit;
* v/ o' B; U' W) a% S i: g end;9 [- }1 u9 H, H* q8 I
( W( S5 w' l; X1 E2 b2、获得玩家技能等级
5 r+ B8 N9 y, tName := callfunc ('getsenderjobgrade'); /获得玩家工作等级7 Z/ a+ F" n. w5 E. j& L2 G
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
9 c* @( v) a0 ~4 Q3 _# r5 |; p if Name = '6' then begin //如果是6级那么5 d/ L% j9 M+ y+ ]: S7 S
print ('say 你已经是神工了');
& r9 Q4 e, i* Q- M1 P6 u exit;
$ [ t5 m" S# i' V/ U: i$ o end;
- K5 L1 X5 @3 A, H& ^# ~, k0 H3、获得玩家技能值0 |2 ~; E% w* }; `/ @& @, G! ~3 E
Name := callfunc ('getsendertalent'); //获得玩家技能值
( }$ o$ p0 S& Q1 o+ A$ ] c nValue := StrToInt (Name); //转换变量类型) V% o' Z. ~& v( N0 c+ r7 Q3 g
if nValue < 2000 then begin //判断技能值是否小于2000
, W' I- [( w* S' W$ V: R0 G: K- F print ('say 想转职的话才能值要达20.00以上'); ) J' q- j0 y. H; W) x6 Q: \& i
exit;6 |; D0 X* ]7 y1 x- b5 o( b
end;
; B# L' g1 ?8 R2 L; G6 G" D4、设定玩家为哪种职业
5 V( l/ d/ n2 ^9 a# wprint ('setsenderjobkind 1'); //设置玩家成为铸造; I, \9 B6 ]% O. H
5、设定玩家为神工6 w# S* {0 c9 x1 B. g3 j/ E4 h
print ('setsendervirtueman'); //使玩家成为神工
: u M4 X: J. {+ O//====================. E: i* C& }6 C2 Z( }
下面一起总结一下交易NPC
3 d$ o. ], U4 l, R交易Npc就是用到了'tradewindow 命令' |3 X( @3 i2 s+ M& [
Name := callfunc ('getsendername'); //获取玩家名字
: _" T" b t" m$ B1 G Str := 'tradewindow ' + Name; //弹出买卖窗口
3 p8 v6 _% Q8 o Str := Str + ' 0'; //如果是卖,那么类型是0
! Y' S3 B2 g: l& X print (Str);7 t& N. Q5 w) ~6 f" P8 q
5 _! o: C) |: h3 v0 y$ T) n其中0,1,2,3,4代表什么?代表买卖的类型' [+ @# d' H/ k/ r/ k
) i- j R/ Z. a! L9 Q( I0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 5 h" M" B" X% K `5 u
|