在传奇单机版(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.例:盟重土城坐标(330268),地图编号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
MAPMOVE11823
#SAY
已传送到沃玛寺庙!\
[@GoZuma]
#IF
#ACT
MAPMOVE682176
#SAY
已传送到祖玛神殿入口!\
[@GoZhudian]
#IF
#ACT
MAPMOVE75555
#SAY
已传送到石墓尸王洞!\
说明:
•[@main]是玩家右键点NPC首先看到的对话页。
•#SAY里\<文字/@标签>生成可点击链接。
•MAPMOVE地图编号XY执行传送,地图编号按你MapInfo.txt中实际编号填(沃玛寺庙入口通常1,祖玛入口通常6或601,石墓通常7或701)。
-行首分号;为注释,不影响运行。
若只想简单传一个地方可写成:
[@main]
#IF
#ACT
MAPMOVE682176
#SAY
已传送到祖玛入口!\
三、在Merchant.txt注册NPC
打开MirServer\Mir200\Envir\Merchant.txt,翻到末尾追加一行,格式为:
NPC显示名地图编号XY方向外形编号是否为交易NPC脚本文件名(无后缀)
示例(盟重土城330268处放传送使者,朝向下=5,外形用普通NPC8号,脚本文件名为"盟重土城-传送使者"):
传送使者3330268580盟重土城-传送使者
各字段含义:
•传送使者—游戏中头顶显示的NPC名字
•3—地图编号(盟重=3,比奇=0)
•330268—XY坐标
•5—面向方向(0上1右2下3左,5为不转也可写0)
-8—外形(NPC图片索引,常见0~几十,可试11是老人、8是普通侠客)
•0—是否商人(0否,1是卖东西的商人)
•盟重土城-传送使者—Market_Def中脚本文件名去掉.txt
比奇土城放同理改地图编号为0,坐标换成比奇合适位置:
传送使者0330268580比奇土城-传送使者
对应脚本文件名改为比奇土城-传送使者.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
TAKEGOLD10000
MAPMOVE682176
#SAY
花费10000金币传送到祖玛!\
#ELSESAY
金币不足10000,无法传送!\
等级限制(例30级):
[@GoWoma]
#IF
CHECKLEVELEX>29
#ACT
MAPMOVE11823
#ELSESAY
需要30级才能前往沃玛寺庙!\
六、删除或修改已有NPC
•改位置:直接编辑Merchant.txt中对应行的坐标/地图编号,重启。
•删NPC:Merchant.txt中整行删掉或前面加分号注释掉,并把对应Market_Def脚本移走或改名,重启生效。
-改对话文字或传送目标:只改Market_Def下对应txt脚本内容,保存后M2→控制→重读NPC配置即可,不需重启全部网关。
操作前建议备份Mir200\Envir\Merchant.txt和Mir200\Envir\Market_Def\整个文件夹。
一、确定NPC所在地图编号与坐标
1.进游戏用GM号输入@GetXY或看屏幕左下角坐标提示,站在想放NPC的位置记下:地图名、X、Y。
2.常见编号:比奇省=0,盟重省=3,沃玛森林=1,比奇矿区A=2。不确定打开MirServer\Mir200\Envir\MapInfo.txt对照括号里地名。
3.例:盟重土城坐标(330268),地图编号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
MAPMOVE11823
#SAY
已传送到沃玛寺庙!\
[@GoZuma]
#IF
#ACT
MAPMOVE682176
#SAY
已传送到祖玛神殿入口!\
[@GoZhudian]
#IF
#ACT
MAPMOVE75555
#SAY
已传送到石墓尸王洞!\
说明:
•[@main]是玩家右键点NPC首先看到的对话页。
•#SAY里\<文字/@标签>生成可点击链接。
•MAPMOVE地图编号XY执行传送,地图编号按你MapInfo.txt中实际编号填(沃玛寺庙入口通常1,祖玛入口通常6或601,石墓通常7或701)。
-行首分号;为注释,不影响运行。
若只想简单传一个地方可写成:
[@main]
#IF
#ACT
MAPMOVE682176
#SAY
已传送到祖玛入口!\
三、在Merchant.txt注册NPC
打开MirServer\Mir200\Envir\Merchant.txt,翻到末尾追加一行,格式为:
NPC显示名地图编号XY方向外形编号是否为交易NPC脚本文件名(无后缀)
示例(盟重土城330268处放传送使者,朝向下=5,外形用普通NPC8号,脚本文件名为"盟重土城-传送使者"):
传送使者3330268580盟重土城-传送使者
各字段含义:
•传送使者—游戏中头顶显示的NPC名字
•3—地图编号(盟重=3,比奇=0)
•330268—XY坐标
•5—面向方向(0上1右2下3左,5为不转也可写0)
-8—外形(NPC图片索引,常见0~几十,可试11是老人、8是普通侠客)
•0—是否商人(0否,1是卖东西的商人)
•盟重土城-传送使者—Market_Def中脚本文件名去掉.txt
比奇土城放同理改地图编号为0,坐标换成比奇合适位置:
传送使者0330268580比奇土城-传送使者
对应脚本文件名改为比奇土城-传送使者.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
TAKEGOLD10000
MAPMOVE682176
#SAY
花费10000金币传送到祖玛!\
#ELSESAY
金币不足10000,无法传送!\
等级限制(例30级):
[@GoWoma]
#IF
CHECKLEVELEX>29
#ACT
MAPMOVE11823
#ELSESAY
需要30级才能前往沃玛寺庙!\
六、删除或修改已有NPC
•改位置:直接编辑Merchant.txt中对应行的坐标/地图编号,重启。
•删NPC:Merchant.txt中整行删掉或前面加分号注释掉,并把对应Market_Def脚本移走或改名,重启生效。
-改对话文字或传送目标:只改Market_Def下对应txt脚本内容,保存后M2→控制→重读NPC配置即可,不需重启全部网关。
操作前建议备份Mir200\Envir\Merchant.txt和Mir200\Envir\Market_Def\整个文件夹。

