传奇地图禁止带宠物,核心是通过脚本设置限制宠物召唤、跟随及存在,不同引擎(GOM、GEE等)操作逻辑一致,重点在于找到对应脚本文件、写入正确命令,同时区分单地图限制与全地图限制,下面分步骤详解具体设置方法,兼顾新手易操作和实操性,所有设置均无需复杂技术,按流程操作即可完成。
首先明确核心前提,无论哪种引擎,设置禁止带宠物脚本,都需要先找到传奇服务端的脚本目录,核心目录路径为MirServer\Mir200\Envir\Market_Def,该目录下的QFunction-0.txt的文件是核心脚本文件,大部分地图相关的限制脚本,都需要写入这个文件中,部分引擎可能会有QFunction-1.txt、QFunction-2.txt,任选一个即可,建议优先使用QFunction-0.txt,避免脚本冲突。
在写入脚本前,需先获取目标地图的地图编号,这是脚本精准生效的关键,缺一不可。获取方法很简单,打开服务端MirServer\Mir200\Map目录,找到目标地图的.map格式文件,文件名即为地图编号(如盟重地图编号为0,比奇为1,自定义地图会有专属编号);也可打开M2Server,点击“查看”,选择“地图信息”,在弹出的窗口中找到目标地图,即可查看对应的地图编号,记录下该编号,后续脚本中需精准填写。
接下来是单地图禁止带宠物脚本设置,这是最常用的场景,即仅指定某一个地图禁止玩家携带宠物进入,进入后宠物自动消失,且无法召唤,具体脚本写法分两种,适配所有主流引擎,新手可直接复制修改,无需额外编辑。
第一种脚本写法(推荐,适配GOM、GEE引擎),核心是检测玩家进入地图后,清除已有宠物并禁止召唤,脚本格式如下:(@EnterMapXXX)#IF#ACTCLEARPETMOV S1 1#ELSEACT#IFCHECKMAP XXX#ACTMOV S1 1#ELSEACTMOV S1 0其中,XXX替换为目标地图的编号,比如禁止编号为5的地图带宠物,就将XXX替换为5。该脚本的作用是,玩家进入指定地图后,自动清除身上已召唤的宠物,同时通过变量S1标记,禁止玩家在该地图内再次召唤宠物,退出地图后,变量自动重置,恢复宠物召唤功能。
第二种脚本写法(适配所有引擎,兼容老版本),侧重强制清除宠物且禁止召唤,脚本格式如下:(@MapCheck)#IFCHECKMAP XXX#ACTCLEARPETNOTALLOWCALLPET#ELSEACTALLOWCALLPET同样,XXX替换为目标地图编号。该脚本需搭配定时检测,在QFunction文件末尾添加定时触发命令:#TIMER 1 @MapCheck,设置为每1秒检测一次,确保玩家在地图内即使通过特殊方式召唤宠物,也会被立即清除,同时禁止后续召唤。这里需要注意,定时检测的时间不宜过短,1-2秒即可,避免占用过多服务器资源。
单地图设置后,需进行简单调试,确保脚本生效。调试方法:启动服务端,登录游戏,召唤宠物后进入目标地图,观察宠物是否自动消失;尝试在目标地图内召唤宠物,查看是否无法召唤;退出目标地图后,查看是否能正常召唤宠物,若均符合预期,则脚本设置成功;若宠物未消失或仍能召唤,检查地图编号是否填写正确、脚本是否完整写入QFunction文件,同时确认服务端已重启(脚本修改后需重启服务端才能生效)。
然后是全地图禁止带宠物脚本设置,适用于需要全局限制宠物的场景,比如全服禁止携带宠物,或大部分地图禁止、仅少数地图允许,具体写法分两种,可根据需求选择。
第一种全地图禁止(无例外),脚本写法简单,直接在QFunction-0.txt文件开头写入:(@Login)#IF#ACTNOTALLOWCALLPETCLEARPET该脚本的作用是,玩家登录游戏后,自动清除身上已有的宠物,且全程禁止召唤宠物,无论进入哪个地图,均无法召唤宠物,适合需要彻底禁止宠物的场景。需要注意,该脚本无需填写地图编号,会对所有地图生效,修改后重启服务端,所有玩家登录后均会受到限制。
第二种全地图禁止、少数地图允许,核心是先设置全局禁止,再对允许带宠物的地图单独解除限制,脚本写法如下:首先写入全局禁止脚本:(@Login)#IF#ACTNOTALLOWCALLPETCLEARPET#TIMER 1 @GlobalPetCheck然后写入定时检测脚本,用于解除指定地图的限制:(@GlobalPetCheck)#IFCHECKMAP YYY#ACTALLOWCALLPET#ELSEACTNOTALLOWCALLPETCLEARPET其中,YYY替换为允许带宠物的地图编号,若有多个允许的地图,可重复添加CHECKMAP命令,格式为:#IFCHECKMAP YYYCHECKMAP ZZZ#ACTALLOWCALLPET,ZZZ为第二个允许带宠物的地图编号。
不同引擎的补充设置的,确保脚本兼容无异常。GOM引擎补充:若设置后仍能召唤宠物,打开M2Server,点击“选项”,选择“功能设置”,找到“宠物控制”,取消“允许宠物跟随进入所有地图”选项,保存设置后重启M2;同时检查QFunction文件是否有重复的宠物相关脚本,避免冲突,脚本中的变量需全部大写,否则会导致脚本失效。
GEE引擎补充:GEE引擎支持可视化脚本配置,打开M2Server,点击“脚本”,选择“QFunction脚本”,找到对应文件,直接在可视化界面写入脚本,无需手动编辑文本,更适合新手;若出现脚本报错,检查脚本中的命令是否正确,GEE引擎禁止宠物召唤的核心命令为NOTALLOWCALLPET,清除宠物为CLEARPET,不可混淆,同时确保脚本中无多余空格或符号。
常见问题排查,解决新手设置中易遇到的问题。问题一:脚本写入后不生效,大概率是地图编号填写错误,重新核对地图编号,确保与.map文件名一致;或未重启服务端,脚本修改后必须重启服务端和M2,否则无法生效;也可能是脚本写入了错误的QFunction文件,需确认写入的是Market_Def目录下的QFunction文件。
问题二:进入地图后宠物未消失,但无法召唤,原因是脚本中缺少CLEARPET命令,补充该命令即可,确保脚本同时包含清除已有宠物和禁止召唤两个核心命令;问题三:退出禁止地图后,仍无法召唤宠物,是脚本中未添加变量重置或解除禁止的命令,需在脚本中补充ELSEACT ALLOWCALLPET,确保退出地图后恢复宠物召唤功能。
额外补充技巧,提升设置的灵活性。若需要设置部分玩家(如GM)不受禁止带宠物限制,可在脚本中添加权限判断,格式为:#IFCHECKADMINLEVEL 3(3为GM权限等级,可根据自身服务端设置修改)#ACTALLOWCALLPET#ELSEACTCHECKMAP XXXCLEARPETNOTALLOWCALLPET,这样GM玩家即可在禁止带宠物的地图内正常携带宠物,普通玩家则受限制。
另外,可给禁止带宠物的地图添加提示,让玩家明确规则,脚本中添加SENDMSG命令即可,格式为:#IFCHECKMAP XXX#ACTCLEARPETNOTALLOWCALLPETSENDMSG 6 【提示】当前地图禁止携带宠物,宠物已自动清除。其中,SENDMSG后面的6为提示颜色代码,可根据需求修改,不同颜色代码对应不同的提示颜色,无需额外设置,直接替换数字即可。
最后,脚本设置完成后,建议进行全面测试,覆盖不同场景:登录游戏召唤宠物、进入禁止地图、退出禁止地图、召唤宠物、GM玩家进入禁止地图,确保所有场景均符合设置需求,无异常情况。同时,备份好原始QFunction文件,若后续需要修改或恢复,可直接替换,避免脚本出错导致服务端异常。

