其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
, z3 h- ]5 T# f" L1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能$ l* O) U0 A9 V$ M
Name := callfunc ('getsenderjobkind');
: f% f4 I" M7 v# s+ _: Lif Name = '1' then begin) D6 Y7 s' K& i0 ~! n, Y% u
print ('say 你已经是铸造师了');! L* k6 w. M0 y: B0 Q# \
exit;& R% N# q* M- D1 p* X6 E
end;- Z6 S) \4 B5 T. g
0 e' c. b3 P Z |# O
2、获得玩家技能等级
( B# i/ k9 |1 R/ d! l7 F8 VName := callfunc ('getsenderjobgrade'); /获得玩家工作等级
8 W. ]; P f+ b; b/ f& Y5 a+ y//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工) R7 A8 G- F# Y" ^9 x. R b* u4 u& m
if Name = '6' then begin //如果是6级那么$ [% T9 J; e/ N4 ] a
print ('say 你已经是神工了');
/ s2 w) A, A( E% m+ R1 p6 f exit;
0 C5 P8 v) h% r- J5 m' d2 u end; @6 f% g0 a' r2 ^1 P/ J
3、获得玩家技能值0 d6 F& d1 v4 W2 e7 B
Name := callfunc ('getsendertalent'); //获得玩家技能值0 R% y! T8 d( b3 O% M' {: h G
nValue := StrToInt (Name); //转换变量类型' `. g9 f3 V8 j" v
if nValue < 2000 then begin //判断技能值是否小于2000; D/ C3 e( P6 s+ [) X l1 {
print ('say 想转职的话才能值要达20.00以上'); 5 m$ `* m" o* K) k( Y! h# U
exit;$ S1 Y% B' o9 e. q- ?
end;: ~" \2 k) i0 J- i8 C/ J$ W% J
4、设定玩家为哪种职业8 j& S E( j% l. j& i8 F0 \4 ~/ @ K
print ('setsenderjobkind 1'); //设置玩家成为铸造 o3 E1 y. u: R- N" a
5、设定玩家为神工. @- |) f' n2 p/ V" g3 z+ k; h
print ('setsendervirtueman'); //使玩家成为神工: z" z7 v" ^: p6 p
//====================) c/ @2 ?1 e H, h- k2 k7 Y
下面一起总结一下交易NPC
) J& b8 t. M, k交易Npc就是用到了'tradewindow 命令8 ~" B5 U" k- p$ K; t
Name := callfunc ('getsendername'); //获取玩家名字% G% P @% A% L0 o9 V
Str := 'tradewindow ' + Name; //弹出买卖窗口
7 f. S0 W' m& B Str := Str + ' 0'; //如果是卖,那么类型是0
) h9 x* d: `6 ] print (Str);6 C) `/ t* J: l0 {
* m- j$ T6 D" B$ r+ Z7 e& C4 a
其中0,1,2,3,4代表什么?代表买卖的类型
& ~0 F0 o- r" x/ W, V4 z8 g! a- n' r$ S& W1 e8 R; a
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
8 v# `0 z* i. v- U% @ |