其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看0 i5 w4 d7 ^- f. T+ y, e
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
5 c6 X9 g8 M" eName := callfunc ('getsenderjobkind');6 q. }- Q' A2 G) n' w6 n8 r
if Name = '1' then begin8 x- u3 D" `/ {3 P
print ('say 你已经是铸造师了');
: w S: ~! z* n" P exit;4 g* y# ` ~, R3 \/ r
end;& v# w. b6 {$ b! R4 y+ x
* K3 R6 A/ j" C6 I* Y& C
2、获得玩家技能等级
# p& `+ D+ d+ NName := callfunc ('getsenderjobgrade'); /获得玩家工作等级8 V) v3 z. [$ w5 J3 D4 q( b: |
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
8 p+ I; }4 i, M6 R; D! _& [9 t" V if Name = '6' then begin //如果是6级那么
2 ]7 z- D# M* i% o9 h1 O0 t print ('say 你已经是神工了');
+ N- ^* W& ^8 L6 C6 V" l$ T' X exit;% f {0 h8 j e) V% h
end;- c# V/ ~8 H1 d( x' R* {
3、获得玩家技能值, T6 z5 D0 L Q5 i& J* X }4 M
Name := callfunc ('getsendertalent'); //获得玩家技能值) j8 F/ b0 r7 [: | I
nValue := StrToInt (Name); //转换变量类型$ \2 f: d( V6 [, Q2 ~2 @9 {
if nValue < 2000 then begin //判断技能值是否小于2000
6 D+ G' g5 X/ s print ('say 想转职的话才能值要达20.00以上');
7 R: o7 I9 u% |$ ~8 Y exit;% \& q0 J' f, ]% ^% a. C) }
end;
7 o2 o' ]$ d9 Y3 H4、设定玩家为哪种职业& |$ h5 a. S6 _5 G3 e* z
print ('setsenderjobkind 1'); //设置玩家成为铸造
% H6 B! u) F5 ^0 y& \5、设定玩家为神工
, g$ G. L) P" \9 H print ('setsendervirtueman'); //使玩家成为神工" ~+ V1 p% @4 }3 \
//====================1 l. ?9 {. N9 y: t- n& l' f0 T
下面一起总结一下交易NPC
6 d! I6 ?$ q) X2 c0 ~% E交易Npc就是用到了'tradewindow 命令 z! S+ g2 f2 q, E. Y: P$ @
Name := callfunc ('getsendername'); //获取玩家名字: s+ C' a1 \' R' o" R- W5 ]
Str := 'tradewindow ' + Name; //弹出买卖窗口
2 f1 v3 }& |5 o( D0 t8 o; I Str := Str + ' 0'; //如果是卖,那么类型是0, \7 y7 n& F( J5 l( k2 S% ^
print (Str);* h: G/ H4 G [3 Y7 e: L
4 p8 V D& O) F! Y+ [其中0,1,2,3,4代表什么?代表买卖的类型
( y* s1 P* G; q2 l- ^
; o! j# Y. W E8 Z* s0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
# A; x6 S: A4 u& b F7 {4 I |