每天22点自动清理玩家装备!传奇机器人脚本一键配置教程

来源: 作者: 点击:
适用场景:定时删除指定玩家(如奖励名单内)的特定装备(如“城主之刃”),适用于GM管理或活动重置。

📝 脚本实现步骤(基于传奇引擎环境)

🔧 第一步:创建机器人定时任务

在 MirServer\Mir200\Envir\Robot_def\AutoRunRobot.txt 中添加定时触发指令:
AutoRun NPC RUNONDAY 22:00 @删除装备 // 每天22:00执行

📂 第二步:编写执行脚本

在 RobotManage.txt 中新增以下内容:
[@删除装备]
IF

ACT
读取奖励名单中的玩家名(需提前将名单存入P0-P9变量或文本文件)

LoadVar 奖励名单.txt ..\QuestDiary\奖励名单.txt // 假设名单存储路径
Mov A0 0 // 初始化计数器
循环删除装备

[@@Loop]
GetListString ..\QuestDiary\奖励名单.txt <$STR(A0)> S1 // 按行读取玩家名
Equal S1 "" // 检测是否读完
Break // 读完则跳出循环
Take <$STR(S1)> 城主之刃 1 // 删除该玩家的装备
SendMsg 6 [系统]玩家“<$STR(S1)>”的【城主之刃】已被系统回收! // 提示信息
Inc A0 1 // 计数器+1
Goto @@Loop // 继续循环

⚠️ 关键配置说明(必看!)
玩家名单格式:

在 MirServer\Mir200\Envir\QuestDiary\ 下创建 奖励名单.txt,每行一个玩家名,例如:


战神吕布
法师诸葛亮

删除指令详解:

Take <玩家名> <物品名> <数量>:核心删除命令,需确保物品名与数据库一致(如“城主之刃”)。

若需检测装备改名,添加参数 1(例如 Take <$STR(S1)> 城主之刃 1 1)。
错误排查:

若删除失败,检查:

玩家是否在线(离线玩家无法操作)

物品名是否含空格或特殊符号

脚本路径是否正确(尤其注意大小写)

💡 扩展优化建议
增加日志记录:在脚本末尾添加 LogWrite ..\logs\装备删除.log [<DATETIME>] 已清理玩家:<STR(S1)>,便于追溯操作记录。

多装备支持:修改 Take 命令为循环删除多个装备(如 城主之刃|荣耀战甲)。

安全验证:添加 CheckOnline <$STR(S1)> 检测玩家在线状态,避免误删。

✅ 实际效果演示
每天22:00,系统自动执行:
读取奖励名单.txt中的玩家名;

依次删除这些玩家的“城主之刃”;

全服提示:“玩家XXX的【城主之刃】已被系统回收!”。

提示:测试前务必在本地环境备份数据!完整脚本代码可参考 [传奇脚本命令详解] 和 [机器人定时配置]。
如需动态名单(如从SQL读取),需结合 #CALL 调用外部子程序。