传奇杀怪经验倍数设置脚本格式与配置方法

来源: 作者: 点击:
在传奇服务端中,杀怪获得的经验倍数可通过全局变量、地图脚本或角色事件动态控制。以下列出常用设置方式及对应脚本格式。

一、全局经验倍数(影响所有玩家)
在!Setup.txt文件的[GameConfig]段落中直接设定:
[GameConfig]
ExpRate=3.0

该值为浮点数,3.0表示3倍经验。此设置对全服生效,重启M2后加载。

二、通过QFunction动态设置(按条件生效)
在QFunction-0.txt的[@KillMonster]事件中使用CALCEXP_RATE修改当前经验倍率。例如:
[@KillMonster]
if
equal"冰宫"
act
CALCEXP_RATE=5.0
SENDMSG7你在冰宫获得5倍经验!

注意:EXP_RATE仅对本次击杀生效,下次打怪需重新赋值。

三、按角色属性设置(如VIP、等级)
在登录或打怪事件中判断角色状态并赋值。示例:
[@KillMonster]
if
CHECKVARHUMANVIP等级>0
act
CALCEXP_RATE=4.0

if
CHECKLEVELEX>50
act
CALCEXP_RATE=*1.5

先设基础倍数,再叠加等级加成,最终倍数为两者乘积。

四、使用HUMAN变量持久化经验倍率
若需在玩家在线期间保持固定倍率,可在登录时写入变量:
[@Login]
if
CHECKITEM神秘令牌1
act
SETHUMAN(经验倍数)2.5
goto@应用经验

[@应用经验]
act
CALCEXP_RATE=

此后每次打怪前需在[@KillMonster]中重新执行CALCEXP_RATE=,因系统默认会重置为全局值。

五、地图独立经验倍数(MapQuest机制)
在MapQuest_def地图名.txt中添加:
[@Main]
IF
CHECKONLINE
ACT
CALCEXP_RATE=8.0

角色进入该地图后,后续击杀均按8倍计算,离开地图后失效。

六、组合条件示例(时间+道具)
[@KillMonster]
if
TIME<12
CHECKITEM双倍经验卡1
act
CALCEXP_RATE=6.0
TAKE双倍经验卡1
SENDMSG6使用双倍卡,当前6倍经验!
break

if
TIME<12
act
CALCEXP_RATE=3.0

上午12点前有卡则6倍,无卡则3倍。

七、注意事项
EXP_RATE必须在[@KillMonster]或其调用的子标签中设置,其他位置无效;
倍数为小数或整数均可,但部分老引擎仅支持整数,建议测试1.5、2.0等值是否生效;
若同时存在!Setup.txt全局倍数和脚本倍数,脚本值会覆盖全局值;
使用SENDMSG可实时反馈当前倍数,便于调试;
部分版本需在M2Server.ini中启用EnableExpVar=1才支持EXP_RATE变量。

以上方法覆盖了从静态配置到动态条件触发的全部常见场景,可根据实际需求组合使用。核心原则是:经验倍数必须在怪物死亡事件触发前完成赋值,且每次击杀独立计算。
[顶部]