一、地图参数法:强制清空与禁止召唤(推荐)
最底层的解决方案,直接在MapInfo.txt中为地图添加参数,无需脚本触发。
1.MISSION参数(通用)
在目标地图配置行末尾添加MISSION。此参数会使地图内所有宝宝自动消失,且禁止使用任何物品和技能,效果最彻底。
[D515禁宠地图]MISSIONNORECALLNODEAL
2.GEE引擎专用:NoCallPet
GEE引擎支持NoCallPet参数,禁止召唤宠物,已召唤的会自动收回。
[D515禁宠地图]NoCallPet
3.禁止召唤技能
通过NOTALLOWUSEMAGIC直接封禁召唤类技能,从源头阻断。
[D515禁宠地图]NOTALLOWUSEMAGIC(召唤神兽|召唤骷髅|诱惑之光)
二、NPC传送脚本:前置拦截(带宠禁止进入)
在玩家通过NPC进入地图前进行检测,若有宠物则拒绝传送并提示。
[@传送禁宠地图]
#IF
;检测宝宝数量是否大于0(通用)
CHECKSLAVECOUNT>0
;GEE/GOM引擎也可用CheckPet1或PetExist
;CheckPet1
#ACT
MESSAGEBOX禁止携带宠物进入该地图,请先收回宝宝!
BREAK
#ELSEACT
MAPMOVED5155050
三、进入触发脚本:实时清理(QManage或MapEvent)
针对已进入地图或强行带入的宠物,使用触发脚本强制清理。
1.QFunction-0.txt登录触发(全图监控)
在QManage.txt或QFunction-0.txt中设置定时器或地图触发。
;方法1:进入地图触发
[@EnterMapD515]
#IF
CHECKSLAVECOUNT>0
#ACT
KILLSLAVE
SENDMSG6本地图禁止带宠,你的宝宝已被强制收回。
;方法2:机器人定时清理(RobotManage.txt)
[@OnTimer8]
#IF
CheckMapNameD515
CHECKSLAVECOUNT>0
#ACT
KILLSLAVE
2.地图事件触发(MapEvent)
在MapEvent.txt中配置,当玩家出现在地图时触发检测。
D515*0禁宠检测
对应QFunction-0.txt:
[@禁宠检测]
#IF
CHECKSLAVECOUNT>0
#ACT
KILLSLAVE
四、多引擎指令对照与常见问题
不同引擎检测宠物的指令略有差异,若上述代码无效请替换以下命令:
引擎检测宠物命令清理宠物命令备注
通用/BlueCHECKSLAVECOUNT>0KILLSLAVE最常用
GEECheckPet1RecallPet针对英雄/宠物
GOMPetExistCallBackPet需确认引擎支持
排查清单:
•脚本不生效:检查地图编号(D515)是否与MapInfo.txt完全一致,大小写敏感。
•MISSION参数无效:确认引擎是否支持该参数,部分老引擎仅支持MISSION的禁止物品技能功能。
•宝宝残留:KILLSLAVE可能无法清除“英雄”单位,针对英雄需使用NOCALLHERO参数或RecallPet命令。
最终建议:优先使用地图参数法(MISSION或NoCallPet),效率最高且不占用脚本资源;若需更灵活的提示或条件判断,再配合NPC传送脚本使用。
最底层的解决方案,直接在MapInfo.txt中为地图添加参数,无需脚本触发。
1.MISSION参数(通用)
在目标地图配置行末尾添加MISSION。此参数会使地图内所有宝宝自动消失,且禁止使用任何物品和技能,效果最彻底。
[D515禁宠地图]MISSIONNORECALLNODEAL
2.GEE引擎专用:NoCallPet
GEE引擎支持NoCallPet参数,禁止召唤宠物,已召唤的会自动收回。
[D515禁宠地图]NoCallPet
3.禁止召唤技能
通过NOTALLOWUSEMAGIC直接封禁召唤类技能,从源头阻断。
[D515禁宠地图]NOTALLOWUSEMAGIC(召唤神兽|召唤骷髅|诱惑之光)
二、NPC传送脚本:前置拦截(带宠禁止进入)
在玩家通过NPC进入地图前进行检测,若有宠物则拒绝传送并提示。
[@传送禁宠地图]
#IF
;检测宝宝数量是否大于0(通用)
CHECKSLAVECOUNT>0
;GEE/GOM引擎也可用CheckPet1或PetExist
;CheckPet1
#ACT
MESSAGEBOX禁止携带宠物进入该地图,请先收回宝宝!
BREAK
#ELSEACT
MAPMOVED5155050
三、进入触发脚本:实时清理(QManage或MapEvent)
针对已进入地图或强行带入的宠物,使用触发脚本强制清理。
1.QFunction-0.txt登录触发(全图监控)
在QManage.txt或QFunction-0.txt中设置定时器或地图触发。
;方法1:进入地图触发
[@EnterMapD515]
#IF
CHECKSLAVECOUNT>0
#ACT
KILLSLAVE
SENDMSG6本地图禁止带宠,你的宝宝已被强制收回。
;方法2:机器人定时清理(RobotManage.txt)
[@OnTimer8]
#IF
CheckMapNameD515
CHECKSLAVECOUNT>0
#ACT
KILLSLAVE
2.地图事件触发(MapEvent)
在MapEvent.txt中配置,当玩家出现在地图时触发检测。
D515*0禁宠检测
对应QFunction-0.txt:
[@禁宠检测]
#IF
CHECKSLAVECOUNT>0
#ACT
KILLSLAVE
四、多引擎指令对照与常见问题
不同引擎检测宠物的指令略有差异,若上述代码无效请替换以下命令:
引擎检测宠物命令清理宠物命令备注
通用/BlueCHECKSLAVECOUNT>0KILLSLAVE最常用
GEECheckPet1RecallPet针对英雄/宠物
GOMPetExistCallBackPet需确认引擎支持
排查清单:
•脚本不生效:检查地图编号(D515)是否与MapInfo.txt完全一致,大小写敏感。
•MISSION参数无效:确认引擎是否支持该参数,部分老引擎仅支持MISSION的禁止物品技能功能。
•宝宝残留:KILLSLAVE可能无法清除“英雄”单位,针对英雄需使用NOCALLHERO参数或RecallPet命令。
最终建议:优先使用地图参数法(MISSION或NoCallPet),效率最高且不占用脚本资源;若需更灵活的提示或条件判断,再配合NPC传送脚本使用。

