其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
& ^: e) O# m! A( J+ E7 E1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能3 {( C+ v+ M2 [+ E% P0 t# T
Name := callfunc ('getsenderjobkind');
7 x. `1 | W9 f {if Name = '1' then begin/ _1 P5 |# l/ D
print ('say 你已经是铸造师了');
, \; K: _3 q$ }6 l% g exit;
+ l% E7 D) i, e8 }/ o; j% b5 u& E7 A end;
% ]* ~6 w7 {7 k& P+ {
) u# {' Z8 L# q; N2、获得玩家技能等级
. y2 \ j2 }" i) |& Y5 wName := callfunc ('getsenderjobgrade'); /获得玩家工作等级+ E4 Q- f/ g. ?. N& c5 s
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
9 j3 E; I2 ]- y( z. m8 | if Name = '6' then begin //如果是6级那么
; e/ r/ ^& p% Y% G print ('say 你已经是神工了'); U& O! o$ h. J) T) L! Z
exit;" r9 x& w6 }" N8 Y# j3 w' t
end;" t; _& C& w7 [/ F6 F
3、获得玩家技能值
3 g0 n- V7 J" N! m3 X Name := callfunc ('getsendertalent'); //获得玩家技能值
" U( _! h( Y& c+ W2 f' _2 a nValue := StrToInt (Name); //转换变量类型" u P" u# f, j/ s! [& U+ O* r
if nValue < 2000 then begin //判断技能值是否小于2000: t2 S7 A/ \ Z, j. \! u4 o
print ('say 想转职的话才能值要达20.00以上'); 0 B$ y' G" d) B4 R
exit;- e1 \8 d0 l9 t, B) k
end;# t' @) ?* U+ }" S
4、设定玩家为哪种职业) n+ H, k$ P5 o+ \$ V
print ('setsenderjobkind 1'); //设置玩家成为铸造3 b# H0 A/ {% U! P) k6 e- ~
5、设定玩家为神工 _; }. F& J6 z- L1 i* k7 x% @1 O4 U5 O
print ('setsendervirtueman'); //使玩家成为神工2 v+ Z7 o0 S1 S- Y5 F3 }- {, y
//====================. g0 d7 r* ]) P$ k" p0 [1 \0 C( }3 Y
下面一起总结一下交易NPC7 v4 A! P/ c! I) H1 o
交易Npc就是用到了'tradewindow 命令! i6 M% _: N& ^9 O; L' h
Name := callfunc ('getsendername'); //获取玩家名字8 B: j: P" L- W; T( v, N% e
Str := 'tradewindow ' + Name; //弹出买卖窗口
+ t. c2 U/ ^" T4 y, G0 h Str := Str + ' 0'; //如果是卖,那么类型是0: b' Q+ j, ]& k! `# \1 ~, l& N
print (Str);3 q# g$ a# I8 J0 Y& d" w, s
$ h% ^) O+ W# _, o其中0,1,2,3,4代表什么?代表买卖的类型
0 C+ Y/ X; I3 Z/ n) U
* i% V% Z3 x* o; P9 {5 u5 B$ d0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
% v; ] t1 [/ A0 K! p& @+ q# ~ |