其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看# {- m0 m/ y: G2 T. @( h7 T
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
$ y6 C- c$ @6 s. @+ JName := callfunc ('getsenderjobkind');
8 y) c' u% t! d6 Fif Name = '1' then begin8 |+ l& I, F2 V1 Q: V3 G
print ('say 你已经是铸造师了');
. G- p! p8 y/ v+ K6 @* I exit;( f D+ o4 Z: h6 Z) S! g/ e9 x
end; H$ |5 ^5 U6 p7 d9 v u9 x
. z* ~! K0 A6 P2 M( c# U2、获得玩家技能等级2 @- l# U9 _ p) o K$ h2 W
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级( `. E. `3 D, n: @ O
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工& ?) K2 P& _8 b0 e
if Name = '6' then begin //如果是6级那么
5 f8 J3 o7 m% e0 j0 w print ('say 你已经是神工了');
. ]2 x7 i: `& j, {' { exit;& c+ I( \# K& M1 {
end;
% ]1 g2 X. W) {. T, f" g0 @3、获得玩家技能值1 B2 n. n5 L9 M+ G* o0 Q6 P1 p' P
Name := callfunc ('getsendertalent'); //获得玩家技能值
5 W% N; I/ L3 v& x nValue := StrToInt (Name); //转换变量类型6 K# z$ b5 ` C% s3 I6 ^
if nValue < 2000 then begin //判断技能值是否小于2000. R- F# _# u2 ]/ s4 [" u q
print ('say 想转职的话才能值要达20.00以上'); : L: d- V0 u; P. W# {+ p3 W
exit;
+ \" U% K& P* L* U2 } end;. @! m" J* }! r2 o: t
4、设定玩家为哪种职业5 J! H$ g' P1 m( H# c. U
print ('setsenderjobkind 1'); //设置玩家成为铸造( h0 [- W7 V; K1 z* ]
5、设定玩家为神工
; ~% n" p% v c3 Z; C. {% p! m print ('setsendervirtueman'); //使玩家成为神工
6 N) p t+ l1 q& g! S//====================! I4 Y. G2 O9 S
下面一起总结一下交易NPC
: _/ _7 c8 W' L& x交易Npc就是用到了'tradewindow 命令
$ H- y U; `$ n7 k! u. U4 K5 ] Name := callfunc ('getsendername'); //获取玩家名字2 Q. r1 p0 i# g
Str := 'tradewindow ' + Name; //弹出买卖窗口& _% ]0 X \) c9 G/ k% d+ {
Str := Str + ' 0'; //如果是卖,那么类型是0
g8 S' ~. m5 y" J0 K* ~0 ] print (Str);
5 c( A7 z7 s: Y4 q8 u) A/ n7 b! H( A" ?% u
其中0,1,2,3,4代表什么?代表买卖的类型. W% t$ o4 G: J, q% z( {; c7 m
& w" J( d; T% E7 @* z0 q9 g; ~
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 & s7 E7 @/ d8 X& Y- o
|