一、核心触发逻辑:地图进入即清除宠物
脚本核心依赖地图进入事件触发,通过命令强制清除玩家携带的宠物(含道士召唤兽、英雄宝宝等),同时可限制进入后无法召唤宠物。适配主流HERO、3K、GOM引擎,皇宫地图需先确认地图编号(默认皇宫地图编号为3,可通过MapInfo.txt文件核对),脚本文件统一放在服务器Envir目录下,无需修改客户端文件。
触发优先级:地图进入触发>NPC对话触发,皇宫场景优先采用进入触发,确保玩家踏入地图瞬间清除宠物,避免宠物跟随进入引发异常,同时搭配后续限制召唤脚本,形成完整禁宠机制。
二、通用杀宠脚本(适配所有引擎,皇宫专用)
1.地图进入自动杀宠脚本(核心脚本)
脚本路径:D:\Mirserver\Mir200\Envir\MapQuest_def\QManage.txt(全局触发脚本文件),添加以下代码实现踏入皇宫自动清除宠物,无需额外触发条件。
代码示例:
(@OnEnterMap3)
#IF
IsOnMap3//3为皇宫地图编号,需按实际编号修改
#ACT
KillPet//清除玩家自身召唤的宠物(道士骷髅、神兽等)
KillHero//清除英雄宝宝,无英雄系统可删除此句
SendMsg5进入皇宫禁止携带宠物,已自动清除!//发送系统提示
SetPetBan13//在编号3的地图禁止召唤宠物,持续生效
#ELSEACT
SetPetBan0//离开皇宫地图后解除召唤限制
补充说明:代码中@OnEnterMap后数字需与皇宫地图编号一致,若皇宫地图编号为其他数值(如100),则改为@OnEnterMap100,MapInfo.txt文件可查询所有地图编号及对应名称。
2.防绕过补充脚本(禁止召唤+宠物拦截)
为避免玩家进入后通过技能重新召唤宠物,在QManage.txt文件添加定时器脚本,持续检测皇宫内宠物并清除,同时屏蔽召唤技能生效。
代码示例:
(@OnTimer9)
#IF
IsOnMap3
CheckPetExist//检测是否存在宠物
#ACT
KillPet
KillHero
SendMsg5皇宫内禁止召唤宠物,已强制清除!
SetTimer92000//每2秒检测一次,循环执行
//同时在技能数据库禁止皇宫内召唤技能生效,路径:D:\Mirserver\Mir200\Envir\Skill.txt
//找到召唤骷髅、召唤神兽等技能,添加条件:!IsOnMap3
操作:技能参数后补充“!IsOnMap3”,表示在地图3(皇宫)内无法释放该技能,从源头阻止召唤。
三、分引擎适配脚本(解决兼容问题)
1.HERO/3K引擎专属优化
此类引擎支持KillPetEx命令,可精准清除所有类型宠物,包括自定义召唤物,补充脚本如下,替换通用脚本中#ACT部分内容:
#ACT
KillPetEx0//0表示清除所有宠物类型,1为仅清除自身召唤物
BanSkill1113//11为召唤神兽技能ID,禁止在地图3生效,持续1分钟
BanSkill1213//12为召唤骷髅技能ID,按实际技能ID修改
提示:技能ID可在Skill.txt文件中查询,每个技能对应唯一ID,BanSkill命令可临时屏蔽技能,避免永久修改影响其他地图使用。
2.GOM引擎专属调整
GOM引擎需使用DelPet命令替代KillPet,同时通过MapConfig.txt文件设置地图属性,脚本与配置结合实现禁宠:
1.QManage.txt添加脚本:
(@OnEnterMap3)
#IF
IsOnMap3
#ACT
DelPet//GOM引擎清除宠物命令
SendMsg5皇宫内禁止携带宠物,违规宠物已清除!
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
SendMsg5已为你清除宠物,可进入皇宫!
MapMove3330350//传送至皇宫内坐标
#ELSEACT
SendMsg5你未携带宠物,可直接进入!
MapMove3330350
适用场景:需人工验证的场景,搭配NPC对话提升交互感,坐标需按皇宫实际传送点修改,确保玩家传送至安全区域。
脚本核心依赖地图进入事件触发,通过命令强制清除玩家携带的宠物(含道士召唤兽、英雄宝宝等),同时可限制进入后无法召唤宠物。适配主流HERO、3K、GOM引擎,皇宫地图需先确认地图编号(默认皇宫地图编号为3,可通过MapInfo.txt文件核对),脚本文件统一放在服务器Envir目录下,无需修改客户端文件。
触发优先级:地图进入触发>NPC对话触发,皇宫场景优先采用进入触发,确保玩家踏入地图瞬间清除宠物,避免宠物跟随进入引发异常,同时搭配后续限制召唤脚本,形成完整禁宠机制。
二、通用杀宠脚本(适配所有引擎,皇宫专用)
1.地图进入自动杀宠脚本(核心脚本)
脚本路径:D:\Mirserver\Mir200\Envir\MapQuest_def\QManage.txt(全局触发脚本文件),添加以下代码实现踏入皇宫自动清除宠物,无需额外触发条件。
代码示例:
(@OnEnterMap3)
#IF
IsOnMap3//3为皇宫地图编号,需按实际编号修改
#ACT
KillPet//清除玩家自身召唤的宠物(道士骷髅、神兽等)
KillHero//清除英雄宝宝,无英雄系统可删除此句
SendMsg5进入皇宫禁止携带宠物,已自动清除!//发送系统提示
SetPetBan13//在编号3的地图禁止召唤宠物,持续生效
#ELSEACT
SetPetBan0//离开皇宫地图后解除召唤限制
补充说明:代码中@OnEnterMap后数字需与皇宫地图编号一致,若皇宫地图编号为其他数值(如100),则改为@OnEnterMap100,MapInfo.txt文件可查询所有地图编号及对应名称。
2.防绕过补充脚本(禁止召唤+宠物拦截)
为避免玩家进入后通过技能重新召唤宠物,在QManage.txt文件添加定时器脚本,持续检测皇宫内宠物并清除,同时屏蔽召唤技能生效。
代码示例:
(@OnTimer9)
#IF
IsOnMap3
CheckPetExist//检测是否存在宠物
#ACT
KillPet
KillHero
SendMsg5皇宫内禁止召唤宠物,已强制清除!
SetTimer92000//每2秒检测一次,循环执行
//同时在技能数据库禁止皇宫内召唤技能生效,路径:D:\Mirserver\Mir200\Envir\Skill.txt
//找到召唤骷髅、召唤神兽等技能,添加条件:!IsOnMap3
操作:技能参数后补充“!IsOnMap3”,表示在地图3(皇宫)内无法释放该技能,从源头阻止召唤。
三、分引擎适配脚本(解决兼容问题)
1.HERO/3K引擎专属优化
此类引擎支持KillPetEx命令,可精准清除所有类型宠物,包括自定义召唤物,补充脚本如下,替换通用脚本中#ACT部分内容:
#ACT
KillPetEx0//0表示清除所有宠物类型,1为仅清除自身召唤物
BanSkill1113//11为召唤神兽技能ID,禁止在地图3生效,持续1分钟
BanSkill1213//12为召唤骷髅技能ID,按实际技能ID修改
提示:技能ID可在Skill.txt文件中查询,每个技能对应唯一ID,BanSkill命令可临时屏蔽技能,避免永久修改影响其他地图使用。
2.GOM引擎专属调整
GOM引擎需使用DelPet命令替代KillPet,同时通过MapConfig.txt文件设置地图属性,脚本与配置结合实现禁宠:
1.QManage.txt添加脚本:
(@OnEnterMap3)
#IF
IsOnMap3
#ACT
DelPet//GOM引擎清除宠物命令
SendMsg5皇宫内禁止携带宠物,违规宠物已清除!
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
SendMsg5已为你清除宠物,可进入皇宫!
MapMove3330350//传送至皇宫内坐标
#ELSEACT
SendMsg5你未携带宠物,可直接进入!
MapMove3330350
适用场景:需人工验证的场景,搭配NPC对话提升交互感,坐标需按皇宫实际传送点修改,确保玩家传送至安全区域。

