三千论坛
标题: 发布技能NPC和交易NPC脚本总结 [打印本页]
作者: 快要发癫啦 时间: 2023-1-10 14:19
标题: 发布技能NPC和交易NPC脚本总结
其实技能NPC是最简单的了。他所用到的内建命令也就那么几个,我们来看看% _* k& u+ g* \0 G9 Y. a
1、获得玩家职业种类1是铸造(牛美),2是炼丹(神医),3是裁缝(梅花),4是工匠(风兄),0是没有学习技能. Z7 B+ u$ j8 \! Z8 i8 q
Name := callfunc ('getsenderjobkind');
: v! w+ [7 [/ j$ U" |$ A' q" v1 nif Name = '1' then begin
1 q- g* \' P' o `2 _: d print ('say 你已经是铸造师了');
; @, h1 p/ E7 U' ~: Q' U7 J exit;4 M5 d3 f( p# N) b a
end;
- U' _ c; n; U( k/ L- }# x j
/ q8 i: W H @* A x6 A2、获得玩家技能等级7 R& `/ R; F$ W7 x( _$ I/ V
Name := callfunc ('getsenderjobgrade'); /获得玩家工作等级
, m O @ r* l9 m) ^" q' A% j* x6 E//这里,1是初级工,2是技能工,3是熟练工,4是达人,5是名人,6是神工
5 V+ o6 J0 ?, P8 z5 i if Name = '6' then begin //如果是6级那么
5 X& \. ~7 U* g1 D F3 _# a print ('say 你已经是神工了');
( v+ o% M* Q& T S4 _* I exit;
t, w+ h ^8 `, O h6 h. O, C% T+ D! ? end;
9 C# B0 v ]- Q2 p9 p: \3、获得玩家技能值$ h( {7 X, S% C) p) Q
Name := callfunc ('getsendertalent'); //获得玩家技能值
d6 m7 }% @9 }% c H nValue := StrToInt (Name); //转换变量类型9 i* b# }% D4 D! C1 f& t2 O
if nValue < 2000 then begin //判断技能值是否小于2000
8 q- b; v& t: C9 }+ E6 b8 o print ('say 想转职的话才能值要达20.00以上');
" [& J: g7 y& e- J exit;
i. ^6 O+ A0 Y8 p6 ~. E! o2 a end;
3 y! l4 A" x: {- I4、设定玩家为哪种职业
2 r% `) u) S A$ W* hprint ('setsenderjobkind 1'); //设置玩家成为铸造
1 `1 [: n( v: P1 ~7 i2 Y! J5、设定玩家为神工
^, _4 i3 S, G' F. T print ('setsendervirtueman'); //使玩家成为神工
9 ]" C0 o( j2 Z! K% p1 a7 p//====================" E8 |4 ]2 }5 m
下面一起总结一下交易NPC
' k: H; N$ q' b) v. T" s交易Npc就是用到了'tradewindow 命令. |2 T, K& O V7 S. X# L' p/ |
Name := callfunc ('getsendername'); //获取玩家名字
0 C. t q1 ~5 P9 m7 B: f+ F Str := 'tradewindow ' + Name; //弹出买卖窗口# o4 ? t" l$ }
Str := Str + ' 0'; //如果是卖,那么类型是0
6 d( X! A$ ]$ k/ i+ ` print (Str);
L7 {! b* m t$ n' W G+ _6 _5 |, v
其中0,1,2,3,4代表什么?代表买卖的类型3 @# K4 v1 F! R1 h+ ?
9 d, G" H C# w# S1 s( k' b* V: W& h
0为卖给玩家东西,1为回收玩家的东西,这两种模式都需要玩家输入数量3为卖给玩家东西、4回收玩家的东西,这两种模式玩家不需要输入数量,双击直接购买1个
2 Z6 F% U+ x" }! ?
欢迎光临 三千论坛 (http://bbs.3000y.com.cn/) |
Powered by Discuz! X3.4 |