传奇地图禁带宠物脚本触发方法 皇宫杀宠脚本实操

来源: 作者: 点击:
一、核心触发逻辑:地图进入即清除宠物

脚本核心依赖地图进入事件触发,通过命令强制清除玩家携带的宠物(含道士召唤兽、英雄宝宝等),同时可限制进入后无法召唤宠物。适配主流HERO、3K、GOM引擎,皇宫地图需先确认地图编号(默认皇宫地图编号为3,可通过MapInfo.txt文件核对),脚本文件统一放在服务器Envir目录下,无需修改客户端文件。

触发优先级:地图进入触发>NPC对话触发,皇宫场景优先采用进入触发,确保玩家踏入地图瞬间清除宠物,避免宠物跟随进入引发异常,同时搭配后续限制召唤脚本,形成完整禁宠机制。

二、通用杀宠脚本(适配所有引擎,皇宫专用)

1. 地图进入自动杀宠脚本(核心脚本)

脚本路径:D:\Mirserver\Mir200\Envir\MapQuest_def\QManage.txt(全局触发脚本文件),添加以下代码实现踏入皇宫自动清除宠物,无需额外触发条件。

代码示例:

(@OnEnterMap3)

#IF

IsOnMap 3 //3为皇宫地图编号,需按实际编号修改

#ACT

KillPet //清除玩家自身召唤的宠物(道士骷髅、神兽等)

KillHero //清除英雄宝宝,无英雄系统可删除此句

SendMsg 5 进入皇宫禁止携带宠物,已自动清除! //发送系统提示

SetPetBan 1 3 //在编号3的地图禁止召唤宠物,持续生效

#ELSEACT

SetPetBan 0 //离开皇宫地图后解除召唤限制

补充说明:代码中@OnEnterMap后数字需与皇宫地图编号一致,若皇宫地图编号为其他数值(如100),则改为@OnEnterMap100,MapInfo.txt文件可查询所有地图编号及对应名称。

2. 防绕过补充脚本(禁止召唤+宠物拦截)

为避免玩家进入后通过技能重新召唤宠物,在QManage.txt文件添加定时器脚本,持续检测皇宫内宠物并清除,同时屏蔽召唤技能生效。

代码示例:

(@OnTimer9)

#IF

IsOnMap 3

CheckPetExist //检测是否存在宠物

#ACT

KillPet

KillHero

SendMsg 5 皇宫内禁止召唤宠物,已强制清除!

SetTimer 9 2000 //每2秒检测一次,循环执行

//同时在技能数据库禁止皇宫内召唤技能生效,路径:D:\Mirserver\Mir200\Envir\Skill.txt

//找到召唤骷髅、召唤神兽等技能,添加条件:!IsOnMap 3

操作:技能参数后补充“!IsOnMap 3”,表示在地图3(皇宫)内无法释放该技能,从源头阻止召唤。

三、分引擎适配脚本(解决兼容问题)

1. HERO/3K引擎专属优化

此类引擎支持KillPetEx命令,可精准清除所有类型宠物,包括自定义召唤物,补充脚本如下,替换通用脚本中#ACT部分内容:

#ACT

KillPetEx 0 //0表示清除所有宠物类型,1为仅清除自身召唤物

BanSkill 11 1 3 //11为召唤神兽技能ID,禁止在地图3生效,持续1分钟

BanSkill 12 1 3 //12为召唤骷髅技能ID,按实际技能ID修改

提示:技能ID可在Skill.txt文件中查询,每个技能对应唯一ID,BanSkill命令可临时屏蔽技能,避免永久修改影响其他地图使用。

2. GOM引擎专属调整

GOM引擎需使用DelPet命令替代KillPet,同时通过MapConfig.txt文件设置地图属性,脚本与配置结合实现禁宠:

1. QManage.txt添加脚本:

(@OnEnterMap3)

#IF

IsOnMap 3

#ACT

DelPet //GOM引擎清除宠物命令

SendMsg 5 皇宫内禁止携带宠物,违规宠物已清除!

2. 地图配置修改:打开D:\Mirserver\Mir200\Envir\MapConfig.txt,找到皇宫地图编号,添加“PetBan=1”,设置该地图为禁止宠物进入模式,双重保障。

四、脚本部署与测试步骤

1. 备份原文件:修改QManage.txt、Skill.txt前,复制文件备份,避免脚本错误导致服务器异常,备份文件命名为“文件名_备份”。

2. 填写正确参数:核对皇宫地图编号、技能ID,确保与服务器实际配置一致,地图编号错误会导致脚本无法触发,技能ID错误则无法屏蔽召唤。

3. 重启服务器:脚本修改后需重启传奇服务器,使配置生效,部分引擎支持热重载,但为确保稳定性,优先重启服务器。

4. 测试验证:用道士角色携带宠物进入皇宫,查看是否自动清除,尝试召唤宠物是否失效;切换有英雄的角色测试,确认英雄宝宝也被清除,无遗漏场景。

五、常见问题排查(脚本失效/异常解决)

1. 脚本不触发:优先核对地图编号是否正确,MapInfo.txt中确认皇宫对应编号;检查QManage.txt文件格式,确保代码行首无空格,符号为英文半角,中文符号会导致脚本失效。

2. 宠物清除不彻底:补充KillHero、DelPet命令,部分引擎KillPet仅清除自身召唤物,无法清除英雄宝宝,需多命令组合使用。

3. 其他地图无法召唤:检查SetPetBan、BanSkill命令是否添加地图限制,避免未指定地图导致全局禁宠,确保命令后携带正确地图编号。

4. 引擎报错:删除新增脚本后重启服务器,逐步添加代码排查错误行;GOM引擎需确认DelPet命令是否支持,旧版GOM可能需升级引擎核心文件。

六、拓展场景:NPC触发式杀宠脚本(备选方案)

若无需自动触发,可在皇宫门口设置NPC,玩家对话后清除宠物方可进入,脚本路径:D:\Mirserver\Mir200\Envir\NPCs\,新建NPC文件(如皇宫守卫.txt),代码如下:

[@Main]

#IF

CheckPetExist

#ACT

KillPet

KillHero

SendMsg 5 已为你清除宠物,可进入皇宫!

MapMove 3 330 350 //传送至皇宫内坐标

#ELSEACT

SendMsg 5 你未携带宠物,可直接进入!

MapMove 3 330 350

适用场景:需人工验证的场景,搭配NPC对话提升交互感,坐标需按皇宫实际传送点修改,确保玩家传送至安全区域。