其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
/ e- j/ H1 D# R# e" f! D. c5 r, P1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
: S2 X2 R8 \, M* Y0 D5 qName := callfunc ('getsenderjobkind');
% u+ P2 I8 L1 F% B2 n4 a6 O4 mif Name = '1' then begin
9 u3 P% Z6 f M n* ?* L print ('say 你已经是铸造师了'); p- f5 Y/ N6 o: w
exit;
* F6 A d8 b% Q+ O" X4 N$ x end;
. u& `# L* F, d4 B7 ^
5 `8 s- ~* ]9 O) y9 {- P7 `4 M2、获得玩家技能等级
5 u0 k* p" l) }1 K; JName := callfunc ('getsenderjobgrade'); /获得玩家工作等级3 v! w9 Y; R/ ^ d( d" Y
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
% @1 t1 }# g. u$ u if Name = '6' then begin //如果是6级那么
7 @% N7 `# h9 s* E2 ^. g& Q print ('say 你已经是神工了');
D' o; t! n. c5 j7 p& ]( o( P2 A exit;$ U$ K. N; K+ s3 l# J
end;
2 X6 j/ N) ?' i C$ h0 b3、获得玩家技能值0 |$ o; k, ~2 d( \
Name := callfunc ('getsendertalent'); //获得玩家技能值
; z) E0 {: N' l u* v/ t8 T% f nValue := StrToInt (Name); //转换变量类型. g4 I! |! J1 C* ?/ u
if nValue < 2000 then begin //判断技能值是否小于2000
" E- z- p# J6 I/ M! p print ('say 想转职的话才能值要达20.00以上');
g4 G, G) U4 p3 q$ u exit;
1 V6 b% U; ~5 x end;
: C6 G9 _) b9 A" f4、设定玩家为哪种职业! j( y/ n* q( p2 U$ R# F
print ('setsenderjobkind 1'); //设置玩家成为铸造/ z$ g d/ G1 s) n- f
5、设定玩家为神工$ u! a: ~$ G& ~# X2 ~
print ('setsendervirtueman'); //使玩家成为神工1 J8 H1 [! e+ w* Y, q. D
//====================( Y% {( S% B' l w) T; e/ U) c
下面一起总结一下交易NPC
9 }- g5 Z# E, r# W+ g交易Npc就是用到了'tradewindow 命令- Z, j( z0 S6 K; D% A
Name := callfunc ('getsendername'); //获取玩家名字
8 \) u- w' k3 M$ X) ` Str := 'tradewindow ' + Name; //弹出买卖窗口9 L9 b$ N) @5 G. E J
Str := Str + ' 0'; //如果是卖,那么类型是0
) U3 m/ y. q: w! D, h: h8 T print (Str);
6 c; W) i% t9 k) L. U9 w
2 V' X3 w0 j0 g; |' y. l3 F其中0,1,2,3,4代表什么?代表买卖的类型' v5 a$ H. B& m* n% h" {
9 c" e- V: d1 d8 |% ]6 J/ [
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 2 W7 V- d: Q" c) V- R4 n# P
|