其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
+ A$ k# c( m- c6 c; ~1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
; u( U7 v9 u8 e( Q/ S9 sName := callfunc ('getsenderjobkind');! ^5 L7 F! [( k4 l! v/ V# b
if Name = '1' then begin
. l* O% a. Z9 K3 c: Y7 c, j print ('say 你已经是铸造师了');/ s# v2 r V! m d) D: n
exit;8 Q2 ]5 W' s) s: C! C( r B
end;" |1 j* l+ _ S9 x7 j% Y% j
* [( G+ v% U& C2、获得玩家技能等级
1 U2 A- F$ T& ]6 [Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级
' \8 k+ a3 I* D5 ?* ? j2 c$ z1 l//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
; _' a* ~5 A+ k4 P0 A u' t if Name = '6' then begin //如果是6级那么
* d/ ?# h! E, I$ Z' J. J print ('say 你已经是神工了');
* [) {0 y8 ?/ i; l) O exit;
( T8 g5 D+ k/ k* E* U; _2 z& [ end;2 _+ y% s1 c% Y1 A8 k/ L
3、获得玩家技能值9 t; `0 t1 e: g# @0 }) Q
Name := callfunc ('getsendertalent'); //获得玩家技能值
: ~) P+ [" K! `; I s nValue := StrToInt (Name); //转换变量类型$ G7 C/ L% {' M# P+ N$ c
if nValue < 2000 then begin //判断技能值是否小于2000
9 i9 Y, Q+ _/ w( ^6 d print ('say 想转职的话才能值要达20.00以上');
3 X, U7 s' G; v3 h exit;
+ b6 L5 C6 h9 s; ^7 Z) Q end;0 z K+ d5 p# s7 W0 a0 A1 |
4、设定玩家为哪种职业
1 Y& t4 s# ]; A! k) ?6 ^% c# wprint ('setsenderjobkind 1'); //设置玩家成为铸造% ~0 O4 n/ O' P% o% r
5、设定玩家为神工0 h6 [; Y+ D8 R+ H
print ('setsendervirtueman'); //使玩家成为神工* a: P3 k' L' M% J7 H& ~
//====================3 B# y% K! h4 k
下面一起总结一下交易NPC6 q S; H* a: ^5 B0 q
交易Npc就是用到了'tradewindow 命令
4 N, v7 w) O% j3 m) m Name := callfunc ('getsendername'); //获取玩家名字
; v1 A0 ?3 B) c6 \( \; W; w' {: _ Str := 'tradewindow ' + Name; //弹出买卖窗口
+ z5 q/ e3 V/ {% g6 l Str := Str + ' 0'; //如果是卖,那么类型是0+ ?2 ]; c* G) G. `3 s) Y
print (Str);
( C6 L6 o" B/ ?% m# g* n0 W$ e# B/ {* [* h" F, o. v: \/ V/ W) ^
其中0,1,2,3,4代表什么?代表买卖的类型
( k. |4 B" p% `" a7 G% c. p, m8 k8 v1 \5 t y h/ i* {% Y- H
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
6 D$ L" ?5 n) Z1 m! ?0 |: B9 @5 n" x |