3KM2引擎的后台GM管理一般由两部分组成:一是引擎层面的管理员权限,二是在服务端脚本中搭建的GM管理面板。权限部分需要在M2Server中把角色加入管理员列表,等级设为10,保存后小退重登生效。脚本部分则通过QFunction-0.txt中的自定义命令触发,配合NPC脚本实现物品发放、地图传送、玩家查询、重载数据等常用后台功能。
一、GM权限配置
在M2Server主界面点击“查看”进入“列表信息一”,选择“管理员列表”,填写角色名称并将权限等级设为10。若需要限制登录环境,可填写登录IP;不填则不限IP。保存后该角色需要退出游戏重新登录,GM命令和脚本权限检测才会生效。
GM命令可在M2Server“选项”-“游戏命令”-“管理命令”中查看。常用命令包括制造物品、传送、刷怪、踢人、重载脚本等。命令名称和格式可在Command.ini中修改,修改后需重启或重载对应配置。
二、后台管理NPC部署
文件路径:
Mir200EnvirMerChant.txt
GM后台管理 3 330 330 5 0 0
脚本文件路径:
Mir200EnvirMarket_DefGM后台管理-3.txt
NPC名称、地图号、坐标需按实际版本调整。文件名中的地图号必须与MerChant.txt一致。
三、后台主面板脚本
[@main]
IF
ISADMIN
ACT
GOTO @GMPanel
ELSESAY
你不是管理员,无法使用后台功能。\
[@exit]
[@GMPanel]
SAY
GM后台管理面板\
\
当前角色:<USERNAME>\
当前时间:<DATETIME>\
在线人数:<USERCOUNT>\
\
<物品管理/@ItemManage>\
<玩家管理/@PlayerManage>\
<地图管理/@MapManage>\
<数据重载/@ReloadData>\
<系统设置/@SystemSet>\
\
[@exit]
ISADMIN用于检测当前角色是否拥有管理员权限。若当前版本不支持ISADMIN,可改用CHECKADMIN或直接在M2中限制NPC可见性。
四、物品管理脚本
[@ItemManage]
SAY
请选择物品管理功能:\
\
<制造物品/@MakeItem>\
<清除背包/@ClearBag>\
<回收指定物品/@TakeItem>\
\
[@MakeItem]
SAY
请输入制造物品名称和数量:\
格式:物品名称 数量\
\
[@MakeItemInput]
IF
ISADMIN
ACT
BREAK
IF
ACT
SENDMSG 7 请使用聊天框输入:@gmmake 物品名称 数量
CLOSE
[@ClearBag]
IF
ISADMIN
ACT
CLEARBAG
SENDMSG 7 背包已清空。
CLOSE
ELSESAY
权限不足。\
[@exit]
[@TakeItem]
SAY
请输入要收回的物品名称和数量:\
格式:物品名称 数量\
\
[@DoTakeItem]
IF
ISADMIN
CHECKITEM <STR(S1)> <STR(D1)>
ACT
TAKE <STR(S1)> <STR(D1)>
SENDMSG 7 已收回<STR(S1)> <STR(D1)>个。
CLOSE
ELSESAY
物品不足或权限不足。\
[@exit]
若版本支持聊天输入解析,可在QFunction-0.txt中通过自定义命令接收参数。若不支持,可改为NPC多段输入或固定物品列表选择。
五、玩家管理脚本
[@PlayerManage]
SAY
请选择玩家管理功能:\
\
<查看玩家信息/@PlayerInfo>\
<踢出玩家/@KickPlayer>\
<调整玩家等级/@ChangeLevel>\
<调整玩家元宝/@ChangeGold>\
\
[@PlayerInfo]
SAY
请输入玩家角色名:\
\
[@DoPlayerInfo]
IF
ISADMIN
ACT
SENDMSG 7 请使用GM命令查询:@Info 玩家名
CLOSE
[@KickPlayer]
SAY
请输入要踢出的玩家名:\
\
[@DoKickPlayer]
IF
ISADMIN
ACT
KICK <STR(S1)>
SENDMSG 7 已尝试踢出玩家<STR(S1)>。
CLOSE
[@ChangeLevel]
SAY
请输入玩家名和目标等级:\
格式:玩家名 等级\
\
[@DoChangeLevel]
IF
ISADMIN
ACT
SENDMSG 7 请使用GM命令:@Level 玩家名 等级
CLOSE
[@ChangeGold]
SAY
请输入玩家名和元宝数量:\
格式:玩家名 数量\
\
[@DoChangeGold]
IF
ISADMIN
ACT
SENDMSG 7 请使用GM命令:@GameGold 玩家名 数量
CLOSE
六、地图管理脚本
[@MapManage]
SAY
请选择地图管理功能:\
\
<传送到指定地图/@GotoMap>\
<召唤玩家到身边/@RecallPlayer>\
<传送到玩家身边/@GotoPlayer>\
<刷怪/@SpawnMob>\
<清除当前地图怪物/@ClearMob>\
\
[@GotoMap]
SAY
请输入地图编号 X坐标 Y坐标:\
格式:3 330 330\
\
[@DoGotoMap]
IF
ISADMIN
ACT
MAPMOVE <STR(S1)> <STR(D1)> <STR(D2)>
SENDMSG 7 已尝试传送到地图<STR(S1)>。
CLOSE
[@RecallPlayer]
SAY
请输入要召唤的玩家名:\
\
[@DoRecallPlayer]
IF
ISADMIN
ACT
RECALL <STR(S1)>
SENDMSG 7 已尝试召唤玩家<STR(S1)>。
CLOSE
[@GotoPlayer]
SAY
请输入目标玩家名:\
\
[@DoGotoPlayer]
IF
ISADMIN
ACT
GOTO <STR(S1)>
SENDMSG 7 已尝试传送到玩家<STR(S1)>身边。
CLOSE
[@SpawnMob]
SAY
请输入怪物名称和数量:\
格式:怪物名称 数量\
\
[@DoSpawnMob]
IF
ISADMIN
ACT
MONGEN <STR(S1)> <STR(D1)>
SENDMSG 7 已尝试刷出<STR(S1)> <STR(D1)>只。
CLOSE
[@ClearMob]
IF
ISADMIN
ACT
MONCLEAR
SENDMSG 7 已尝试清除当前地图怪物。
CLOSE
MAPMOVE、RECALL、GOTO、MONGEN、MONCLEAR等命令名称在不同3KM2版本中可能略有差异,若提示未识别,需改为当前引擎支持的命令。
七、数据重载脚本
[@ReloadData]
SAY
请选择需要重载的数据:\
\
<重载NPC/@ReloadNPC>\
<重载管理员/@ReloadAdmin>\
<重载爆率/@ReloadMonItems>\
<重载物品库/@ReloadItemDB>\
<重载怪物库/@ReloadMonsterDB>\
<重载行会/@ReloadGuild>\
\
[@ReloadNPC]
IF
ISADMIN
ACT
RELOADNPC
SENDMSG 7 NPC脚本已重载。
CLOSE
[@ReloadAdmin]
IF
ISADMIN
ACT
RELOADADMIN
SENDMSG 7 管理员列表已重载。
CLOSE
[@ReloadMonItems]
IF
ISADMIN
ACT
RELOADMONITEMS
SENDMSG 7 怪物爆率已重载。
CLOSE
[@ReloadItemDB]
IF
ISADMIN
ACT
RELOADITEMDB
SENDMSG 7 物品数据库已重载。
CLOSE
[@ReloadMonsterDB]
IF
ISADMIN
ACT
RELOADMONSTERDB
SENDMSG 7 怪物数据库已重载。
CLOSE
[@ReloadGuild]
IF
ISADMIN
ACT
RELOADGUILD
SENDMSG 7 行会数据已重载。
CLOSE
重载类命令执行后通常无需重启引擎,但涉及数据库或核心配置的修改,建议重启M2确保生效。
八、系统设置脚本
[@SystemSet]
SAY
请选择系统设置功能:\
\
<开启双倍经验/@OpenDoubleExp>\
<关闭双倍经验/@CloseDoubleExp>\
<开启双倍攻击/@OpenDoubleAtk>\
<关闭双倍攻击/@CloseDoubleAtk>\
<发布全服公告/@SendNotice>\
\
[@OpenDoubleExp]
IF
ISADMIN
EQUAL G0 0
ACT
SET G0 1
SENDMSG 20 全服双倍经验已开启。
CLOSE
ELSESAY
双倍经验已开启或权限不足。\
[@exit]
[@CloseDoubleExp]
IF
ISADMIN
EQUAL G0 1
ACT
SET G0 0
SENDMSG 20 全服双倍经验已关闭。
CLOSE
ELSESAY
双倍经验未开启或权限不足。\
[@exit]
[@OpenDoubleAtk]
IF
ISADMIN
EQUAL G6 0
ACT
SET G6 1
SENDMSG 20 全服双倍攻击已开启。
CLOSE
ELSESAY
双倍攻击已开启或权限不足。\
[@exit]
[@CloseDoubleAtk]
IF
ISADMIN
EQUAL G6 1
ACT
SET G6 0
SENDMSG 20 全服双倍攻击已关闭。
CLOSE
ELSESAY
双倍攻击未开启或权限不足。\
[@exit]
[@SendNotice]
SAY
请输入公告内容:\
\
[@DoSendNotice]
IF
ISADMIN
ACT
SENDMSG 20 <STR(S1)>
SENDMSG 7 公告已发送。
CLOSE
G0、G6为全局变量,用于控制全服开关。若版本已有相同用途变量,需更换编号,避免与其他系统冲突。
九、QFunction自定义命令触发
文件路径:
Mir200EnvirMarket_DefQFunction-0.txt
[@UserCmd1]
IF
ISADMIN
ACT
OPENNPC GM后台管理
BREAK
ELSESACT
SENDMSG 7 你不是管理员,无法打开后台。
[@UserCmd2]
IF
ISADMIN
ACT
RELOADNPC
SENDMSG 7 NPC脚本已重载。
BREAK
UserCmd编号需与UserCmds.txt或引擎自定义命令配置对应。若当前版本使用@UserCmdX或@GameCommandX,需按实际标签调整。
十、GM登录提示脚本
文件路径:
Mir200EnvirMapQuest_defQManage.txt
[@Login]
IF
ISADMIN
ACT
SENDMSG 5 欢迎<$USERNAME>,当前为GM管理模式。
CHANGEMODE 2 1
GM登录提示可用于提醒管理员当前处于高权限状态,避免误操作。
十一、部署步骤
在M2Server管理员列表中添加角色,权限等级设为10,保存后重登。
在MerChant.txt中添加GM后台管理NPC坐标。
在Market_Def下创建GM后台管理-3.txt脚本文件。
在QFunction-0.txt中添加自定义命令触发。
在QManage.txt中添加GM登录提示。
检查变量G0、G6、S1、D1、D2是否被其他系统占用。
重载NPC和脚本后进入游戏测试权限检测、物品、玩家、地图、重载、公告等功能。
十二、注意事项
ISADMIN、CLEARBAG、MONCLEAR、MONGEN、RELOADNPC等命令在不同3KM2版本中可能存在差异,使用前需确认当前引擎是否支持。
自定义命令编号必须与引擎配置一致,否则点击命令不会触发对应脚本段。
全局变量和字符串变量需提前查询冲突,避免影响泡点、称号、活动等其他系统。
GM脚本只适合本地测试或受信任的管理环境,不建议对普通玩家开放任何管理入口。
物品名称、地图编号、怪物名称必须与数据库一致,否则制造、传送、刷怪会失败。
重载脚本后若功能未生效,可尝试小退或重启M2。
传奇3KM2引擎后台GM管理脚本:权限检测面板命令调用部署
来源:
作者:
点击:

