传奇天上掉馅饼活动脚本:定时全服掉落奖励与拾取触发配置

来源: 作者: 点击:
天上掉馅饼属于全服定时活动,核心思路是机器人脚本定时触发,全服公告后在指定地图刷出“馅饼”道具,玩家拾取后通过QFunction触发奖励发放。活动结构简单,适合复古版本做在线活跃和在线奖励。

一、活动流程

机器人按时间触发活动。
全服发送公告,提示馅饼掉落位置。
在活动地图随机位置刷出馅饼道具。
玩家拾取馅饼后触发奖励。
活动结束或时间到后停止刷新。

二、机器人配置

文件路径:
Mir200EnvirRobot_defAutoRunRobot.txt

AutoRun NPC RUNONDAY 20:00:00 @PieEventStart
AutoRun NPC RUNONDAY 20:10:00 @PieEventEnd

每天20:00开始,20:10结束。时间可按版本在线高峰调整。

三、机器人执行脚本

文件路径:
Mir200EnvirRobot_defRobotManage.txt

[@PieEventStart]
IF
ACT
SETGLOBALVAR PIE_EVENT 1
RESETGLOBALVAR PIE_COUNT
SENDMSG 20 [天上掉馅饼] 活动开始!土城周边掉落馅饼,拾取即可获得奖励!
PARAM1 0
PARAM2 300
PARAM3 300
MONGEN 馅饼 20 0
DELAYGOTO 30000 @PieWave2
BREAK

[@PieWave2]
IF
EQUAL GLOBALVAR PIE_EVENT 1
ACT
PARAM1 0
PARAM2 320
PARAM3 320
MONGEN 馅饼 15 0
SENDMSG 20 [天上掉馅饼] 第二波馅饼已掉落!
DELAYGOTO 30000 @PieWave3
BREAK

[@PieWave3]
IF
EQUAL GLOBALVAR PIE_EVENT 1
ACT
PARAM1 0
PARAM2 280
PARAM3 280
MONGEN 馅饼 10 0
SENDMSG 20 [天上掉馅饼] 最后一波馅饼来了!
BREAK

[@PieEventEnd]
IF
ACT
RESETGLOBALVAR PIE_EVENT
SENDMSG 20 [天上掉馅饼] 活动已结束,下次活动请关注公告。
MONCLEAR 0
BREAK

馅饼在这里作为可拾取怪物或道具刷新,具体使用MONGEN还是MapQuest刷道具,取决于引擎支持。部分引擎可直接刷道具,不支持时可用低血量怪物替代,拾取后按怪物死亡触发奖励。

四、馅饼奖励脚本

文件路径:
Mir200EnvirMapQuest_defQFunction-0.txt

[@PickUp]
IF
EQUAL <PARAM(8)> 馅饼
EQUAL GLOBALVAR PIE_EVENT 1
CHECK [600] 0
ACT
SET [600] 1
MOV N10 0
MOVR N10 0 99
GOTO @PieReward
BREAK

[@PieReward]
IF
SMALL N10 3
ACT
GIVE 元宝 50
SENDMSG 7 天上掉馅饼,获得元宝50。
BREAK

IF
SMALL N10 10
ACT
GIVE 金币 500000
SENDMSG 7 天上掉馅饼,获得金币50万。
BREAK

IF
SMALL N10 25
ACT
GIVE 经验 1000000
SENDMSG 7 天上掉馅饼,获得经验100万。
BREAK

IF
ACT
GIVE 祝福油 1
SENDMSG 7 天上掉馅饼,获得祝福油1个。
BREAK

拾取触发中,<PARAM(8)>用于获取拾取物品名称,不同引擎参数位置可能不同,需以当前引擎说明为准。逻辑变量[600]用于限制每个角色每次活动只能领取一次奖励,避免重复拾取刷奖。

五、奖励池文本写法

如果奖励较多,可改用文本列表。

文件路径:
Mir200EnvirQuestDiary活动馅饼奖励.txt

元宝 50
金币 500000
经验 1000000
祝福油 1
随机传送卷 5
修复神水 3

脚本改为:

[@PieReward]
IF
ACT
MOV S10 .QuestDiary活动馅饼奖励.txt
GETRANDOMTEXT <STR(S10)> S11
GIVE <STR(S11)> 1
SENDMSG 7 天上掉馅饼,获得:<$STR(S11)>
BREAK

六、每日次数限制

如果希望玩家每天只能获得一次馅饼奖励,可在活动开始时统一清理标记。

[@PieEventStart]
IF
ACT
SETGLOBALVAR PIE_EVENT 1
RESETGLOBALVAR PIE_COUNT
FORMLIST PLAYERLIST S20
WHILE S20 <>
RESET [600] 0
NEXT S20
SENDMSG 20 [天上掉馅饼] 活动开始!土城周边掉落馅饼,拾取即可获得奖励!
PARAM1 0
PARAM2 300
PARAM3 300
MONGEN 馅饼 20 0
DELAYGOTO 30000 @PieWave2
BREAK

部分引擎不支持遍历在线玩家清理变量,可改为玩家上线时自动清理。

七、上线清理标记

文件路径:
Mir200EnvirMapQuest_defQManage.txt

[@Login]
IF
ACT
RESET [600] 0
BREAK

[@Logout]
IF
ACT
RESET [600] 0
BREAK

这样玩家重新上线后,下次活动仍可正常参与。

八、部署步骤

在Stditem.db或怪物数据库中确认“馅饼”名称。
在AutoRunRobot.txt中添加定时触发。
在RobotManage.txt中写入活动开始、补刷和结束脚本。
在QFunction-0.txt中添加拾取奖励脚本。
在QManage.txt中添加登录清理标记。
重载机器人、QFunction和QManage脚本后测试。

九、注意事项

馅饼名称必须与数据库一致,拾取触发才能正确匹配。

GLOBALVAR全局变量用于控制活动开关,不支持全局变量的引擎可改用文本文件记录状态。

逻辑变量[600]若已被其他功能占用,需替换为空闲编号。

MONGEN刷怪坐标应放在安全区附近或活动地图内,避免刷到不可到达区域。

活动时长不宜过长,10至15分钟即可,避免影响正常打怪节奏。

奖励建议以金币、经验、小量元宝、消耗品为主,高价值物品概率应控制在较低区间。

该脚本适合复古版本做整点活跃活动,结构简单,便于与在线奖励、行会活动或节日活动组合使用。