当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

单机传奇添加传送员NPC设置教程修改Merchant.txt与Market_Def脚本步骤

热度:
单机传奇默认可能没有传送员,需要你在服务端手动注册NPC并写传送脚本。核心只动两个文件:Mir200\Envir\Merchant.txt(登记NPC位置和外观)和Mir200\Envir\Market_Def\目录下的脚本文件(写传送逻辑)。操作前先备份这两个位置。

一、确认地图编号(MapInfo.txt)
打开Mir200\Envir\MapInfo.txt,左边第一列数字是地图编号,第二列是地图名。常见编号:比奇省=0,沃玛森林=1,盟重省(土城)=3,毒蛇山谷=2,白日门=150(视版本略有不同)。记下你想放传送员的地图编号和目标地图编号(如尸王殿常见D401或Q004,废矿入口常见D002等),后面要用。

二、在Merchant.txt注册传送员
打开Mir200\Envir\Merchant.txt,拉到最末尾换行添加一行,格式如下:

脚本文件名地图编号X坐标Y坐标NPC显示名朝向外观码是否沙城是否移动移动间隔税率变色模式变色间隔固定色

实战示例——在盟重土城(地图3)坐标330330放一个叫"传送大师"的NPC,外观用经典老兵(73):

传送大师3330330传送大师073000000

参数说明:
•传送大师=脚本文件名(与Market_Def里建的txt主名对应,不含-地图号)

•3=地图编号(比奇用0,土城用3)

•330330=XY坐标(游戏内GM输@mob可看当前坐标,避开墙和重叠NPC)

-0=朝向
•73=外观代码(8是普通NPC老头,73是老兵/传送员常见造型,可试5/8/10/15/73等)

•后面几个0一般不用改

三、编写传送员脚本文件
进Mir200\Envir\Market_Def\目录,新建文本文件,命名规则通常是「脚本文件名-地图编号.txt」,上面例子就建:

传送大师-3.txt

(如果地图编号是0就建传送大师-0.txt,必须和Merchant.txt里的地图号对应)

脚本基础模板(传比奇安全区,无收费无等级限制):

[@main]
欢迎勇士!请选择你要前往的地方:\\
<前往比奇/@go_bichi><前往沃玛寺庙/@go_woma><关闭/@exit>

[@go_bichi]
#IF
#ACT
MAPMOVE0268334
SENDMSG6已传送到比奇安全区!

[@go_woma]
#IF
#ACT
MAPMOVE01165634
SENDMSG6已传送到沃玛寺庙一层!

[@exit]
#IF
#ACT

如需加收费(扣1000金币):

[@go_bichi]
#IF
CHECKITEM金币1000
#ACT
TAKE金币1000
MAPMOVE0268334
SENDMSG6已传送到比奇安全区!
#ELSESAY
金币不足1000无法传送!

如需加等级限制(35级以上才可传):

#IF
CHECKLEVELEX>35
CHECKITEM金币1000
#ACT
TAKE金币1000
MAPMOVED401119
...

MAPMOVE后第一个参数是MapInfo.txt里的地图编号,第二第三是目标地图内XY坐标,必须写对否则传送到黑块或报错。

四、让NPC生效
改完保存,有两种方式加载:
•推荐:M2Server.exe→控制→重新加载→重载NPC列表(或"重新加载所有NPC"),看M2下方日志有无红字报错。

-或直接关掉所有服务端程序重新启动一遍。
进游戏用GM角色走到设定坐标(土城330330)就能看到传送员,对话测试各传送选项。

五、常见问题排查
•NPC不显示:Merchant.txt地图号写错(别漏前导0如0116要写全0116看MapInfo)、坐标被墙挡住、Market_Def文件名与Merchant.txt中脚本文件名或地图号对不上、有行尾多余空格。

-点NPC对话框出不来:脚本文件编码须为ANSI(部分引擎不支持UTF-8带BOM),用Notepad++→格式→转为ANSI再保存。
•点传送选项没反应或报错:MAPMOVE地图编号在MapInfo.txt里不存在或地图文件(.map)缺失,核对MapInfo.txt第一列。

-多个地图都要放传送员:Merchant.txt每放一个地图加一行,Market_Def对应建「脚本名-地图号.txt」即可。

如果想做那种多地图选择的大传送员(比奇/土城/沃玛/祖玛/猪洞等全选),在脚本[@main]里多写几行<前往XXX/@标签>并对应写好各[@标签]段的MAPMOVE目标即可,逻辑同上。
[顶部]