传奇地图不允许带宠物脚本全场景设置与生效方法

来源: 作者: 点击:
传奇地图不允许带宠物,核心是通过**MapInfo.txt**配置参数或**进入地图脚本**实现,覆盖“禁止召唤”“进入自动清宠”“持续限制”三类需求,无需复杂代码,按场景配置即可生效,适配主流引擎,新手可直接照做。

##一、快速配置:MapInfo.txt直接限制(最常用)
打开路径**\Mir200\Envir\MapInfo.txt**,找到目标地图行,添加对应参数,重启引擎生效,适合一次性限制单张或多张地图。

###1.禁止召唤宠物(进入后无法召唤)
在地图行末尾添加**NOTALLOWCALLPET**参数,格式如下:
```
[地图编号地图名称]NOTALLOWCALLPET
```
示例:限制比奇省(地图编号0)无法带宠
```
[0比奇省]NOTALLOWCALLPET
```
###2.禁止召唤+自动清退已有宠物
添加**NOTALLOWCALLPET+CLEANPETONENTER**,进入地图时自动清除玩家当前携带的宠物,适合“绝对无宠”场景:
```
[地图编号地图名称]NOTALLOWCALLPET+CLEANPETONENTER
```
示例:限制土城(地图编号1)自动清宠
```
[1土城]NOTALLOWCALLPET+CLEANPETONENTER
```
###3.兼容引擎参数补充
部分引擎可直接用通用地图参数实现限制,无需额外脚本:
-**TAKEHERO**:当前地图不允许召唤英雄/分身(部分版本适用)
-**MISSION**:进入后宝宝自动消失,无法攻击(适配部分经典版本)
示例(土城限制英雄+宠物):
```
[1土城]TAKEHERONOTALLOWCALLPET
```

##二、进阶配置:进入地图脚本精准控制
适合需要“触发提示”“等级/职业限制”的复杂场景,通过**CHECKQUEST**调用专属脚本,灵活度更高。

###1.第一步:MapInfo.txt绑定脚本
在目标地图行添加**CHECKQUEST(QNoPet)**,QNoPet为脚本名称(可自定义):
```
[地图编号地图名称]CHECKQUEST(QNoPet)
```
示例:限制僵尸洞(地图编号10)调用QNoPet脚本
```
[10僵尸洞]CHECKQUEST(QNoPet)
```

###2.第二步:创建脚本文件
在**\Mir200\Envir\QuestDiary**文件夹新建文本文档,重命名为**QNoPet.txt**,粘贴以下代码(按需修改):

####基础版:进入提示+禁止召唤
```
[@EnterMap]
#IF
TRUE
#ACT
SENDMSG6本地图禁止携带宠物,已自动收回!
CLEANPET
BREAK
```

####进阶版:分职业限制(仅道士可带)
```
[@EnterMap]
#IF
NOTCHECKJOB3#非道士职业
#ACT
SENDMSG6本地图仅道士可携带宠物,你的宠物已收回!
CLEANPET
#ELSE
SENDMSG6本地图仅道士允许携带宠物。
BREAK
```

####严格版:进入即清宠+持续限制
```
[@EnterMap]
#IF
TRUE
#ACT
CLEANPET#进入立即清宠
SETVARS01#标记地图限制状态
BREAK

[@LeaveMap]
#IF
TRUE
#ACT
SETVARS00#离开地图取消限制
BREAK

[@PerMinute]#每分钟检查一次,防止玩家重新召唤
#IF
VARS01
#ACT
CHECKSLAVECOUNT>0#检测是否有宠物
CLEANPET#有宠物则清除
SENDMSG6本地图禁止携带宠物,请勿重新召唤!
BREAK
```

###3.第三步:生效与测试
1.保存脚本文件,重启引擎;
2.进入目标地图,验证是否触发提示、宠物是否被清除;
3.召唤宠物测试,确认无法召唤或召唤后立即消失。

##三、常见问题与排查(100%生效)
1.配置后无效果
-检查**MapInfo.txt**参数拼写错误(如漏写NOTALLOWCALLPET);
-确认脚本路径正确(QuestDiary文件夹,脚本名与CHECKQUEST一致);
-重启引擎,确保配置加载生效。

2.宠物未自动清除
-脚本中**CLEANPET**命令未添加或拼写错误;
-部分引擎需开启“宠物自动管理”功能(在引擎M2控制器→参数设置→宠物管理中勾选)。

3.仅部分玩家生效
-检查是否有其他脚本/插件覆盖限制(如行会专属地图脚本);
-用**CHECKSLAVECOUNT**命令排查,确认宠物数量检测正常。

##四、多地图批量限制技巧
1.批量添加参数:用记事本打开**MapInfo.txt**,通过“替换功能”批量给目标地图行添加NOTALLOWCALLPET;
2.批量绑定脚本:新建文本文档,写入以下内容,保存为**批量绑脚本.bat**,双击运行(需修改地图编号列表):
```
@echooff
set"maplist=011020"#批量限制的地图编号,用空格分隔
for%%iin(%maplist%)do(
echo[%%i对应地图名称]CHECKQUEST(QNoPet)>>\Mir200\Envir\MapInfo.txt
)
echo批量绑定完成!
pause
```

##五、核心命令汇总(直接复制使用)
|命令|功能|适用场景|
|------|------|----------|
|NOTALLOWCALLPET|禁止召唤宠物|单地图基础限制|
|CLEANPETONENTER|进入自动清宠|绝对无宠地图|
|CHECKQUEST(QName)|绑定进入脚本|复杂限制(提示/分职业)|
|CLEANPET|清除当前宠物|脚本核心命令|
|CHECKJOB3|判断道士职业|分职业限制|
|CHECKSLAVECOUNT>0|检测宠物数量|持续限制|

总结:地图禁宠优先用**MapInfo.txt**直接配置,简单高效;复杂需求用**CHECKQUEST**调用脚本,灵活可控。全程无需复杂代码,按步骤配置后重启引擎,即可100%生效,适配所有主流传奇版本。
[顶部]