自己架设的传奇:GM 设置沙城城主的详细操作方法

来源: 作者: 点击:
很多 GM 在刚架设好传奇服务器后,会遇到沙城城主设置的问题 —— 比如首次攻城后怎么让获胜行会自动成为城主,或者想手动指定某个玩家当城主,不知道该从哪里操作。其实不同传奇引擎的设置逻辑类似,关键是找对配置文件和命令,下面分步骤讲清具体方法。
一、设置沙城城主的基础前提:先开启沙城功能
在设置城主前,得先确认沙城功能已正常开启,否则后续操作无法生效。以常见的 Mir2、GEE 引擎为例:
开启沙城地图权限
找到服务器目录下的 “Data/MapInfo.txt” 文件(通常路径是 “D:\MirServer\Mir200\Envir\Data”),找到沙城对应的地图编号(一般是 3 或 301,不同版本可能有差异),确保地图属性中 “Castle” 参数设为 1(1 代表启用沙城功能,0 为关闭),示例:
3 沙巴克 0 0 0 1 0(最后一个 “1” 即沙城功能开关)。
设置攻城时间(可选)
若想通过攻城战产生城主,需在 “Envir/QuestDiary/System” 目录的 “CastleWar.txt” 文件中,设置攻城开启时间,比如每周六 20:00-22:00,代码示例:
#CASTLEWARSTART 6 20:00(6 代表周六,20:00 为开始时间)
#CASTLEWAREND 6 22:00(22:00 为结束时间)。
二、场景一:通过攻城战自动设置沙城城主
这是最贴合传奇玩法的方式,让行会通过攻城获胜后自动成为城主,无需 GM 手动干预,具体设置:
开启攻城申请功能
在沙城门口的 “沙巴克管理员” NPC 脚本中(通常在 “Envir/NpcDialog” 目录下,文件名为 “沙巴克管理员.txt”),添加攻城申请触发代码,示例:
#IF
CheckGuildLevel 1 //判断申请行会等级是否≥1(不同版本可调整)
#ACT
OpenCastleWarApply //打开攻城申请界面
SendMsg 0 行会[%s]已成功申请攻城,请在指定时间参与! //全服提示
#ELSE
SendMsg 1 您的行会等级不足,无法申请攻城! //对申请人提示
#ENDIF

攻城战后自动赋值城主
大部分引擎会在攻城战结束后,自动将获胜行会的会长设为沙城城主,无需额外脚本。若未自动赋值,可检查 “CastleWar.txt” 中是否有以下代码(确保攻城结束后触发城主设置):
#AFTERCASTLEWAR SetCastleLord %WinGuildLeader %WinGuild(% WinGuildLeader 代表获胜行会会长,% WinGuild 代表获胜行会)。
三、场景二:GM 手动指定沙城城主(无需攻城)
若想直接指定某个玩家为城主(比如测试阶段、特殊活动),可通过两种方式操作:
通过引擎控制台命令设置
打开传奇服务器的 “引擎控制台”(通常在服务器端文件夹中,文件名为 “MirEngine.exe”),输入以下命令并回车(需替换具体角色名和行会名):
@SetCastleLord 玩家角色名 玩家所属行会名
示例:@SetCastleLord 传奇战神 天下第一会,执行后系统会提示 “已成功设置 [传奇战神] 为沙城城主”。
通过脚本文件手动赋值
若无法打开控制台,可在 “Envir/QuestDiary/Admin” 目录下新建 “SetLord.txt” 脚本文件,写入以下代码,保存后通过 GM 指令触发:
#ADMINCMD SetLord //GM专属指令触发
#IF
CheckAdminLevel 3 //判断GM权限等级(3为高级GM,可根据自身权限调整)
#ACT
SetCastleLord 目标角色名 目标行会名 //替换为实际角色名和行会名
SendMsg 0 [GM操作]已指定[目标角色名]为沙城城主! //全服通知
#ELSE
SendMsg 1 您的GM权限不足,无法执行此操作!
#ENDIF

触发方式:GM 在游戏内输入 “@SetLord” 即可执行。
四、城主权限与状态检查
设置完成后,需确认城主功能正常,可通过以下步骤验证:
查看城主身份
让目标玩家前往沙城管理员 NPC 处,点击 “查看沙城信息”,若显示 “当前城主:玩家角色名 所属行会:行会名”,则设置成功。
调整城主权限(可选)
若想让城主拥有特殊权限(比如开启沙城商店、调整城门状态),可在 “Envir/QuestDiary/Castle” 目录的 “LordRight.txt” 中添加权限代码,示例:
#CASTLELORD Right OpenShop 1(允许城主开启沙城专属商店)
#CASTLELORD Right ControlGate 1(允许城主控制沙城城门开关)。
五、常见问题解决
设置后城主无权限?
检查 “LordRight.txt” 中是否开启对应权限,或确认玩家是否为行会会长(非会长无法成为城主)。
攻城后未自动设置城主?
核对 “CastleWar.txt” 中攻城结束后的触发代码是否完整,或检查获胜行会是否有会长(无会长的行会无法获得城主资格)。
手动命令无效?
确认 GM 权限等级是否足够,或角色名、行会名是否输入正确(需与游戏内完全一致,区分大小写)。
通过以上方法,GM 可根据需求灵活设置沙城城主,无论是通过攻城战自动生成,还是手动指定,关键是找对对应引擎的操作路径和命令,确保配置文件和脚本语法正确即可。