其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看* D' i/ o3 z( U; h- o
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能 f/ F% b9 c8 Z7 J( i1 N
Name := callfunc ('getsenderjobkind');' }/ B% V5 {5 j
if Name = '1' then begin
T3 M' x* P8 `% v( Q8 ?. b; I print ('say 你已经是铸造师了');+ o0 b8 j, y4 {
exit;
" B/ M0 c/ L ^: A, M; i, F end;
8 a: T* h3 k6 i5 T9 k" z$ e( f& D& \: q7 M O
2、获得玩家技能等级
* ]8 d3 {) j' A. \8 ^Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级4 v% d3 ~$ x# o5 ?
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工* G/ |4 J" `! m% j0 K2 S
if Name = '6' then begin //如果是6级那么
4 v& L8 K! a1 d9 D2 u% ^3 P print ('say 你已经是神工了');
+ y1 ~ M X; _8 d5 g( R exit;
% F9 |; m* R# N( c7 i end;
- f3 K) \" |/ \4 S5 f J4 |2 F ~, s3、获得玩家技能值! b4 ~8 T; j* g' A& c( I' [% {
Name := callfunc ('getsendertalent'); //获得玩家技能值
/ `! x$ H& Q; [ nValue := StrToInt (Name); //转换变量类型) J2 O6 U" {1 J, @! E2 B% }9 a
if nValue < 2000 then begin //判断技能值是否小于2000
% S& h4 p# t A7 L6 q print ('say 想转职的话才能值要达20.00以上');
- s; q3 }7 T+ X! u7 R3 R exit;' B& w6 F% W7 p/ j, A' X& R7 r. k
end;
8 c3 ~+ J' ?% v0 ~* V. k6 G# Y4、设定玩家为哪种职业
0 [9 q% G; r o% L1 p: lprint ('setsenderjobkind 1'); //设置玩家成为铸造
$ u9 c. C! y+ m* P0 T( L: h5、设定玩家为神工6 w) O9 k% ~0 z7 Y1 U/ B7 I* E
print ('setsendervirtueman'); //使玩家成为神工
2 I, o1 t# o" u, d, r//====================
+ Y2 K3 N* n6 i- r下面一起总结一下交易NPC. X+ l. D* u# s' J! S
交易Npc就是用到了'tradewindow 命令
& o+ ?9 ~' y1 P$ b Name := callfunc ('getsendername'); //获取玩家名字
; D2 B4 Y2 Q0 @' y8 J |" x Str := 'tradewindow ' + Name; //弹出买卖窗口1 L0 |; U9 h3 _1 n: Z9 n. T* @8 _
Str := Str + ' 0'; //如果是卖,那么类型是0: T5 C/ F% k+ r" x+ z/ i
print (Str);! B0 F( B( j( ]
3 D* L2 _) g$ O
其中0,1,2,3,4代表什么?代表买卖的类型# I* a" j/ i. F" T% R6 B3 \ u
9 r1 Z: ^# H2 O# X$ g0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
4 Q! Q7 {1 K8 m+ n6 G5 ?3 Z' [ |