核心目录:Mir200\Envir
传奇服务端的所有脚本均位于 MirServer\Mir200\Envir 目录下。这是修改脚本的唯一根目录,无论使用何种引擎(Hero、GOM、GEE),均以此为基础。修改前需确认服务端路径(通常为D盘根目录),严禁修改客户端(游戏安装目录)文件,客户端文件只负责显示,修改无效。
NPC脚本:Market_Def 与 Merchant.txt
游戏内所有功能性NPC(如传送员、商店)的脚本均在此处。
1. 定位NPC配置文件
打开 Envir\Merchant.txt 文件。该文件记录了每个NPC的地图位置与脚本文件名。格式如下:
盟重省/老兵 3 330 268 盟重老兵 0 8 0 0
• 关键参数:盟重省/老兵 为脚本路径,3 为地图编号。
- 文件名规则:脚本文件名为 老兵-3.txt(格式:路径名-地图编号.txt)。
2. 修改脚本内容
进入 Envir\Market_Def 目录,找到对应的 .txt 文件进行编辑。
- 路径示例:若Merchant.txt中路径为 盟重省/老兵,则文件位于 Market_Def\盟重省\老兵-3.txt。
- 修改后生效:在M2Server控制台点击“重新加载NPC”或输入命令 @reloadnpc,无需重启服务端。
系统脚本:QFunction-0.txt 与 QManage.txt
系统级触发脚本(如升级奖励、物品双击、死亡触发)位于 Envir\Market_Def 或 Envir\MapQuest_def 目录。
- QFunction-0.txt:核心触发脚本。处理物品使用(@StdModeFunc)、技能触发、死亡事件等。修改后需在M2控制台“重新加载QF脚本”。
- QManage.txt:登录脚本。处理玩家上线触发(@Login)、全局变量初始化。修改后需“重新加载QM脚本”。
自定义脚本:QuestDiary 目录
Envir\QuestDiary 是存放自定义脚本片段的目录。NPC脚本中通过 #CALL [路径\文件.txt] 调用该目录下的子脚本。这是存放活动脚本、任务脚本、兑换脚本的常用位置。修改后通常需要重载调用它的主NPC或QF脚本。
特殊NPC:Npcs.txt 与 Npc_def
Envir\Npcs.txt 对应 Envir\Npc_def 目录,用于存放系统固定NPC(如比奇国王、沙巴克官员)。修改逻辑与Merchant.txt一致,但部分老引擎修改后需重启M2Server才能生效,无法热加载。
修改流程与工具
1. 工具:使用 Notepad++ 或 Visual Studio Code 编辑 .txt 文件,避免使用Windows记事本(易导致编码错误)。
2. 流程:修改前备份原文件 → 编辑脚本 → 在M2Server控制台重载对应脚本 → 进游戏测试。
3. 排查:若修改后NPC对话空白或M2报错,检查Merchant.txt中的路径与Market_Def中的文件名是否严格一致,以及脚本语法是否缺少 BREAK 或标签。
所有脚本修改均需在服务端进行,客户端仅负责显示。若修改后游戏内无变化,优先检查M2控制台是否报错,并确认修改的是当前运行的版本目录。

