其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看7 C. K6 V# i- ?. Z4 G1 @+ z
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
$ k9 L9 [. N. Q$ \7 K1 e QName := callfunc ('getsenderjobkind');$ H: Y: y7 E u3 W
if Name = '1' then begin- e% l3 ~- Y; d* v. C. t
print ('say 你已经是铸造师了');* T/ }3 y6 p1 D9 S
exit;: x1 p3 `9 L" Q; n6 ~! ~( D! _
end;
6 G7 D: P t, z* R
8 j3 q [. b- N/ |1 ?( R& m2、获得玩家技能等级; _6 L5 K- [0 l! w; c
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级
; O0 J, N: R0 e; ^//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工# Q0 y; Z8 C) L6 q7 E. `
if Name = '6' then begin //如果是6级那么
4 d" t, |1 E; E4 k* S, Q print ('say 你已经是神工了');
9 m. u/ C- k( }9 T; [, L; y exit;" j" U% N: d+ u4 q7 f
end;' A9 r. q* Y2 D: |$ c
3、获得玩家技能值
$ F2 X3 L4 `, _& e. ` Name := callfunc ('getsendertalent'); //获得玩家技能值: y3 t! l }" m6 ?" T
nValue := StrToInt (Name); //转换变量类型6 n. i1 i' F/ P' I# p( s) R3 M* |
if nValue < 2000 then begin //判断技能值是否小于2000
3 Q( @: X' B5 y print ('say 想转职的话才能值要达20.00以上');
}4 A/ y: d( h5 H exit;
% R* F$ F5 x) i6 L3 ` Y+ q end;
' Q8 \7 U! t7 R& H* q2 Z4、设定玩家为哪种职业7 O, }3 V. V4 x4 x9 H- b" q* ^) G. {
print ('setsenderjobkind 1'); //设置玩家成为铸造
' }7 ~9 w! X- \: [; o; J: m. ?5、设定玩家为神工! L* G7 O/ v; @$ ?
print ('setsendervirtueman'); //使玩家成为神工2 ?. R. ?6 I& n- T
//====================$ V+ c( m8 Z" Q5 d& ]9 d
下面一起总结一下交易NPC% h; y( p& U) Z7 o
交易Npc就是用到了'tradewindow 命令! [! L( x" S* A* }# Y/ X
Name := callfunc ('getsendername'); //获取玩家名字
% F6 J! L! ^" M5 b. M9 E Str := 'tradewindow ' + Name; //弹出买卖窗口3 `$ a( c: Y/ D( D; _
Str := Str + ' 0'; //如果是卖,那么类型是0
0 ^2 c- F+ h4 F/ I print (Str);
+ h% Z# ^ B. j4 H# |* N/ z+ O( u( {% m: t7 s
其中0,1,2,3,4代表什么?代表买卖的类型! r1 y( D' w: ]' N8 {
2 [0 |! s) S& ^ o" |: b e
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 ! M- O9 ?3 u$ {9 `* g; T+ ~; Q' z
|