其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
! y6 L9 u# A# Z1 t1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能4 d% X7 N. J& v& T: S, D. k
Name := callfunc ('getsenderjobkind');- z9 N X5 D0 k; d6 G. \
if Name = '1' then begin
% p+ a) D; Z+ E( ^" {# H print ('say 你已经是铸造师了');9 |" |) ^" ~8 k' g' \/ \8 L
exit;. Q' R7 T$ L4 K6 W8 k9 S
end;0 A. e M( a( R7 A) a5 H
5 w6 R$ _3 S1 b) I( @2、获得玩家技能等级: f7 H0 ?% r% q
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级7 R1 F$ X; `; |! F5 K
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工1 K& g, Q. u/ n( Y$ H7 s. s+ ~
if Name = '6' then begin //如果是6级那么8 @* U* E1 G' q' u# U
print ('say 你已经是神工了');' O* b) o0 x, T" ]8 m
exit; j% Y* W2 ~) M7 V1 D
end;
+ S% |& j& Z8 L$ v4 X3、获得玩家技能值8 e* [, Z' @1 X* _& Y* k
Name := callfunc ('getsendertalent'); //获得玩家技能值; i8 N5 }# i; P2 w% c- a7 b6 U, X
nValue := StrToInt (Name); //转换变量类型- }. A- W* a) n
if nValue < 2000 then begin //判断技能值是否小于20004 ~4 S6 c# F, E- Q+ _, s+ X+ Q
print ('say 想转职的话才能值要达20.00以上'); ) r+ c; q2 c; J3 R0 @. G
exit;0 J& ]4 }* v2 a- c v
end;
+ v" e& W1 v/ V& M& c4 Z/ L4、设定玩家为哪种职业
8 a5 Y5 Z" M1 J, n/ i; xprint ('setsenderjobkind 1'); //设置玩家成为铸造
! t* z/ B7 G# K. d7 U) k2 s* ^5、设定玩家为神工6 L/ @1 j( ~$ V, W, m
print ('setsendervirtueman'); //使玩家成为神工8 a) J. S0 C2 j! z: l, i
//====================
, e' K% k& b( Z. f) R6 C2 _+ D下面一起总结一下交易NPC
8 X! g$ I" r# K6 s! N交易Npc就是用到了'tradewindow 命令
" F# V' \6 d6 Z' ^ Name := callfunc ('getsendername'); //获取玩家名字. |, p: d+ |/ P4 n2 k
Str := 'tradewindow ' + Name; //弹出买卖窗口, k- U: n3 {$ q! a1 C! Y
Str := Str + ' 0'; //如果是卖,那么类型是00 G) ]+ ~3 p% A
print (Str);. [7 V5 x) ^; x% l- @
+ N: e* [8 O- A! X2 Y- _
其中0,1,2,3,4代表什么?代表买卖的类型
4 `) { P! B* a8 j3 H! W$ [7 ^5 x3 P5 u; r
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 : Y* D/ j5 w. h6 g- W4 Z @
|