其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
) W/ D- i+ h O7 u1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
8 A! y7 K7 Q* h P' mName := callfunc ('getsenderjobkind');
5 W1 Z$ e2 o+ y6 b' f4 |if Name = '1' then begin
" A( f6 y- P) U* X+ w( s% d print ('say 你已经是铸造师了');5 D& g$ w! y& }5 Y2 Q
exit;2 W/ Z$ u, C: f/ Z
end;
/ u1 v" D0 w* p+ |3 E" x6 h5 _9 d4 ~* E" i
2、获得玩家技能等级
0 I* |0 F1 ~2 K& I' |; ?Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级( V5 ] L% j' Y1 o, G0 i! h
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工3 @* r3 Z, L/ K6 b J: b
if Name = '6' then begin //如果是6级那么
- K7 q; l" T- w/ N4 W print ('say 你已经是神工了');! @) N! H |- F) c4 x" O" d
exit;
' x1 W4 |2 X$ G1 A7 V' r% J; W end;
( a2 ~$ Q" ^3 [. O8 }3、获得玩家技能值
" {, y) g7 U' O" i1 Z: E Name := callfunc ('getsendertalent'); //获得玩家技能值5 z( t- R/ I" {7 B1 A7 |5 h
nValue := StrToInt (Name); //转换变量类型+ {/ T, B' }1 ]* c R8 e
if nValue < 2000 then begin //判断技能值是否小于2000; o" I4 u* g" H( s" i
print ('say 想转职的话才能值要达20.00以上'); / i# W: i8 _3 F/ g' t$ G$ G
exit;
" E2 y# X o$ W7 Z. ~/ T+ ? end;
3 _) o8 l4 S5 K. n4、设定玩家为哪种职业& |) H, n9 n; q! t
print ('setsenderjobkind 1'); //设置玩家成为铸造$ \9 v3 Y0 ~# q; Q
5、设定玩家为神工
0 V. ?0 w% N! u* O$ w print ('setsendervirtueman'); //使玩家成为神工4 d6 ~3 V+ K; u2 P0 ?
//====================
: r3 R7 K' f' Z/ O. z1 g下面一起总结一下交易NPC) [7 _+ t6 R1 _/ {% k% v7 S
交易Npc就是用到了'tradewindow 命令1 d$ o/ F% L5 u I; v0 C
Name := callfunc ('getsendername'); //获取玩家名字3 _. U3 K8 L0 }" @% t ?$ ?
Str := 'tradewindow ' + Name; //弹出买卖窗口
0 q5 J. R4 {' J$ I8 l# Y0 r Str := Str + ' 0'; //如果是卖,那么类型是0
2 F9 a, w4 k) W S/ X print (Str);. P$ \& a) ~& b6 m9 D/ A
3 T& a* Q8 b! D. `
其中0,1,2,3,4代表什么?代表买卖的类型- s5 d8 I& ~3 z
% m, H, A- }" i
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
: a1 w3 U) G% D3 y |