其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
$ U% ?/ K5 |9 S5 @$ f% a1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
+ Y8 a; F' O& P) U5 C* N' p! ~Name := callfunc ('getsenderjobkind');
+ X* a5 i U gif Name = '1' then begin
7 A1 U$ }: I/ F! e; c print ('say 你已经是铸造师了');; a, U4 F/ x! y* A8 R' k* d
exit;: `( h5 q: i, E
end;
% t7 A" ?& X; x% L; S8 D( f; D5 w
: D4 r. E: E c; V$ B/ X: k5 A2、获得玩家技能等级
5 o/ g$ h1 S/ z' E+ _; ?9 N1 }* O0 nName := callfunc ('getsenderjobgrade'); /获得玩家工作等级
0 N- G- d7 W0 @3 D, c+ ]9 c//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
, G4 O8 i8 }6 V' V! N if Name = '6' then begin //如果是6级那么+ x% h& U' {! ^3 k! C
print ('say 你已经是神工了');; P7 b' n- l% c. s
exit;! h& Y$ T/ \/ x# B# Y1 ^4 f% J
end;
$ B9 ]- A6 p* B# U6 d7 I3、获得玩家技能值
$ \& S z2 g6 \ Name := callfunc ('getsendertalent'); //获得玩家技能值
, g7 }' ?7 d3 F- y6 F, W. E9 w: Q nValue := StrToInt (Name); //转换变量类型! g: k+ Y4 p+ t& }
if nValue < 2000 then begin //判断技能值是否小于2000* Y; c0 p( i% w7 S1 J G X0 _$ f; Y/ x
print ('say 想转职的话才能值要达20.00以上');
% W9 ]: y5 k% K exit;
4 e. a% g( ~1 s# G$ `7 Q- g+ P# t end;
* Q6 d, c1 e- T! ]6 l# K% L+ s4、设定玩家为哪种职业
& P% Q3 h3 z) I3 x* cprint ('setsenderjobkind 1'); //设置玩家成为铸造# d3 [. `9 N, p: i
5、设定玩家为神工; q* Y0 ]/ l9 B9 V
print ('setsendervirtueman'); //使玩家成为神工9 o) \8 j% m; {4 ]( j% g7 f
//====================) P' ~+ n1 i+ m8 k& c. v
下面一起总结一下交易NPC
1 J1 y H E/ s# N' O交易Npc就是用到了'tradewindow 命令
+ D/ e0 ?5 u1 ], [ Name := callfunc ('getsendername'); //获取玩家名字
5 m+ G4 s% i1 q, ` Str := 'tradewindow ' + Name; //弹出买卖窗口
" L0 A7 M- d6 Y) a& K0 m9 V4 X Str := Str + ' 0'; //如果是卖,那么类型是0
' M4 R! `* z. F/ x+ _: m7 ? print (Str);6 x* `4 Y4 J7 M$ M
2 l! q6 V& j& S- G: u! v3 M其中0,1,2,3,4代表什么?代表买卖的类型 x" i8 g! ^2 r- l+ }
' C8 `1 `3 ~0 T
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 5 g* V* T5 z5 ^8 t, {' |
|