大侠传奇服务端脚本设置方法与常见文件位置说明

来源: 作者: 点击:
大侠传奇基于传奇引擎框架运行,脚本设置全部在服务端本地文本文件中完成,客户端不能直接改逻辑。先把目录分清,再改对应文件,最后用M2重载,是最稳的流程。

一、服务端脚本核心路径

进入服务端根目录后,重点看 Mir200\Envir 这一层:

• Market_Def:放NPC对话脚本,文件名对应NPC编号,比如 s001-1.txt,负责买卖、传送、回收、任务接取。

- QuestDiary:放QFunction-0.txt、QManage.txt和公共调用脚本,处理登录触发、道具双击、等级事件、全局变量。
• MapQuest_Def:放地图进入/离开触发,按地图编号建文件夹,Q-M.txt之类,用于进图播报、限入、隐藏任务。

- Robot_def:放AutoRunRobot.txt和RobotManage.txt,负责定时刷怪、整点活动、机器人巡检。
• 根目录Envir下还有MonGen.txt,直接配地图刷怪坐标、数量、刷新时间。

二、编辑前的硬性准备

1. 服务端路径用纯英文,别放中文目录或带空格路径,否则M2读不到脚本。
2. 用Notepad++打开txt,编码选ANSI或UTF-8无BOM,别用Word或系统记事本另存,容易加隐藏格式。
3. 改之前把原文件复制一份备份,命名如QFunction-0_bak.txt,防止语法错导致M2起不来。
4. 确认M2Server、DB、网关都正常启动,控制台无红色报错再动手。

三、四类常用脚本怎么设

1. NPC脚本设置
打开Market_Def对应NPC文件,结构固定为:
[@标签名]
IF

条件
ACT

执行命令
SAY

对话框文字

例如做一个传送NPC:
[@去盟重]
IF

CHECKLEVEL >= 1
ACT

MAPMOVE 3 330 330
SAY 已传送到盟重安全区

改完在M2控制台输入 @ReloadNpc 或点控制-重新加载-NPC,不用重启。

2. 登录与道具触发设置
QFunction-0.txt里写[@Login]、[@UseItem_物品名]这类标签。
回城卷不传送,先查两处:
• M2 选项-功能设置 里勾“允许脚本执行传送命令”“允许QFunction脚本触发”。

• StdItems.DB里该物品StdMode必须是2(可使用),Anicount要和脚本标签编号对应。

改完用M2控制-重新加载-QFunction生效。

3. 地图刷怪设置
MonGen.txt每行:
地图编号 X Y 怪物名 范围 数量 刷新分钟 集中几率 模式
例:
3 330 330 白野猪 10 5 30 80 1
要定时刷BOSS,在AutoRunRobot.txt写:
AutoRun NPC SEC 1800 @刷BOSS

RobotManage.txt写:
[@刷BOSS]
ACT

MonGen 3 330 330 赤月恶魔 1 0 1 100 1
SENDMSG 0 赤月恶魔已刷新

4. 机器人与活动定时
RobotManage.txt写[@活动名]逻辑,AutoRunRobot.txt用SEC秒、MIN分、HOUR时控制周期。
例每分钟发泡点:
AutoRun NPC SEC 60 @泡点

[@泡点]
IF

INSAFEZONE
ACT

GAMEGOLD + 1000

四、M2引擎必须开的开关

打开M2Server,选项菜单里逐个确认:
- 脚本设置:开启全局脚本加载,路径指向Envir\Market_Def。
• 功能设置:允许道具触发、允许脚本传送、允许脚本改金币。

• 权限设置:允许QFunction执行全局命令。

不同引擎前缀不同,Mir2用原生命令,Hero引擎部分命令带Hero_前缀,别照抄别的版本命令。

五、常见失效排查顺序

• 脚本写了不触发:先查文件放错目录,再查M2开关没开,再查标签名拼写不一致。

• 传送后闪退:地图编号错或坐标超出地图边界,用地图编辑器核对。

• 改了没效果:没点ReloadNpc或没重启M2,记事本没保存编码变了。

- 假人或机器人乱跑:Robot和QFunction同时动坐标,加InSafeZone判断和MAPMOVE兜底。

六、标准操作收尾

每次改完脚本按这个顺序走:
保存文件 Notepad++确认编码 → M2控制台@ReloadNpc或ReloadQFunction → 建小号进图测试 → 看M2控制台有无语法报错行 → 没问题再开正式服。

大侠传奇脚本没有图形化界面,所有逻辑都是文本标签驱动,把Market_Def、QuestDiary、Robot_def三个目录吃透,就能自己配传送、刷怪、泡点、活动、合成、转职全部功能。