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

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

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

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

1.设置触发时间

文件路径:Mir200\Envir\Robot_def\AutoRunRobot.txt
#AutoRunNPCRUNONDAY20:30:01@天降财宝
#AutoRunNPCRUNONDAY22:30:01@天降财宝

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

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

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

2.编写活动核心逻辑

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

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

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

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

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

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

1.创建NPC脚本

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

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

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

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

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

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

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

1.RobotManage.txt中的控制段

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

;在比奇皇宫(地图0)刷怪
Param10
Param2330
Param3330
Param410
Param5祖玛教主
MONGENEX祖玛教主1010

;10分钟后关闭活动
Delay600
MOVA100


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

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

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

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

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

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

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

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

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

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

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

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

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