传奇服务端自定义游戏命令,核心是通过修改指定配置文件和脚本,实现玩家可用的功能命令(如挂机、回收)或管理员专属命令(如调属性、刷物品)。本文详细说明自定义命令的核心配置文件、两种场景(玩家/管理员)的实操步骤、常用命令示例及失效排查,新手可直接按路径和格式操作。
一、自定义游戏命令核心配置文件:路径与作用
所有自定义游戏命令均依赖服务端两个核心文件:UserCmd.txt(命令名称配置)和QFunction系列脚本(命令功能实现),部分管理员命令需额外配置Command.ini(权限控制)。具体路径和作用如下:
1. 核心配置文件:UserCmd.txt
- 存放路径:D:\Mirserver\Mir200\Envir\UserCmd.txt(服务端核心环境配置目录下,所有版本通用路径)
- 核心作用:定义自定义命令的名称和编号,关联到对应的脚本功能。玩家在游戏内输入“@命令名称”即可触发,无需权限的普通命令(如挂机、回收)和需权限的管理员命令,均需在此文件注册。
- 基础格式:每行对应一个命令,格式为“命令名称=编号”,编号范围1-9(支持9个基础自定义命令,部分引擎可扩展更多)。示例:“我要挂机=1”,代表游戏内输入“@我要挂机”,触发编号为1的对应脚本。
2. 功能实现脚本:QFunction系列文件
- 存放路径:D:\Mirserver\Mir200\Envir\Market_def\QFunction-0.txt(主流版本核心脚本文件,部分版本为QFunction-01.txt)
- 核心作用:自定义命令的功能逻辑实现文件,通过脚本代码定义命令触发后执行的操作(如扣除金币、发放道具、开启挂机状态)。所有在UserCmd.txt注册的命令,都需在此文件编写对应编号的脚本。
- 关联规则:脚本中通过“@UserCmd+编号”关联UserCmd.txt中的命令,如“@UserCmd1”对应UserCmd.txt中编号为1的命令(如“我要挂机”)。
3. 管理员命令权限文件:Command.ini
- 存放路径:D:\Mirserver\Mir200\Command.ini(服务端主配置目录下)
- 核心作用:控制管理员命令的使用权限,定义不同GM等级可使用的命令。若自定义管理员命令(如刷物品、调等级),需在此文件配置权限等级,避免普通玩家滥用。
- 基础格式:格式为“命令名称=所需GM等级”,等级范围1-10(10级为最高权限,通常为开发者)。示例:“刷物品=8”,代表仅GM等级8及以上账号可使用“@刷物品”命令。
4. 辅助配置文件:AdminList.txt
- 存放路径:D:\Mirserver\Mir200\Envir\AdminList.txt
- 核心作用:存储具有GM权限的账号/角色名,自定义管理员命令生效的前提是,使用账号需在此文件中登记并配置对应等级。格式为“角色名 等级”,示例:“传奇GM 10”,代表角色“传奇GM”拥有10级最高权限。
二、自定义游戏命令实操步骤:分玩家/管理员场景
自定义命令分为“玩家通用命令”(无权限要求,如装备回收、挂机)和“管理员专属命令”(需权限,如刷物品、调属性),两种场景操作步骤略有差异,具体如下:
场景1:自定义玩家通用命令(以“装备回收”为例)
步骤1:注册命令名称(修改UserCmd.txt)
① 打开D:\Mirserver\Mir200\Envir\UserCmd.txt文件(用Notepad++打开,格式更清晰);② 在文件空白行输入“装备回收=1”,保存文件。此时玩家在游戏内输入“@装备回收”,即可关联编号1的脚本。
步骤2:编写命令功能脚本(修改QFunction-0.txt)
① 打开D:\Mirserver\Mir200\Envir\Market_def\QFunction-0.txt;② 在文件末尾添加以下脚本(实现回收指定装备兑换金币功能):
// 装备回收命令脚本(对应UserCmd.txt中编号1)
[@UserCmd1]
#IF
CheckItem 裁决之杖 1 // 检查玩家背包是否有1把裁决之杖
#ACT
TakeItem 裁决之杖 1 // 扣除背包1把裁决之杖
GiveGold 50000 // 发放50000金币
SendMsg 6 【装备回收】成功回收裁决之杖,获得50000金币! // 游戏内提示
#ELSEACT
SendMsg 6 【装备回收】背包中没有裁决之杖,无法回收! // 未满足条件提示
步骤3:生效命令
① 保存QFunction-0.txt文件;② 打开服务端M2引擎控制台(启动服务端后弹出的核心窗口),点击“控制”-“重新加载”-“加载所有NPC脚本”,等待提示“加载成功”即可。玩家重新登录游戏,输入“@装备回收”就能触发功能。
场景2:自定义管理员命令(以“刷指定物品”为例)
步骤1:注册命令名称(修改UserCmd.txt)
① 打开UserCmd.txt,输入“刷物品=2”,保存文件,定义命令“@刷物品”对应编号2的脚本。
步骤2:编写命令功能脚本(修改QFunction-0.txt)
① 打开QFunction-0.txt,添加以下脚本(实现输入物品名称后发放对应道具功能):
// 管理员刷物品命令脚本(对应UserCmd.txt中编号2)
[@UserCmd2]
#IF
IsAdmin 8 // 检查是否为8级及以上GM权限
#ACT
InputBox 请输入要刷的物品名称: 100 // 弹出输入框让管理员输入物品名
TakeInput S$ItemName // 接收输入的物品名称
InputBox 请输入要刷的数量: 101 // 弹出输入框让管理员输入数量
TakeInput N$ItemNum // 接收输入的数量
Give S$ItemName N$ItemNum // 发放指定数量的物品
SendMsg 6 【管理员操作】成功刷出{S$ItemName}×{N$ItemNum}! // 操作提示
#ELSEACT
SendMsg 6 【权限不足】您无权限使用此命令! // 无权限提示
步骤3:配置命令权限(修改Command.ini)
① 打开D:\Mirserver\Mir200\Command.ini,输入“刷物品=8”,保存文件,设定该命令需8级及以上GM权限。
步骤4:添加GM账号(修改AdminList.txt)
① 打开D:\Mirserver\Mir200\Envir\AdminList.txt,输入“我的GM账号 8”(“我的GM账号”替换为实际管理员角色名),保存文件。
步骤5:生效命令
① 保存所有配置文件后,在M2控制台重新加载“所有NPC脚本”和“管理员列表”(点击“控制”-“重新加载”-“加载管理员列表”);② 管理员登录对应角色,输入“@刷物品”,按提示输入物品名称和数量,即可完成刷物品操作。
三、常用自定义游戏命令示例:直接复制可用
整理玩家通用和管理员专属的高频自定义命令示例,按格式复制到对应文件即可使用,可根据版本需求修改参数(如金币数量、物品名称):
1. 玩家通用命令示例
(1)自动挂机命令
UserCmd.txt配置:挂机=3
[@UserCmd3]
#IF
CheckGold 10000 // 挂机需消耗10000金币
#ACT
TakeGold 10000
SetOnTimer 1 60 // 开启60秒挂机计时
SendMsg 6 【自动挂机】已开启,每60秒自动打怪,消耗10000金币/次!
#ELSEACT
SendMsg 6 【自动挂机】金币不足10000,无法开启!
(2)快速回城命令
UserCmd.txt配置:回城=4
[@UserCmd4]
#ACT
MapMove 3 330 330 // 传送至比奇城安全区(3为比奇城地图ID,330 330为坐标)
SendMsg 6 【快速回城】已传送至比奇安全区!
2. 管理员专属命令示例
(1)调整玩家等级命令
UserCmd.txt配置:调等级=5;Command.ini配置:调等级=9
[@UserCmd5]
#IF
IsAdmin 9
#ACT
InputBox 请输入目标玩家名称: 102
TakeInput S$ChrName
InputBox 请输入目标等级: 103
TakeInput N$Level
ChangeLevel S$ChrName N$Level // 调整指定玩家等级
SendMsg 6 【等级调整】成功将{S$ChrName}调整至{N$Level}级!
#ELSEACT
SendMsg 6 【权限不足】需9级GM权限方可使用!
(2)清理玩家背包命令
UserCmd.txt配置:清理背包=6;Command.ini配置:清理背包=8
[@UserCmd6]
#IF
IsAdmin 8
#ACT
InputBox 请输入目标玩家名称: 104
TakeInput S$ChrName
ClearBag S$ChrName // 清理指定玩家背包所有物品
SendMsg 6 【背包清理】成功清理{S$ChrName}背包物品!
#ELSEACT
SendMsg 6 【权限不足】需8级GM权限方可使用!
四、自定义命令常见问题排查:失效/不生效解决
自定义命令配置后若不生效,优先排查以下4个核心问题,按步骤核对即可解决:
1. 命令未注册或编号错误
问题表现:输入“@命令名称”无任何反应;排查步骤:① 检查UserCmd.txt中命令名称是否正确,有无错别字(如“装备回收”误写为“装备hui收”);② 核对命令编号是否与QFunction脚本中的“@UserCmd+编号”一致(如UserCmd中编号为1,脚本需写@UserCmd1,不能写@UserCmd2);③ 确保编号未重复(同一编号只能对应一个命令)。
2. 脚本格式错误或逻辑冲突
问题表现:输入命令后提示错误,或执行结果异常;排查步骤:① 检查QFunction脚本中的语法格式,如“#IF”“#ACT”“#ELSEACT”是否大写,语句末尾有无遗漏符号(如空格、换行);② 核对脚本中的函数参数是否正确(如地图ID、物品名称,“裁决之杖”不能少写“之”);③ 若脚本中有权限检查(如IsAdmin),确认使用账号的GM等级是否达标。
3. 未重新加载脚本或管理员列表
问题表现:修改配置后命令仍不生效;排查步骤:① 所有配置文件修改后,必须在M2控制台重新加载对应内容:普通命令需“加载所有NPC脚本”,管理员命令需额外“加载管理员列表”;② 若重新加载后仍无效,重启服务端(关闭所有服务窗口,重新启动GameCenter.exe),确保配置完全生效。
4. 权限配置错误或GM账号未添加
问题表现:管理员命令提示“权限不足”;排查步骤:① 检查Command.ini中命令对应的GM等级,是否低于当前账号等级(如命令要求8级,账号仅7级则无法使用);② 核对AdminList.txt中是否添加了当前角色名,等级是否正确(格式为“角色名 等级”,中间需空格,不能连写);③ 若添加账号后仍无效,重新加载管理员列表,或小退重新登录游戏。
5. 配置文件路径错误
问题表现:所有命令均不生效,或修改后无变化;排查步骤:① 确认修改的是服务端正确路径下的文件(核心路径:D:\Mirserver\Mir200\Envir\),避免修改了备份文件夹或其他版本的配置文件;② 检查文件是否有“只读”属性(右键文件-属性,取消“只读”勾选),避免修改后无法保存。
五、总结:自定义命令核心要点
1. 核心逻辑:自定义命令需“两步走”——UserCmd.txt注册命令名称和编号,QFunction脚本实现功能逻辑,管理员命令额外添加Command.ini权限控制和AdminList.txt账号配置;2. 新手建议:优先从简单命令(如回城、挂机)开始尝试,熟悉脚本格式后再配置复杂命令(如刷物品、调属性);3. 格式规范:脚本中的关键字、函数名需大写,参数需准确,避免因格式错误导致命令失效;4. 生效关键:所有修改后必须重新加载对应脚本或重启服务端,否则配置无法生效。按以上要点操作,即可通过服务端配置文件轻松实现各类自定义游戏命令,适配不同玩法需求。

