单机版传奇在服务端添加土城传送NPC 编写Market_Def脚本与Merchant.txt注册完整步骤

来源: 作者: 点击:
在传奇单机版(Hero/Blu/Legend引擎)中添加土城(比奇/盟重)传送NPC,需要做三件事:写NPC脚本文件放进Market_Def目录、在Merchant.txt注册NPC坐标与外观、重启服务端用GM命令检测。下面以盟重土城(地图编号0或3,视版本而定,比奇多数为0,盟重为3)添加"传送使者"为例说明。

一、确定NPC所在地图编号与坐标

1. 进游戏用GM号输入 @GetXY 或看屏幕左下角坐标提示,站在想放NPC的位置记下:地图名、X、Y。
2. 常见编号:比奇省=0,盟重省=3,沃玛森林=1,比奇矿区A=2。不确定打开 MirServer\Mir200\Envir\MapInfo.txt 对照括号里地名。
3. 例:盟重土城坐标(330,268),地图编号3。

二、编写NPC脚本文件(Market_Def目录)

进入 MirServer\Mir200\Envir\Market_Def\,新建文本文档,命名规则通常为 地图显示名-NPC名.txt,如 盟重土城-传送使者.txt。

脚本内容示例(Hero/Blu/Legend通用格式):

;传送使者脚本
[@main]
#IF
#ACT
#SAY
我可送你去各地,选个目的地吧:\<传去沃玛寺庙/@GoWoma> \<传去祖玛/@GoZuma> \<传去猪洞七层/@GoZhudian> \<离开/@exit>

[@GoWoma]
#IF
#ACT
MAPMOVE 1 18 23
#SAY
已传送到沃玛寺庙!\

[@GoZuma]
#IF
#ACT
MAPMOVE 6 82 176
#SAY
已传送到祖玛神殿入口!\

[@GoZhudian]
#IF
#ACT
MAPMOVE 7 55 55
#SAY
已传送到石墓尸王洞!\

说明:
• [@main] 是玩家右键点NPC首先看到的对话页。

• #SAY 里 \<文字/@标签> 生成可点击链接。

• MAPMOVE 地图编号 X Y 执行传送,地图编号按你MapInfo.txt中实际编号填(沃玛寺庙入口通常1,祖玛入口通常6或601,石墓通常7或701)。

- 行首分号;为注释,不影响运行。

若只想简单传一个地方可写成:

[@main]
#IF
#ACT
MAPMOVE 6 82 176
#SAY
已传送到祖玛入口!\


三、在Merchant.txt注册NPC

打开 MirServer\Mir200\Envir\Merchant.txt,翻到末尾追加一行,格式为:

NPC显示名 地图编号 X Y 方向 外形编号 是否为交易NPC 脚本文件名(无后缀)

示例(盟重土城330,268处放传送使者,朝向下=5,外形用普通NPC 8号,脚本文件名为"盟重土城-传送使者"):

传送使者 3 330 268 5 8 0 盟重土城-传送使者

各字段含义:
• 传送使者 — 游戏中头顶显示的NPC名字

• 3 — 地图编号(盟重=3,比奇=0)

• 330 268 — X Y坐标

• 5 — 面向方向(0上1右2下3左,5为不转也可写0)

- 8 — 外形(NPC图片索引,常见0~几十,可试11是老人、8是普通侠客)
• 0 — 是否商人(0否,1是卖东西的商人)

• 盟重土城-传送使者 — Market_Def中脚本文件名去掉.txt

比奇土城放同理改地图编号为0,坐标换成比奇合适位置:

传送使者 0 330 268 5 8 0 比奇土城-传送使者

对应脚本文件名改为 比奇土城-传送使者.txt。

四、重启与测试

1. 关闭所有服务端进程或M2→控制→重读NPC配置(部分版本支持"刷新NPC"按钮)。
2. 完全重启M2Server、LoginSrv、DBServer、Gate后进入游戏。
3. GM号走到NPC位置右键点击,应弹出对话框并显示传送选项。
4. 若看不到NPC:确认Merchant.txt地图编号/坐标没错、脚本文件名(去后缀)与Market_Def中完全一致、无全角空格、重启了服务端。
5. 若点了没反应或报错:检查脚本中MAPMOVE地图编号是否存在于MapInfo.txt,坐标是否在合法范围(不在墙/水里)。

五、添加功能——收费传送或等级限制(可选)

收费传送(扣金币):

[@GoZuma]
#IF
CHECKGOLD > 9999
#ACT
TAKEGOLD 10000
MAPMOVE 6 82 176
#SAY
花费10000金币传送到祖玛!\
#ELSESAY
金币不足10000,无法传送!\


等级限制(例30级):

[@GoWoma]
#IF
CHECKLEVELEX > 29
#ACT
MAPMOVE 1 18 23
#ELSESAY
需要30级才能前往沃玛寺庙!\


六、删除或修改已有NPC

• 改位置:直接编辑Merchant.txt中对应行的坐标/地图编号,重启。

• 删NPC:Merchant.txt中整行删掉或前面加分号注释掉,并把对应Market_Def脚本移走或改名,重启生效。

- 改对话文字或传送目标:只改Market_Def下对应txt脚本内容,保存后M2→控制→重读NPC配置即可,不需重启全部网关。

操作前建议备份 Mir200\Envir\Merchant.txt 和 Mir200\Envir\Market_Def\ 整个文件夹。