传奇脚本:杀死怪物直接传送全攻略(附详细修复方案)

来源: 作者: 点击:
想实现“杀死指定怪物后,玩家立即传送至目标地图”,但按常规方法在MapQuest_def和MapQuest.txt添加配置后触发无效?别急!以下是经过验证的解决方案和详细步骤,解决你的燃眉之急!

常规配置方法(附修复重点)

✅正确配置流程
MapQuest_def文件夹

创建脚本文件(如KillMonTeleport.txt),内容如下:
[地图编号怪物名称]
#IF
#ACT
MapMove目标地图编号X坐标Y坐标
break

示例(比奇省杀猪传送到盟重安全区):
[0野猪]
#IF
#ACT
MapMove3330330
break

MapQuest.txt文件

添加脚本文件名(每行一个):
KillMonTeleport.txt


⚠️触发无效的5大原因(90%问题在此!)
怪物名称不匹配

确保Monster.DB中的怪物名和脚本完全一致(区分大小写和空格)。

❌错误示例:[0野猪王]→✅正确:[0野猪](查看数据库实际名称)。
地图编号错误

脚本中的地图编号需参考MapInfo.txt中的实际编号(如比奇省为0,盟重省为3)。
脚本格式错误

中括号[]内无多余空格:[0野猪](正确)vs[0野猪](错误)。

#ACT后直接写指令,不要换行(部分引擎严格限制格式)。
文件路径或加载问题

脚本文件必须放在MapQuest_def目录下。

修改后需在M2Server点击重新加载Quest或重启服务端。
引擎兼容性问题

部分引擎(如GEE)需用MAP代替MapMove,或使用MonItems目录触发(见下文方案)。

🔧终极解决方案:两种100%生效方法

方法一:QF脚本触发(推荐!)

在QFunction-0.txt中添加:
[@KillMon]
IF

CheckKillMonName野猪;检查怪物名
CheckMapName0;可选:限制地图

ACT

MAP3330330;传送到盟重安全区
SendMsg6成功杀死野猪,传送至盟重省!
break

优势:无视地图限制,触发更稳定,支持提示消息!

方法二:MonItems目录触发
在MonItems目录创建怪物名.txt(如野猪.txt)。

添加内容:

#IF
#ACT
MapMove3330330

注意:此方式需确保服务端开启怪物触发支持。

✨测试与排查技巧
查看M2日志

重启服务端时观察是否有[MapQuest]加载成功提示,若报错则检查脚本格式。
简化测试

先用SendMsg发送提示消息,确认触发是否生效,再添加传送逻辑。
玩家权限

用GM账号测试,避免因玩家权限不足导致传送失败。
[顶部]