传奇服务端活动脚本编写与配置实战

来源: 作者: 点击:
传奇活动脚本主要分为定时全服活动(如天降财宝、怪物攻城)和NPC交互活动(如节日兑换、冲级奖励)。核心文件位于 D:\MirServer\Mir200\Envir\ 目录下。

一、定时全服活动:天降财宝脚本

此类活动依赖机器人脚本(Robot_def)实现自动触发,无需玩家点击NPC。

1. 设置触发时间

文件路径:Mir200\Envir\Robot_def\AutoRunRobot.txt
#AutoRun NPC RUNONDAY 20:30:01 @天降财宝
#AutoRun NPC RUNONDAY 22:30:01 @天降财宝

参数说明:
• RUNONDAY:每日固定时间执行(也可用 RUNONWEEK 指定周几)。

• 20:30:01:活动开始时间(20点30分01秒)。

• @天降财宝:跳转标签,对应 RobotManage.txt 中的段落。

2. 编写活动核心逻辑

文件路径:Mir200\Envir\Robot_def\RobotManage.txt
[@天降财宝]
#ACT
; 全服公告
SENDMSG 0 【天降财宝】活动开启!盟重土城即将掉落大量元宝和装备!
; 在地图3(盟重)坐标330,330附近10格范围内,扔出5个元宝,60秒后可捡取
ThrowItem 3 330 330 10 元宝 5|60
ThrowItem 3 330 330 10 裁决之杖 1|60

ThrowItem 命令详解:
• 地图号:3 代表盟重土城(地图编号需查看 MapInfo.txt)。

- 坐标与范围:330,330 为中心点,10 为掉落扩散范围。
• 物品与数量:元宝 5 表示掉落5个元宝。

- 捡取间隔:|60 表示掉落60秒后玩家才能捡取(防止秒抢)。

二、NPC交互活动:节日礼包兑换脚本

通过NPC发放活动奖励,通常配合物品检测和变量控制。

1. 创建NPC脚本

文件路径:Mir200\Envir\Market_Def\节日使者-3.txt
[@main]
国庆庆典火热进行中!\
凭【国庆勋章】可兑换丰厚礼包,每人限兑1次!\
<兑换礼包/@兑换>

[@兑换]
#IF
; 检测是否已领取(利用个人变量U变量)
EQUAL U10 1
#ACT
MESSAGEBOX 你已经兑换过本次礼包,无法重复领取!
BREAK

#IF
; 检测背包是否有国庆勋章
CHECKITEM 国庆勋章 1
#ACT
; 扣除勋章
TAKE 国庆勋章 1
; 发放奖励
GIVE 元宝 1000
GIVE 经验卷轴 1
; 标记已领取
MOV U10 1
MESSAGEBOX 兑换成功!获得1000元宝和1个经验卷轴!
#ELSEACT
MESSAGEBOX 你的背包中没有【国庆勋章】!

关键点:
• 防刷机制:使用 MOV U10 1 设置个人变量,下线不保存,重启服务器重置。如需永久记录,需使用 FLAG 或写入文本文件。

• 物品检测:CHECKITEM 必须严格匹配数据库中的物品名称。

三、高级活动:怪物攻城(带状态检测)

复杂活动需结合地图参数和怪物刷新命令。

1. RobotManage.txt 中的控制段

[@怪物攻城]
#ACT
; 设置全局活动状态(A变量全服通用)
MOV A10 1
SENDMSG 0 【怪物攻城】活动开启!比奇皇宫刷新终极BOSS!

; 在比奇皇宫(地图0)刷怪
Param1 0
Param2 330
Param3 330
Param4 10
Param5 祖玛教主
MONGENEX 祖玛教主 10 10

; 10分钟后关闭活动
Delay 600
MOV A10 0


2. 地图进入限制(MapInfo.txt)

为了防止活动未开始时玩家蹲点,需在地图配置中增加限制:
[0 比奇省] NORECALL NORECONNECTFIGHT

并在NPC脚本中通过 CHECKGLOBAL A10 = 1 检测活动状态,只有 A10=1 时才允许传送进入活动地图。

四、活动脚本常见问题与调试

1. 活动不触发:
◦ 检查 AutoRunRobot.txt 时间格式是否正确(时:分:秒)。

◦ 确认 RobotManage.txt 中的标签名(如 @天降财宝)是否与 AutoRunRobot.txt 中调用的完全一致。

◦ 在M2控制台查看“机器人脚本”是否加载成功。

2. 奖励发放错误:
◦ 确认物品名称与 StdItems.DB 数据库完全一致(包括空格和符号)。

◦ 检查变量冲突:避免在多个活动中混用同一个U变量或A变量。

3. 性能优化:
◦ 全服刷怪活动使用 MONGENEX(清除先前怪物)而非 MONGEN。

◦ 频繁执行的机器人脚本(如每分钟检测),尽量使用局部变量(P变量)而非全局变量(G变量)。

重载方法:修改脚本后,在M2控制台点击“管理”->“重新加载”->“机器人脚本”或“NPC脚本”,无需重启服务器。

通过上述模板,只需修改地图编号、坐标、物品名称和变量名,即可快速部署各类传奇活动。