其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看- f6 A3 A( t/ ^: f; ] F
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能( a& {! [6 ~) a3 c7 ~$ W
Name := callfunc ('getsenderjobkind');* }" l& c2 |5 Y3 B; @
if Name = '1' then begin
: x% {# q6 I* }4 O2 b/ @) Q print ('say 你已经是铸造师了');+ f5 @0 q+ |$ f$ ]* J- q3 g
exit;
: _! N4 G+ L! Q s1 y! W5 G) y end;
3 S2 C; }, w! C4 {
* c! Q* J% P. X8 b* Q. _2、获得玩家技能等级
3 T( I8 ^# m( \6 X PName := callfunc ('getsenderjobgrade'); /获得玩家工作等级# N5 x2 r; W* {; f3 B1 z% j/ H
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工+ W% _- x3 c: Z0 U, Z! _0 B0 L, P9 ]- i8 j
if Name = '6' then begin //如果是6级那么 @6 W1 K$ E* E' A8 i
print ('say 你已经是神工了');( ]' p' _ D6 f: J( P
exit;
* }6 v; h: L7 F- d L! t0 b end;
6 I1 Z- v" ]; D# p5 M3、获得玩家技能值# }+ Z4 ?% h( {, r
Name := callfunc ('getsendertalent'); //获得玩家技能值
; `* x- ?( B& b! b nValue := StrToInt (Name); //转换变量类型
. @- } Y' w8 d1 R" D0 W if nValue < 2000 then begin //判断技能值是否小于2000; ^7 V" S' P, m+ q( Y% g3 ]
print ('say 想转职的话才能值要达20.00以上');
5 ^9 n) m/ D* u% m! b' p3 } exit;7 u/ j% ~( h( \ U' b* Q0 K9 X
end;
6 c& I# O; r3 O- ~; o* A4、设定玩家为哪种职业
' ~- i" Z5 c* }3 ~% M7 Oprint ('setsenderjobkind 1'); //设置玩家成为铸造
6 I4 S$ ], O+ G' J/ l5 P. y5、设定玩家为神工* f& b0 k- X$ A( A, h
print ('setsendervirtueman'); //使玩家成为神工
0 ~; S' v0 f8 F( r//====================9 S: P4 s# \6 [& |1 A7 y. W! y
下面一起总结一下交易NPC
: B n7 H( e6 e1 H) c交易Npc就是用到了'tradewindow 命令
; @; z9 M" V7 K& Z3 Z7 ]* A Name := callfunc ('getsendername'); //获取玩家名字& s/ A2 \; k ^4 ]( f5 b% q9 h
Str := 'tradewindow ' + Name; //弹出买卖窗口
) o+ J& G$ m3 E3 o' Q U5 \ Str := Str + ' 0'; //如果是卖,那么类型是0$ G0 X; R2 S8 x; o, n m* ]
print (Str);9 Q( \, K9 w9 T& _, i3 F( m; r
! q9 r: C/ K9 \* e. v
其中0,1,2,3,4代表什么?代表买卖的类型/ M+ r& z, `8 o
! D: @+ J4 F8 ]1 M
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 , l! B- I+ g( f$ L
|