传奇地图不允许带宠物,核心是通过**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 土城] TAKEHERO NOTALLOWCALLPET
```
## 二、进阶配置:进入地图脚本精准控制
适合需要“触发提示”“等级/职业限制”的复杂场景,通过**CHECKQUEST**调用专属脚本,灵活度更高。
### 1. 第一步:MapInfo.txt绑定脚本
在目标地图行添加**CHECKQUEST(QNoPet)**,QNoPet为脚本名称(可自定义):
```
[地图编号 地图名称] CHECKQUEST(QNoPet)
```
示例:限制僵尸洞(地图编号10)调用QNoPet脚本
```
[10 僵尸洞] CHECKQUEST(QNoPet)
```
### 2. 第二步:创建脚本文件
在**\Mir200\Envir\QuestDiary**文件夹新建文本文档,重命名为**QNoPet.txt**,粘贴以下代码(按需修改):
#### 基础版:进入提示+禁止召唤
```
[@EnterMap]
#IF
TRUE
#ACT
SENDMSG 6 本地图禁止携带宠物,已自动收回!
CLEANPET
BREAK
```
#### 进阶版:分职业限制(仅道士可带)
```
[@EnterMap]
#IF
NOT CHECKJOB 3 # 非道士职业
#ACT
SENDMSG 6 本地图仅道士可携带宠物,你的宠物已收回!
CLEANPET
#ELSE
SENDMSG 6 本地图仅道士允许携带宠物。
BREAK
```
#### 严格版:进入即清宠+持续限制
```
[@EnterMap]
#IF
TRUE
#ACT
CLEANPET # 进入立即清宠
SETVAR S0 1 # 标记地图限制状态
BREAK
[@LeaveMap]
#IF
TRUE
#ACT
SETVAR S0 0 # 离开地图取消限制
BREAK
[@PerMinute] # 每分钟检查一次,防止玩家重新召唤
#IF
VAR S0 1
#ACT
CHECKSLAVECOUNT > 0 # 检测是否有宠物
CLEANPET # 有宠物则清除
SENDMSG 6 本地图禁止携带宠物,请勿重新召唤!
BREAK
```
### 3. 第三步:生效与测试
1. 保存脚本文件,重启引擎;
2. 进入目标地图,验证是否触发提示、宠物是否被清除;
3. 召唤宠物测试,确认无法召唤或召唤后立即消失。
## 三、常见问题与排查(100%生效)
1. 配置后无效果
- 检查**MapInfo.txt**参数拼写错误(如漏写NOTALLOWCALLPET);
- 确认脚本路径正确(QuestDiary文件夹,脚本名与CHECKQUEST一致);
- 重启引擎,确保配置加载生效。
2. 宠物未自动清除
- 脚本中**CLEANPET**命令未添加或拼写错误;
- 部分引擎需开启“宠物自动管理”功能(在引擎M2控制器→参数设置→宠物管理中勾选)。
3. 仅部分玩家生效
- 检查是否有其他脚本/插件覆盖限制(如行会专属地图脚本);
- 用**CHECKSLAVECOUNT**命令排查,确认宠物数量检测正常。
## 四、多地图批量限制技巧
1. 批量添加参数:用记事本打开**MapInfo.txt**,通过“替换功能”批量给目标地图行添加NOTALLOWCALLPET;
2. 批量绑定脚本:新建文本文档,写入以下内容,保存为**批量绑脚本.bat**,双击运行(需修改地图编号列表):
```
@echo off
set "maplist=0 1 10 20" # 批量限制的地图编号,用空格分隔
for %%i in (%maplist%) do (
echo [%%i 对应地图名称] CHECKQUEST(QNoPet) >> \Mir200\Envir\MapInfo.txt
)
echo 批量绑定完成!
pause
```
## 五、核心命令汇总(直接复制使用)
| 命令 | 功能 | 适用场景 |
|------|------|----------|
| NOTALLOWCALLPET | 禁止召唤宠物 | 单地图基础限制 |
| CLEANPETONENTER | 进入自动清宠 | 绝对无宠地图 |
| CHECKQUEST(QName) | 绑定进入脚本 | 复杂限制(提示/分职业) |
| CLEANPET | 清除当前宠物 | 脚本核心命令 |
| CHECKJOB 3 | 判断道士职业 | 分职业限制 |
| CHECKSLAVECOUNT > 0 | 检测宠物数量 | 持续限制 |
总结:地图禁宠优先用**MapInfo.txt**直接配置,简单高效;复杂需求用**CHECKQUEST**调用脚本,灵活可控。全程无需复杂代码,按步骤配置后重启引擎,即可100%生效,适配所有主流传奇版本。
传奇地图不允许带宠物脚本 全场景设置与生效方法
来源:
作者:
点击:

