一、 脚本运行环境与引擎核心
传奇服务端脚本并非独立运行的程序,而是由M2Server(引擎核心)实时解析执行的文本指令。所有脚本文件(包括商业版付费脚本)必须放置在服务端的 Mir200\Envir 目录下,由M2在启动时加载到内存中,并在游戏事件触发时逐行解释执行。
- 运行载体:M2Server.exe(传奇引擎核心)。
• 根目录:D:\MirServer\Mir200\Envir\(默认路径)。
- 文件格式:纯文本文件(.txt),无需编译,修改后需重载脚本或重启M2生效。
二、 商业脚本核心存放目录详解
商业脚本通常不是单一文件,而是按功能拆解到 Envir 下的特定子目录中。购买脚本后,需将文件覆盖到对应位置。
脚本类型 存放目录 核心文件/功能 加载方式
NPC对话脚本 Envir\Market_Def\ 处理NPC买卖、对话、任务 M2启动加载
全局触发脚本 Envir\Market_Def\ QFunction-0.txt(攻击/拾取/升级触发) M2启动加载
登录/管理脚本 Envir\MapQuest_def\ QManage.txt(上线触发、变量初始化) M2启动加载
定时器/机器人 Envir\Robot_def\ RobotManage.txt(定时活动、全服公告) 通过Robot.txt调用
自定义功能脚本 Envir\QuestDiary\ 商业脚本主目录(如充值、活动、会员) 被NPC脚本#CALL调用
地图触发脚本 Envir\MapQuest.txt 定义地图坐标触发事件 M2启动加载
关键说明:
• 商业脚本核心:大部分商业功能(如光柱、自动回收、沙捐)的脚本主体通常位于 QuestDiary 文件夹内。
• 入口文件:商业脚本会在 QFunction-0.txt 或 QManage.txt 中写入调用命令(如 #CALL [\QuestDiary\商业功能\充值系统.txt]),将自定义脚本挂载到引擎主流程中。
三、 脚本加载与生效流程
1. 物理放置:将购买的脚本文件(夹)复制到对应的 Envir 子目录下。
2. 引擎加载:启动M2Server,控制台会显示“加载NPC脚本...”、“加载地图触发...”等日志。若脚本语法错误,M2会报错并停止加载。
3. 游戏内触发:
◦ NPC脚本:玩家点击NPC时,M2从 Market_Def 读取对应脚本并显示对话框。
◦ 触发脚本:玩家攻击或死亡时,M2检索 QFunction-0.txt 中的 [@Attack] 或 [@PlayDie] 标签并执行对应逻辑。
4. 重载命令:修改脚本后,GM可在游戏中输入 @重读 或 @Reload 命令(具体命令查看引擎说明书),无需重启服务端即可生效。
四、 常见商业脚本安装误区
• 目录错误:误将脚本放在客户端(Data文件夹)或登录器目录,导致脚本无法运行。脚本永远只在服务端运行。
• 变量冲突:不同商业脚本使用了相同的个人变量(如 [100]),导致数据覆盖。安装前需检查变量定义。
• 引擎不兼容:GOM引擎的脚本(带自定义UI)无法直接在HERO或BLUE引擎上运行,购买时需确认引擎版本。
五、 脚本运行状态排查步骤
若商业脚本功能失效,按以下顺序检查:
1. 检查M2日志:启动M2时观察控制台是否有“脚本错误”的红色提示。
2. 检查文件路径:确认 #CALL 调用的文件路径是否存在,注意大小写。
3. 检查NPC配置:查看 Envir\MerChant.txt 中NPC对应的脚本文件名是否与 Market_Def 内的文件一致。
4. 权限检测:部分商业脚本需要特定的插件支持(.dll文件),需确认 Mir200\PlugList.txt 中是否已加载。
商业脚本的本质是文本指令集,其运行完全依赖M2Server引擎对 Envir 目录的解析能力。正确的目录放置与引擎兼容性是脚本生效的前提。

