其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
" z4 a4 M' L2 O, J$ T/ J9 T; Z1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
9 A9 d; D' T' J2 `, [) jName := callfunc ('getsenderjobkind');% Y# |% T' h3 S+ y: ?
if Name = '1' then begin# ?: ?7 ~- N6 [
print ('say 你已经是铸造师了');
2 W: N: A( q8 y9 ?, ^! \0 D6 V exit;# h- X/ A& V- N: a& P Q+ r) o
end;
! [' ~, L, E. B9 s/ w4 ]* \, K% f! ^) {) ?
2、获得玩家技能等级
$ \: A8 a, Y( B$ q3 |. a+ }Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级7 E; ]7 D; Y8 K: Z2 t
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工" p' S" `7 k: _: V2 Z9 O h
if Name = '6' then begin //如果是6级那么
! ^$ o; _9 q% g3 a print ('say 你已经是神工了');7 ?) a' \2 ^7 y! |8 f
exit;
$ N/ R/ u. g1 C/ a: Y' j end;
$ l, D/ h; N* ^' n1 O/ H) c3、获得玩家技能值: B) I( _$ u3 m# t9 A, ~ U
Name := callfunc ('getsendertalent'); //获得玩家技能值
9 O/ U6 p; J) L" n7 o* V7 T | nValue := StrToInt (Name); //转换变量类型
' l+ d/ y5 B+ ~8 a5 Q if nValue < 2000 then begin //判断技能值是否小于20009 E, f/ R# K2 P! B. J" I
print ('say 想转职的话才能值要达20.00以上'); . c6 r0 D0 O! n$ D: j$ s
exit;
* ~, K1 ~ b+ K* g end;
7 v: F& C4 P: f4、设定玩家为哪种职业1 i; w2 T, I7 Y, X1 c* r
print ('setsenderjobkind 1'); //设置玩家成为铸造
: s- f; W& x" ]; D/ e5、设定玩家为神工
$ S- m# a# r, `/ s0 I print ('setsendervirtueman'); //使玩家成为神工
% q- g' f$ U7 \6 g' Z6 V% \0 M//====================& O) t. _9 T& z+ j) w; a
下面一起总结一下交易NPC
) ?9 h9 ~: J' j0 R交易Npc就是用到了'tradewindow 命令
9 |' M" c# ]. Q Name := callfunc ('getsendername'); //获取玩家名字+ s$ F5 S% h5 @4 h5 y2 f
Str := 'tradewindow ' + Name; //弹出买卖窗口* m! v1 Y; u1 V8 I9 S" N$ U
Str := Str + ' 0'; //如果是卖,那么类型是0: M; V8 n k% w( \8 f0 Q9 ]
print (Str);6 Q8 [% A. ?; r( Q& A
. D- b, ~& ]$ H
其中0,1,2,3,4代表什么?代表买卖的类型, x p2 M0 e1 a' E" q% J
1 U1 N- d: M/ j) f
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 9 H) x3 k; z1 M' T
|