传奇GM复活命令无效排查:脚本缺失与引擎差异解析

来源: 作者: 点击:
GM权限正常但输入@复活 名字后无任何提示(既不生效也不报错),核心问题通常不在权限等级,而在于服务端缺少对应的命令执行脚本,或使用了错误的命令格式。请按以下优先级逐一排查。

一、首要排查:UserCmd.txt 自定义命令表(最高频原因)

“复活”并非所有引擎的默认内置命令,多数版本需在 UserCmd.txt 中手动定义其触发逻辑。

1. 检查命令映射文件
打开服务端目录 MirServer\Mir200\Envir\UserCmd.txt。该文件定义了玩家输入的 @命令 对应的脚本编号。
* 常见配置:若文件中存在 复活 3 或 复活 22 等行,说明该命令已定义,需检查对应的脚本文件是否编写了执行逻辑。
* 缺失情况:若文件中无“复活”相关行,则输入 @复活 引擎无法识别,导致静默失败。此时需手动添加一行(如 复活 22),保存后重启M2或重载脚本。

2. 验证脚本触发逻辑
命令定义后,需在 QFunction-0.txt 中编写执行脚本。打开 MirServer\Mir200\Envir\Market_Def\QFunction-0.txt,搜索 [@UserCmd22](对应上述的编号22):
[@UserCmd22]
#IF
#ACT
GmExeCute 复活 Self

若该脚本段缺失或内容错误(如调用了不存在的引擎命令),则命令同样无效。修改后需在M2菜单中【控制】→【重新加载】→【功能脚本】。

二、命令格式与引擎差异:为何不报错

你提到的“连提示也没有”,通常是因为输入的内容未被识别为有效命令。

1. 内置命令与自定义命令的区别
◦ 内置命令:如 @调整等级、@无敌,由引擎原生支持,输入错误会提示“命令不存在”。

* 自定义命令:如 @复活,依赖 UserCmd.txt 映射。若未定义,引擎视其为无效字符串,故无系统级报错。

2. 参数格式纠错
部分版本的复活命令格式特殊,需注意空格与参数:
* 错误:@复活名字(缺少空格)
◦ 正确:@复活 名字 或 @复活 Self(Self 表示复活自己)

* GOM/GEE引擎:常用 GMExeCute 指令在脚本中调用底层功能,直接输入 @GMExeCute 复活 名字 可能无效。

三、替代方案:直接使用底层GM指令测试

若不想修改脚本,可尝试使用引擎通用的底层指令,验证GM权限是否真的完整。

1. 通用移动指令(强制拉活)
在聊天框输入:@move 角色名 3 330 330
◦ 此命令会将指定角色强制传送至安全区(如盟重省),若角色处于死亡状态,通常会被强制复活。此命令为内置基础指令,不依赖自定义脚本。

2. 权限最终验证
输入 @Level 10 或 @调整等级 100。若这些命令生效,唯独 @复活 无效,则100%确定是 UserCmd.txt 脚本缺失问题;若所有命令都无效,则需检查 AdminList.txt 中账号前是否加了 * 而非 #(# 代表10级权限)。

四、M2命令列表的误导性

你在M2中看到的“命令”列表(如Command.ini),仅表示引擎支持该功能关键字,不代表已将其绑定到玩家可输入的 @ 命令上。GmExeCute 是脚本专用的内部指令,不能直接在聊天框输入。

总结:优先检查 Mir200\Envir\UserCmd.txt 是否存在“复活”行,并在 QFunction-0.txt 中补全 [@UserCmdX] 脚本段。若急用,直接使用 @move 指令拉人。