其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
2 K( N' l; x+ D8 `5 n1 H( U& C1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能 {7 ^ W# L/ J6 r1 ?
Name := callfunc ('getsenderjobkind');
7 s: S4 q- s& t; [. A( }' D( \( Hif Name = '1' then begin
/ q" C& k% ]9 Z8 t) }- V print ('say 你已经是铸造师了');3 L t) R/ {5 t1 Q% X6 U
exit;0 u. r+ f! v* {
end;9 c+ N9 h3 }0 M2 ^6 `! f1 T
5 C1 M/ v/ a( v$ E+ l0 I1 R
2、获得玩家技能等级 f: R/ X8 b/ V6 _& g- }
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级
q& C/ T+ `2 i# |6 |2 N; U( d/ z7 V//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工# R5 {8 H0 @& C4 P, r0 W9 z+ m
if Name = '6' then begin //如果是6级那么
. C$ s9 ^' P. X' X3 p( P# S; E print ('say 你已经是神工了');8 U' z, @4 ?1 z1 j4 m$ Q
exit;
. I5 T2 G0 [$ C6 N end;. h; p9 U- T; y0 l
3、获得玩家技能值
( M. m0 c" ]$ b2 u2 K% o: H# y Name := callfunc ('getsendertalent'); //获得玩家技能值
; c- j. U o& u4 \/ u9 V8 t: Z, s nValue := StrToInt (Name); //转换变量类型
) o- z7 H( y' b4 P* Q7 B if nValue < 2000 then begin //判断技能值是否小于2000; c( R( L" F$ a! @% f& x) {7 z
print ('say 想转职的话才能值要达20.00以上'); , W' V* c2 @$ \! {8 z
exit;
: Q4 N6 O- Q- \$ i4 [ end;& A% ?% V: _7 |. r% G
4、设定玩家为哪种职业
9 t; h7 [+ ~; [2 {6 |print ('setsenderjobkind 1'); //设置玩家成为铸造
6 T6 R( G3 w; z# I. z Q1 G5、设定玩家为神工
7 e0 O# `% l0 m print ('setsendervirtueman'); //使玩家成为神工
, q2 \4 G; d4 \. f5 [: @//====================
4 a3 N3 V0 f& [2 F: [) w下面一起总结一下交易NPC
5 ^" Z( A- C( x4 f* w! H S! c交易Npc就是用到了'tradewindow 命令
3 X- ]1 M& H5 R! q3 L1 z& `5 T5 N Name := callfunc ('getsendername'); //获取玩家名字& o% N" N5 e. ]
Str := 'tradewindow ' + Name; //弹出买卖窗口
9 {( ?* r0 z& A/ | Str := Str + ' 0'; //如果是卖,那么类型是05 | v, S8 e: `& O9 x. B
print (Str);7 i+ j0 N! ~' ^! g3 N. d. q, P
' `- z8 v$ N/ g4 y9 M其中0,1,2,3,4代表什么?代表买卖的类型
5 X3 G$ L$ ^+ `
: ^$ ?' O6 {7 Z0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 $ j6 Q2 e4 a4 S5 P; w, r1 O9 B
|