仿盛大传奇中,金牛岛通常作为中后期地图使用,进入条件一般包含等级、元宝、任务道具或地图权限。服务端添加金牛岛NPC时,需要同时处理Merchant.txt配置、脚本文件路径、地图编号、传送坐标、进入条件判断和返回NPC。不同版本地图编号可能不同,正式使用前必须先在当前版本的MapInfo.txt中确认金牛岛编号。
一、Merchant.txt配置
在Mir200EnvirMerchant.txt中添加NPC配置行。
盟重省群雄金牛岛使者 3 330 335 群雄金牛岛使者 0 11 0 0 0
参数含义:
脚本路径:盟重省群雄金牛岛使者,对应market_def目录下的文件夹和文件名。
地图编号:3代表盟重省,需替换为当前版本实际编号。
坐标:330 335为NPC站立位置,应放在安全区附近。
NPC名称:群雄金牛岛使者。
方向:0为默认朝向。
外观代码:11为示例,不同版本外观编号不同,可在客户端npc.wzl或Monster.db中查看。
是否沙巴克:0表示非沙巴克专属。
是否移动:0表示静止。
移动间隔:0表示不移动。
二、脚本文件创建
在Mir200Envirmarket_def盟重省目录下新建群雄金牛岛使者-3.txt,文件编码必须为ANSI,避免中文乱码。
三、主对话脚本
[@main]
IF
ACT
SAY
群雄金牛岛\
\
金牛岛内怪物凶猛,掉落丰厚。\
进入需要满足一定条件,请确认后前往。\
\
<进入金牛岛/@EnterJNX>\
<查看进入条件/@JNXRule>\
<返回/@exit>
四、进入条件判断
仿盛大版本通常会设置等级和元宝门槛。以下示例使用等级、元宝和任务道具三重检测。
[@EnterJNX]
IF
CHECKLEVEL >= 60
CHECKGAMEGOLD >= 100
CHECKITEM 金牛令 1
ACT
TAKE 金牛令 1
GAMEGOLD - 100
MAPMOVE 金牛岛 150 150
SENDMSG 7 你已进入群雄金牛岛。
BREAK
ELSESAY
进入条件不足。\
需要等级60级、元宝100、金牛令1个。
其中“金牛岛”需替换为MapInfo.txt中定义的实际地图编号或地图名称。部分引擎MAPMOVE只接受编号,例如MAPMOVE 50 150 150。
五、仅使用等级和元宝的简化写法
如果版本不需要任务道具,可以简化检测:
[@EnterJNX]
IF
CHECKLEVEL >= 55
CHECKGAMEGOLD >= 50
ACT
GAMEGOLD - 50
MAPMOVE 金牛岛 150 150
SENDMSG 7 你已进入群雄金牛岛。
BREAK
ELSESAY
等级或元宝不足,无法进入金牛岛。
六、进入规则查看
[@JNXRule]
IF
ACT
SAY
金牛岛进入规则\
\
角色等级需达到60级。\
每次进入消耗元宝100。\
需要背包内有金牛令1个。\
金牛岛内死亡正常掉落。\
金牛岛内可自由PK。\
每日进入次数不限。\
\
<返回/@main>
七、金牛岛内返回NPC
在金牛岛地图中也需要放置返回NPC,否则玩家只能靠回城卷或死亡返回。
Merchant.txt中添加:
群雄金牛岛金牛岛返回使者 金牛岛 150 155 金牛岛返回使者 0 11 0 0 0
脚本文件路径为market_def群雄金牛岛金牛岛返回使者-地图编号.txt,内容如下:
[@main]
IF
ACT
SAY
金牛岛返回\
\
是否返回盟重省?\
\
<返回盟重/@BackToMeng>\
<取消/@exit>
[@BackToMeng]
IF
ACT
MAPMOVE 3 330 335
SENDMSG 7 你已返回盟重省。
BREAK
返回地图编号3同样需要替换为当前版本盟重省实际编号。
八、每日进入次数限制
如果需要限制每日进入次数,可以使用U变量记录:
[@EnterJNXLimit]
IF
CHECKLEVEL >= 60
CHECKGAMEGOLD >= 100
CHECKITEM 金牛令 1
SMALL U20 5
ACT
TAKE 金牛令 1
GAMEGOLD - 100
INC U20 1
MAPMOVE 金牛岛 150 150
SENDMSG 7 你已进入群雄金牛岛,今日剩余次数<CAL(5 - <STR(U20)>)>次。
BREAK
ELSESAY
进入条件不足或今日次数已用完。
每日零点需要在QManage.txt或机器人脚本中重置:
[@DailyResetJNX]
IF
ACT
MOV U20 0
BREAK
九、行会或组队进入限制
部分仿盛大版本会要求组队或行会才能进入金牛岛,可改为:
[@EnterJNXGroup]
IF
CHECKLEVEL >= 60
CHECKGAMEGOLD >= 100
CHECKITEM 金牛令 1
CHECKGROUPCOUNT >= 3
ACT
TAKE 金牛令 1
GAMEGOLD - 100
GROUPMAPMOVE 金牛岛 150 150
SENDMSG 7 你的队伍已进入群雄金牛岛。
BREAK
ELSESAY
队伍人数不足3人,无法进入金牛岛。
GROUPMAPMOVE为部分引擎支持的组队传送命令,若当前版本不支持,可改为只传送队长,或改为单人进入。
十、地图编号确认方法
金牛岛地图编号必须与MapInfo.txt一致。打开MapInfo.txt,查找类似:
(50 金牛岛
括号前的数字即为地图编号。如果版本使用字符串地图名,则MAPMOVE可直接写地图名称;如果只支持编号,则必须写数字编号。不确定时,可先用GM命令进入该地图,再通过在线人物查看确认。
十一、常见问题排查
NPC不显示:检查Merchant.txt配置行是否完整,坐标是否在地图可站立区域,外观编号是否有效。
点击无反应:检查market_def目录下脚本文件名是否与Merchant.txt路径一致,文件编码是否为ANSI。
传送失败:检查MAPMOVE后的地图编号是否存在,坐标是否在安全区域。
中文乱码:脚本文件必须用ANSI编码保存。
条件判断无效:确认CHECKLEVEL、CHECKGAMEGOLD、CHECKITEM等命令是否被当前引擎支持。
仿盛大群雄金牛岛NPC的核心是Merchant.txt配置、脚本文件路径、地图编号、进入条件检测和返回传送。地图编号、外观代码、传送命令名称可能随引擎版本变化,添加前应先确认当前版本的MapInfo.txt和脚本命令支持情况。
传奇仿盛大群雄金牛岛NPC代码:Merchant配置传送脚本地图条件与进入限制
来源:
作者:
点击:

