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

