其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看1 V: S1 v% X( |! E$ G
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能2 w P/ _! J h: i+ ?0 R
Name := callfunc ('getsenderjobkind');
$ ], h* T( X; O' f, c8 u" w2 wif Name = '1' then begin
' A* h% o7 p, H; P% u" f; k6 ?( Y, y print ('say 你已经是铸造师了');$ p; `+ {+ C Q' w9 Q
exit;# ~) m! Y2 Q) H e) r
end;6 [' k, i7 g Z7 {' h4 S! |5 U
& Z5 }( N- O, n- n+ U5 M* ]: h! b. S2、获得玩家技能等级
' D# l( c+ g7 MName := callfunc ('getsenderjobgrade'); /获得玩家工作等级
: \0 L, S6 L3 B; K, g0 f//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工* D' o- V& D. ~- G) w
if Name = '6' then begin //如果是6级那么
& [; T9 @' c* e8 O, X1 k* C print ('say 你已经是神工了');
. J. h7 B; `4 K% f7 y exit;
9 m& _) n% `1 [2 n9 s/ Z1 X end;
$ x# B' `2 c# T" G) H0 v! N9 ]1 ^8 K0 {3、获得玩家技能值
6 N5 |+ d3 [8 v" p5 r4 h" { Name := callfunc ('getsendertalent'); //获得玩家技能值
7 J5 q0 {; ]/ \# u6 t3 R3 G k nValue := StrToInt (Name); //转换变量类型! B4 `; R& i6 X) F
if nValue < 2000 then begin //判断技能值是否小于2000
. S' ~- b. z% c9 {# U# R print ('say 想转职的话才能值要达20.00以上');
, ~ z0 D3 q9 [6 H, z; _ exit; Q$ d3 L. j! J) J$ ~
end;# {( @: l, e8 f0 G9 r/ ~2 y! D! y
4、设定玩家为哪种职业 @- S; L3 S. N- Z
print ('setsenderjobkind 1'); //设置玩家成为铸造
" F# L& ^ H' m0 K* `0 [! L- L, ]5、设定玩家为神工
" E$ J! E9 P8 g; c9 W Z print ('setsendervirtueman'); //使玩家成为神工
- V5 }9 _! @( m& b$ q//====================
# b8 S6 I/ K* x/ B/ N- s3 Q3 ]下面一起总结一下交易NPC
+ i% D$ u. M+ H, ^. v0 G+ N% L交易Npc就是用到了'tradewindow 命令% d. Y8 W/ z. R4 M) n5 s! w
Name := callfunc ('getsendername'); //获取玩家名字
- \2 p9 W4 C, S, ]* _ Str := 'tradewindow ' + Name; //弹出买卖窗口0 u( C6 z% B3 F5 Y9 |
Str := Str + ' 0'; //如果是卖,那么类型是0
, G; y5 m2 n, R9 Z2 z8 t' { print (Str);
+ _! Z# \: r; m$ {, u
! ^0 P0 |0 ]% k6 C/ P/ q其中0,1,2,3,4代表什么?代表买卖的类型
% R2 {- p) H& l; E/ @9 I6 L2 {
/ U+ E2 ?9 [& ?& N ]4 `0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
( n8 m: l5 X; m. f |