其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
G9 r$ V# ?* H, F5 C# X% n1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能/ U) K/ K2 U* O9 l9 o# Z2 e
Name := callfunc ('getsenderjobkind');
5 E: a* Y% a6 F9 Y2 _4 |if Name = '1' then begin
; p; d% r( H8 r% h# W print ('say 你已经是铸造师了');+ E1 V2 d: y, V7 h& H
exit;
, i7 c# E1 M5 P4 A end;& v0 N5 n. D- Q
' h% k6 I9 R; f0 ?6 t: U2、获得玩家技能等级
2 t, v, t" e& R+ E* H+ MName := callfunc ('getsenderjobgrade'); /获得玩家工作等级0 b6 i$ R q% |. C
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工8 o3 t3 m; D, h* o' t' y
if Name = '6' then begin //如果是6级那么
5 `) W+ C8 n/ e print ('say 你已经是神工了');
d6 T' @7 {# R% `+ g$ s( R exit;
* e+ F# C, l& w end;
' c" _- g' |2 u: A% t4 h m3、获得玩家技能值
4 {* n3 `8 o5 B( H7 s& B+ X Name := callfunc ('getsendertalent'); //获得玩家技能值
/ A1 W5 E3 ^5 B1 F8 T' M. a nValue := StrToInt (Name); //转换变量类型
( A7 ~2 O9 l- G1 N# U! b$ u# w if nValue < 2000 then begin //判断技能值是否小于20002 P3 a7 b+ k' L1 B1 r
print ('say 想转职的话才能值要达20.00以上');
* v3 k- e9 |& |$ k2 y- S exit;( [0 d) p0 r) r. e
end;
8 C. i% E* q$ h9 ?- c4、设定玩家为哪种职业. Y, [! L1 `' o2 N) W! V9 [
print ('setsenderjobkind 1'); //设置玩家成为铸造( B/ g) l& B- O" X6 ~# ?( k8 ?
5、设定玩家为神工
9 Y5 l1 P; p2 A- o- h print ('setsendervirtueman'); //使玩家成为神工0 V- X( P3 w( V1 B. ]6 v
//====================8 Q! d/ K- v- W. c
下面一起总结一下交易NPC* q& ~4 N1 j5 n" y2 l: t; S& M
交易Npc就是用到了'tradewindow 命令
" a7 q3 D; }. E9 j Name := callfunc ('getsendername'); //获取玩家名字
" a6 J. s3 w9 M5 U Str := 'tradewindow ' + Name; //弹出买卖窗口/ K5 \. ?! n. A0 S
Str := Str + ' 0'; //如果是卖,那么类型是0% J6 | C) I4 ]2 F
print (Str);
& d, O, c9 u( i B$ ^6 _) b% F( J# a; Z7 T( [8 K+ p6 l. `
其中0,1,2,3,4代表什么?代表买卖的类型& K) G$ g6 x0 u( l) V
2 D2 i0 f% p9 Z$ L8 w6 t0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
4 `1 T# ] c4 _: f8 p |