其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
2 y+ i1 n+ x& C0 z1 P% W. F1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
! H/ F' q! F* S& P4 w0 L3 k, iName := callfunc ('getsenderjobkind');: t3 D. V- \8 ^% B# U0 H8 }' y+ ]
if Name = '1' then begin
' O8 G% K$ y( k. Y$ N4 u print ('say 你已经是铸造师了');
9 a' Z" N C- k# ?8 Q exit;
& v$ Q7 L' C$ e6 X end;
0 X& U/ g+ y4 \, }
- ~2 I* b0 [7 E) f2、获得玩家技能等级
\; |) `+ }8 E! ~5 m% _$ SName := callfunc ('getsenderjobgrade'); /获得玩家工作等级
1 s# I* F; T5 `6 V* |//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工6 Y7 W5 J( x0 m O" m; G% q
if Name = '6' then begin //如果是6级那么, ]: G# X" z; u7 L- B) s! C
print ('say 你已经是神工了');
$ V& Q1 z6 Y/ Y$ w9 @; T exit;
: o% K4 A4 v, Y end;
- G+ s; a# U' s, O, R3、获得玩家技能值
+ J, }* ~6 ~# _$ E; ~$ M* ` Name := callfunc ('getsendertalent'); //获得玩家技能值+ @/ }+ B0 b( R- g" n5 u7 A
nValue := StrToInt (Name); //转换变量类型
/ I6 T4 ~/ B& ]; `9 T if nValue < 2000 then begin //判断技能值是否小于2000
( I8 x$ f+ K9 f" V print ('say 想转职的话才能值要达20.00以上'); " `1 B2 M2 e; ]/ H
exit;
- O3 ~, X( P! }' Z) l end;
* [& ~3 N2 Z1 K ?4、设定玩家为哪种职业4 m& `& {* _$ ]! U6 U& r2 z
print ('setsenderjobkind 1'); //设置玩家成为铸造
, X- C# F+ m; ], _) h5 x8 [ ~5、设定玩家为神工
7 f0 L: y# c8 q5 L print ('setsendervirtueman'); //使玩家成为神工( D) s5 i' T2 ~/ V9 W7 Q% [! p
//====================, B' v m1 _# u9 v7 d
下面一起总结一下交易NPC
% C! G5 w/ d& W* s+ u) |交易Npc就是用到了'tradewindow 命令
; Q* Q- S* v- I% }: i4 j9 r: { Name := callfunc ('getsendername'); //获取玩家名字
: m0 ]' P( X) W/ Z v( M( }9 w Str := 'tradewindow ' + Name; //弹出买卖窗口5 O6 z6 H6 f! n* X! ~" j8 M2 n
Str := Str + ' 0'; //如果是卖,那么类型是0
9 G. g; L: n& P9 r; ^# H: z print (Str);
: p7 i _, Z1 r( R- I6 D/ ^! c: u! z: x: g$ J$ ?" d' ]! W
其中0,1,2,3,4代表什么?代表买卖的类型
/ F, ^4 t7 i% @9 s6 ~" @* t- P3 e4 F' U( ^: S4 ~* a+ P* E
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 $ ]8 s! w9 o6 C7 C5 f# g8 g! z
|