当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

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

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

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

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

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

📂第二步:编写执行脚本

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

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

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

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

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

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


战神吕布
法师诸葛亮

删除指令详解:

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

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

若删除失败,检查:

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

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

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

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

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

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

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

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

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

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