其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
4 V; z: q% y$ V) m( X2 K' n1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能, a* F& g1 a) ^/ L5 `
Name := callfunc ('getsenderjobkind');
9 Z8 e# B; `$ [5 ^, I( `6 X! Cif Name = '1' then begin8 \% i" X9 t: V& t9 M
print ('say 你已经是铸造师了');# _( e6 o: S4 ~
exit;
! u4 |+ z" d/ C. J, }& g* K end;
$ }& x% l Z+ c' N6 V3 z
8 o6 G* m3 ?" k6 E8 s2、获得玩家技能等级* y; [+ k( n3 M1 K' G0 ^* J
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级
" v8 |* k; u4 U//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
1 E; D& b# Y# l6 G% R) [. k if Name = '6' then begin //如果是6级那么
0 W: D) \/ D4 k print ('say 你已经是神工了');. ~( Y, n1 k2 K# o- f1 F6 t8 R1 H
exit;2 S W- r6 s" [* b
end;. c& {6 k$ W3 z. I
3、获得玩家技能值
) R% v" {! E8 T. K D( A Name := callfunc ('getsendertalent'); //获得玩家技能值
, N6 r7 d0 a- M! u# q" B; ? nValue := StrToInt (Name); //转换变量类型
2 M$ v1 n" P- U e; E1 Z; w" r if nValue < 2000 then begin //判断技能值是否小于2000
9 t% {; v4 u4 [: w+ f print ('say 想转职的话才能值要达20.00以上'); + T( y0 C) j3 B! I) t/ q) T/ p& E6 `3 [
exit;$ P( q7 ]4 { O2 o( U Q9 g
end;2 |' m- m% \" {; I" Q# |% s
4、设定玩家为哪种职业) T% O$ N8 W" ? i7 Y6 I' d
print ('setsenderjobkind 1'); //设置玩家成为铸造. v/ T* n4 Y! T1 `8 K( l" X
5、设定玩家为神工
$ X' E% {; p' c/ A4 G$ ^7 x print ('setsendervirtueman'); //使玩家成为神工
4 k5 ~, _0 N. k- H. R9 u" _* X//====================
: `" g0 M9 M1 h: N! }& x( L6 W下面一起总结一下交易NPC
* y5 s7 ]$ v) W; _3 q4 E交易Npc就是用到了'tradewindow 命令) o( Z z+ j% P
Name := callfunc ('getsendername'); //获取玩家名字
$ Q1 g9 W4 U* ] Str := 'tradewindow ' + Name; //弹出买卖窗口
8 V7 |+ r- k0 v Str := Str + ' 0'; //如果是卖,那么类型是0 x2 h% b4 M. m; F Q5 r
print (Str);
$ W9 K \3 }# {# [
$ G, _3 k \. d, {其中0,1,2,3,4代表什么?代表买卖的类型
. _8 G5 |5 `: i( p8 F' H4 I. f; c
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 - I8 ~" J0 t9 s, u; T. S+ [
|