三千论坛
标题: 发布技能NPC和交易NPC脚本总结 [打印本页]
作者: 异仟年 时间: 2022-9-5 20:31
标题: 发布技能NPC和交易NPC脚本总结
其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看
" f. ^; J& @/ b Y1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能
# `) C$ T, ~3 u5 }3 D/ eName := callfunc ('getsenderjobkind');0 q5 ?8 q2 a7 t* Q4 [; y
if Name = '1' then begin$ V$ \; t; H$ [3 E+ h. W
print ('say 你已经是铸造师了');7 n2 c% n0 A8 r) Y
exit;
: t O1 S6 `4 }) q4 E1 g end;7 ]. H/ H7 q' [* Y9 z
# \7 h6 \4 W1 c5 F4 ]+ u
2、获得玩家技能等级; q# D' k: B" P% ^3 Y3 f$ e
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级 b* ~6 }) A9 r8 T. h5 [& G
//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
+ t' g! b Y6 ^8 L if Name = '6' then begin //如果是6级那么
4 [, i2 q3 c: e1 X# d% ~, s# K print ('say 你已经是神工了'); [; g' M9 `& M* \* U
exit;
% o# ^8 u; w& Q6 V# L end;
8 w+ P1 z7 Q4 w2 @; l) K6 `3、获得玩家技能值0 K" O, q% J) E a% `% @
Name := callfunc ('getsendertalent'); //获得玩家技能值; g; v: D% _; S, _! y
nValue := StrToInt (Name); //转换变量类型
' P! s4 M( _# M$ @: ?! n( r, f+ k if nValue < 2000 then begin //判断技能值是否小于20003 Z6 _* W8 C/ a* G& \, [
print ('say 想转职的话才能值要达20.00以上'); ( s* |0 Z. ~9 J* o Q( M- `- X
exit;" Z/ U# v& v( t' G5 L7 A
end;' q! T$ j L, l( O5 i
4、设定玩家为哪种职业9 j) K- _3 w4 [9 l9 Z6 {% e- s. D0 I
print ('setsenderjobkind 1'); //设置玩家成为铸造5 ~9 u i% H/ Z c z. K r' H
5、设定玩家为神工
) \4 `3 `, j0 ] print ('setsendervirtueman'); //使玩家成为神工
0 v0 B' q I* |9 d; M7 N//====================
. W# u: i$ r t4 B下面一起总结一下交易NPC, j! R( S; }+ C
交易Npc就是用到了'tradewindow 命令
5 m: _5 u; P$ D. J; `! m7 M Name := callfunc ('getsendername'); //获取玩家名字2 h6 J: _: ^4 z8 U
Str := 'tradewindow ' + Name; //弹出买卖窗口( P0 a& B# `/ x' {' z1 [3 T6 I9 I" z
Str := Str + ' 0'; //如果是卖,那么类型是0 ~& v$ J; ?9 X+ ~5 d
print (Str);. D, t: J2 x& f7 y. R* z
* e4 B V t& d9 y2 b& G其中0,1,2,3,4代表什么?代表买卖的类型
8 `6 y4 c8 X- e9 J& ]" j$ e5 x% ]; J* F' U' S3 `2 i. S- o
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
! C! h" _: ~9 L) \4 ^4 |, J& P
欢迎光临 三千论坛 (http://bbs.3000y.com.cn/) |
Powered by Discuz! X3.4 |