其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
3 @2 l! z, u: [' [# W w# e n1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能0 \9 c) }" u& B$ [1 A
Name := callfunc ('getsenderjobkind');
3 F% ~6 ?- `; `; N, _( w3 ?' Dif Name = '1' then begin
4 B* b# s. l; A! t. J/ O( l print ('say 你已经是铸造师了');
. p/ U" b! e8 a8 A: [& [4 ~' b exit;
2 k; S" D) D* H* ^8 s end;
7 P, r: k, g0 H: I, T3 ?% \- f! `" |
2、获得玩家技能等级! s" N$ o# \) c2 ]
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级
1 U* o) t9 C1 e+ o2 F7 w+ k5 L//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工 R; U' L/ V( l. L6 I% t' F M
if Name = '6' then begin //如果是6级那么' ?( p2 F# d% \
print ('say 你已经是神工了');* j: T: U8 z9 |- `% B8 U
exit;2 s* x7 d; r2 o' T6 v( J; Z6 ~, m: C
end;. W( c6 b7 n7 P0 G) ?5 w6 e
3、获得玩家技能值
3 v5 C) I1 v9 P2 J8 q Name := callfunc ('getsendertalent'); //获得玩家技能值+ r% F" C% R9 f8 G9 I9 R# m- s
nValue := StrToInt (Name); //转换变量类型, I, y7 B6 I3 i. g2 y/ ~# D T
if nValue < 2000 then begin //判断技能值是否小于2000 S2 z7 T. G5 S
print ('say 想转职的话才能值要达20.00以上'); * F' {0 r% w' E# H5 R
exit;% l1 V7 j: j0 c( z, J) D; s
end;
& f% Q7 x7 q: @- o4、设定玩家为哪种职业. `( |& ]6 m5 C; g
print ('setsenderjobkind 1'); //设置玩家成为铸造( H: l* V( T5 S" m/ [! i
5、设定玩家为神工
) s! S) G8 y9 c( n print ('setsendervirtueman'); //使玩家成为神工% s3 w- }1 L7 q3 g! K' S( z; n
//====================# e' F5 i n. o5 N
下面一起总结一下交易NPC6 O% x8 Z# {1 O1 {, `
交易Npc就是用到了'tradewindow 命令
1 }1 I. k9 ^$ a/ S Name := callfunc ('getsendername'); //获取玩家名字
- S" B( C$ X1 z- j4 g$ t/ V: k$ d Str := 'tradewindow ' + Name; //弹出买卖窗口
) t$ ^. s7 N6 w9 D& t; ?4 q Str := Str + ' 0'; //如果是卖,那么类型是0
$ j7 g% U; o7 c4 c print (Str);
y: d7 ^8 V: r! e' H' ^: `7 _* e
6 {0 J5 O* f" J0 \. t4 ^& ~其中0,1,2,3,4代表什么?代表买卖的类型
, e# v7 ^* }5 u) _ ^
! W+ ~, {- T3 _ q: P0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 1 f O/ X0 z, ^/ x
|