其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
: m( j& G# B9 B, V5 y1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能( k( K( X7 c$ l# R
Name := callfunc ('getsenderjobkind');
; P/ m3 u' ?1 u, D) U9 k" ]' Aif Name = '1' then begin5 Q9 w, [& V! Z* v, Y! B
print ('say 你已经是铸造师了');, @- F j3 D$ e' n
exit;$ h6 o! j5 l; u O5 j% }/ g
end;2 m C# E+ u" ~* C
' t' m3 T. t" r) {1 L2、获得玩家技能等级
2 m2 [; O& Q3 B0 W) ~0 jName := callfunc ('getsenderjobgrade'); /获得玩家工作等级
# q! k1 Q2 ?$ ^, U2 {/ N' R3 d9 m//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工, z ~1 q0 D* r$ q% b6 B
if Name = '6' then begin //如果是6级那么
& T8 z& a4 y0 k3 V$ h! U a print ('say 你已经是神工了');8 [$ C3 ]% g. ?7 B
exit;1 w [" Z( E3 e3 j% f2 O* G0 g( L# w
end;6 R2 \& M1 r- t" n
3、获得玩家技能值
$ h: U7 i$ D# ^0 Z& A9 Z Name := callfunc ('getsendertalent'); //获得玩家技能值+ s; y4 O O2 M ~+ Q
nValue := StrToInt (Name); //转换变量类型8 y) K3 x3 ^- {" C& N9 e5 t# C
if nValue < 2000 then begin //判断技能值是否小于2000% R% A/ V0 S. f4 r" `
print ('say 想转职的话才能值要达20.00以上');
7 H, C% o$ Y |, {3 e m exit;
5 o/ P( D8 l) h5 @( d9 Q; i: @ end;
% Q9 z# u' Q( {- R4 @4、设定玩家为哪种职业0 W& s7 k# E# V, h
print ('setsenderjobkind 1'); //设置玩家成为铸造2 T+ y/ g$ q: E: j/ I
5、设定玩家为神工
3 g( b) `$ Y# J" [' Y% D, | print ('setsendervirtueman'); //使玩家成为神工6 U9 a- S: b* l. R0 ^3 U. p
//====================. j" }2 O' m4 g. d
下面一起总结一下交易NPC. k& H* m- x% R6 L& v G, s
交易Npc就是用到了'tradewindow 命令, p! Y* m0 P; [2 t
Name := callfunc ('getsendername'); //获取玩家名字
3 ?) q. B, U; E3 X Str := 'tradewindow ' + Name; //弹出买卖窗口3 C$ F2 n: s1 d- H2 m! p% ]3 [
Str := Str + ' 0'; //如果是卖,那么类型是08 g% J% L) k1 Z d1 c8 a# H
print (Str);7 K' ^6 _1 Q3 a( i8 c
0 y3 d! f* r; N2 ~其中0,1,2,3,4代表什么?代表买卖的类型, W! S% d U; Y! a5 N
) \! @7 d! T0 m! N& t
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 2 T( U+ N4 r7 f
|