在传奇游戏的版本制作与GM管理中,调整杀怪经验倍数是控制玩家升级节奏、举办活动或设置特定地图玩法的核心手段。无论是通过脚本命令动态调整,还是在地图配置文件中静态设定,掌握正确的指令格式与参数逻辑至关重要。本文将深入解析设置杀怪经验倍数的多种方法,涵盖脚本命令、地图参数及英雄经验设置,助你精准控制游戏内的经验产出。
脚本命令KILLMONEXPRATE详解
在GEE、GOM等主流引擎中,KILLMONEXPRATE是应用最广泛的经验倍数控制命令。该命令通常用于任务脚本、活动脚本或GM指令中,能够实时改变玩家当前的经验获取效率。
命令的标准格式为:KILLMONEXPRATE 倍率 有效时间。这里的“倍率”并非直接倍数,而是需要除以100。例如,输入200代表2倍经验,150代表1.5倍经验,而1000则代表10倍经验。“有效时间”以秒为单位,若设置为0或留空,通常表示永久有效或直到下线/死亡(视引擎配置而定)。
在实际脚本编写中,通常配合逻辑判断使用。例如,在玩家领取双倍经验卷轴时:
[@UseDoubleExp]
IF
CHECKITEM 双倍经验卷 1
ACT
KILLMONEXPRATE 200 7200
TAKE 双倍经验卷 1
SENDMSG 6 %s,你已激活2倍经验,持续2小时!
BREAK
此脚本检测玩家拥有道具后,将其经验倍率设置为200(2倍),持续7200秒(2小时),并扣除道具。
MapInfo地图配置文件参数设置
除了脚本动态控制,直接在地图配置文件中设置经验倍数是另一种常见方法,适用于固定经验加成的地图(如练级圣地、新手村)。这需要编辑Mir200EnvirMapInfo.txt文件。
在MapInfo.txt中,找到目标地图的定义行,添加EXPRATE参数。格式为:EXPRATE(数值)。同样,数值除以100为实际倍数。
例如:[0102 练级圣地] EXPRATE(200) NORECALL。
这表示玩家进入“0102”这张地图后,杀怪经验自动变为2倍。该设置常驻有效,只要玩家在该地图内,经验加成就会生效,离开后恢复默认。这种方式不占用脚本资源,适合全图统一的经验调整。
英雄与特定角色经验设置
针对带有英雄版本的传奇(如1.80英雄合击),设置英雄经验倍数需要使用特定的指令。普通玩家的KILLMONEXPRATE通常只对主体生效,英雄需要单独配置。
在脚本中,使用Hero.KillMonExpRate指令。格式与主体类似:Hero.KillMonExpRate 倍率 有效时间。
例如:
IF
ACT
Hero.KillMonExpRate 200 3600
SENDMSG 7 你的英雄获得了1小时的双倍经验。
这将使英雄在3600秒内获得2倍杀怪经验。部分引擎还支持CHANGEEXP指令直接增加经验值,但这属于直接给经验而非设置倍数,适用于任务奖励而非挂机设置。
下线保存与状态持久化
在设置经验倍数时,GM常遇到的问题是玩家下线或死亡后倍数消失。这通常涉及服务器配置文件!Setup.txt中的参数设置。
检查SaveKillMonExpRate参数:
设置为0:玩家下线或死亡后,临时获得的经验倍数状态消失,重新上线需重新激活。
设置为1:保留剩余时间,玩家重连后继续享受剩余时长的经验加成。
此外,在脚本命令中,部分引擎支持第三个参数来控制是否保存。例如KILLMONEXPRATE 200 600 1,末尾的1可能代表下线保存(具体视引擎版本而定)。在制作版本时,务必根据预期的游戏体验(是快餐服还是复古服)来合理配置这些参数,避免经验获取过于容易破坏平衡,或因掉线丢失倍数导致玩家投诉。

