其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看8 N( {. y; j& v& h# ^
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能1 t! @9 L6 {# C
Name := callfunc ('getsenderjobkind');
. P2 E3 h2 u( d- rif Name = '1' then begin
: A6 H! L: U4 r4 O( q( R& @0 a print ('say 你已经是铸造师了');5 h3 K Y( K7 v& u, \" k
exit;
8 T, h. l5 R& ]4 t+ ^ end;
! n$ c$ l$ N2 ^2 [& t* Y6 M/ |( ^5 u! ^' |' u0 K& S2 v
2、获得玩家技能等级! V5 V1 d1 _+ k" i
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级
+ {1 S1 C- h( D# {* {; R! A5 E//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
9 W- q1 T6 s8 s- V' m if Name = '6' then begin //如果是6级那么
0 ~$ H9 {1 k, b# \ d print ('say 你已经是神工了');7 I& m% {" v4 R
exit;
9 X7 U4 V: Y2 @, b! G+ V) ] end;' H) h( l* D+ V! L2 s
3、获得玩家技能值1 E( L: @1 v7 |) F, N$ `
Name := callfunc ('getsendertalent'); //获得玩家技能值2 o; o1 b* Y) c) w. d5 d
nValue := StrToInt (Name); //转换变量类型# u% z% H/ e1 X, ]. W( y% _; c
if nValue < 2000 then begin //判断技能值是否小于2000
1 G% P F. u( t/ {$ w print ('say 想转职的话才能值要达20.00以上'); , n( X( n8 x! G" C _* ~) k
exit;
- b$ g% l, e" N# H$ h2 |4 y end;
3 X$ \( r* |' G# Q! ]4 B4、设定玩家为哪种职业5 V% l z Y- e+ V$ F7 K# I
print ('setsenderjobkind 1'); //设置玩家成为铸造1 u. M* \* q+ B' g+ {, ]/ H
5、设定玩家为神工- d7 ~: l; x5 V/ B( t
print ('setsendervirtueman'); //使玩家成为神工
* x- P9 Z! s; O//====================; f, ?7 G# _) j) ]% A
下面一起总结一下交易NPC$ r9 k+ e& A# ?) ]- j9 A3 z
交易Npc就是用到了'tradewindow 命令5 F$ {, ?- n- U% u" u6 S, i s
Name := callfunc ('getsendername'); //获取玩家名字6 e I; ^% ^. R7 R) J$ m
Str := 'tradewindow ' + Name; //弹出买卖窗口8 A; c% q# @) j, h5 w9 Y
Str := Str + ' 0'; //如果是卖,那么类型是0. i! s/ U5 S3 C9 ?4 E
print (Str);
' \: L+ K# e4 u6 j2 i
4 U. D9 r, Q1 b1 W% |5 k% r其中0,1,2,3,4代表什么?代表买卖的类型4 i) `( k" k( a+ M
8 x' }! d7 ?' G4 j U, B8 b$ m0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个 - u9 X5 f8 Z7 A6 R
|