其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
3 V, z# b$ }( A( j \+ D: L2 c1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能. ?: p# ^5 k& m+ Q1 ]6 \5 e
Name := callfunc ('getsenderjobkind');
! F/ b7 _! m' qif Name = '1' then begin
$ ^. _4 ]9 Z. h m; j) v( b* X% R# ] print ('say 你已经是铸造师了');* W( S$ ]- l1 ?9 {/ G+ q& [' V4 I0 W* E
exit;& R# f# h3 q1 w0 n$ k5 ~% g7 @
end;
% ~' [( G6 I, p* `2 t3 S; b
6 F: E) f* m j7 [8 b2、获得玩家技能等级
% i, |' `! d6 t- cName := callfunc ('getsenderjobgrade'); /获得玩家工作等级
: A( M. f/ j8 M//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工3 s! J" ?2 Q6 e9 V2 F
if Name = '6' then begin //如果是6级那么' k5 h1 J0 ?* H0 F1 G- U4 x
print ('say 你已经是神工了');7 @# }/ m: U4 O; Q1 \ x8 {' }
exit;
~2 R- R/ Q9 |* S end;$ W. ?9 y. r) G0 \, h
3、获得玩家技能值
( u9 t% c9 F: P Name := callfunc ('getsendertalent'); //获得玩家技能值! x5 P( O: M/ c- q) p, G
nValue := StrToInt (Name); //转换变量类型2 r' ?1 L; ^& t) I9 \7 o- B
if nValue < 2000 then begin //判断技能值是否小于2000
+ e0 I6 J6 H( { print ('say 想转职的话才能值要达20.00以上'); , n: P7 O) N! @* l U8 O
exit;! O$ a8 [# M& l) i$ Q* b: N2 e# p
end;
% r$ w7 U2 c# a7 H( z2 `4、设定玩家为哪种职业. U4 Z1 g! h, Z0 B! Y
print ('setsenderjobkind 1'); //设置玩家成为铸造
. h" q# I$ U7 [7 L5、设定玩家为神工( {( A: x8 [5 V) k
print ('setsendervirtueman'); //使玩家成为神工
+ I9 @/ q7 O; l) f# K//====================
: x9 j. d) v$ @3 m& `下面一起总结一下交易NPC8 v0 K( }9 |* S5 q; e
交易Npc就是用到了'tradewindow 命令1 V2 d; x. s( c& u* G
Name := callfunc ('getsendername'); //获取玩家名字4 `6 {" M5 r! R
Str := 'tradewindow ' + Name; //弹出买卖窗口6 Y' O* U/ l7 j; v$ A4 H$ \
Str := Str + ' 0'; //如果是卖,那么类型是0
* A: {. @$ @- F9 `3 g# _! u: { print (Str);
2 [# n% R) ?0 L( P: D3 b7 Z8 _& M$ I
8 T8 @4 K, T( e6 s; \' C* u其中0,1,2,3,4代表什么?代表买卖的类型
: @/ @; W8 f) \1 @5 C" |( m+ z. S! v) ~' q a+ I6 R
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 U6 K; C+ L/ Z7 y: x7 Z7 A
|