#### 一、核心原理
传奇游戏中禁止宠物进入特定地图的脚本触发,主要通过**动态检测机制**和**地图事件绑定**实现。核心逻辑分为两种方案:
1. **机器人脚本循环检测**:通过定时任务检测玩家携带宠物状态并强制清除;
2. **地图配置文件触发**:利用地图参数绑定任务脚本,在玩家进入地图时自动执行检测。
需结合引擎功能(如M2设置)与脚本命令(如`CHECKSLAVECOUNT`、`KILLSLAVE`)完成操作。
---
#### 二、方案一:机器人脚本动态检测
**适用场景**:需全天候监控的地图(如皇宫、BOSS房间)。
**配置步骤**:
1. **创建机器人脚本**
在服务端`RobotDef`目录下新增脚本(如`AutoCheckPet.txt`),写入以下内容:
```
#AutoRun NPC RUNONDAY 00:01 @CheckPet
[@CheckPet]
#ACT
CHECKSLAVECOUNT 地图编号 > 0
KILLSLAVE ALL
```
- **`CHECKSLAVECOUNT`**:检测指定地图内玩家的宠物数量;
- **`KILLSLAVE ALL`**:清除所有宠物。
2. **设置检测频率**
通过`RUNONDAY`或`RUNONWEEK`参数控制检测间隔,例如每小时检测一次:
```
#AutoRun NPC RUNONHOUR 1 @CheckPet
```
**优点**:覆盖全时段,防止玩家违规带入宠物。
**缺点**:频繁检测可能增加服务器负载。
---
#### 三、方案二:地图事件触发检测
**适用场景**:需精准控制进入行为的副本或活动地图。
**配置步骤**:
1. **修改地图配置文件**
打开`Mir200\Envir\MapInfo.txt`,在目标地图参数后添加任务脚本绑定:
```
[地图名称] DAY CHECKQUEST(Q001)
```
- **`CHECKQUEST(Q001)`**:绑定编号为`Q001`的任务脚本。
2. **编写任务脚本**
在`QuestDiary`目录下创建`Q001.txt`,写入检测与清除逻辑:
```
[@Main]
#IF
CHECKSLAVECOUNT > 0
#ACT
KILLSLAVE ALL
SENDMSG 6 "禁止携带宠物进入本地图!已强制清除。"
```
3. **启用地图事件触发**
在M2引擎中勾选功能设置:
```
M2 → 选项 → 功能设置 → 基本设置 → 启用地图事件触发
```
**注意**:未启用此选项将导致脚本失效。
**优点**:精准触发,减少资源消耗。
**缺点**:仅在地图入口生效,无法拦截中途召唤宠物的行为。
---
#### 四、高级配置:坐标范围触发(结合MapEvent.txt)
若需在特定坐标范围内禁止宠物,可扩展使用`MapEvent.txt`:
1. **配置触发规则**
在`MapEvent.txt`中定义事件:
```
地图编号 坐标X 坐标Y 范围 触发标识 触发条件 机率 事件类型
D2061 -1 -1 0 -1:0 6:*:0 0 1:@CheckPet
```
- **触发条件**:`6`表示检测爆出物品(此处用通配符`*`适配所有情况);
- **事件类型**:调用`QFunction.txt`中的`@CheckPet`脚本。
2. **编写功能脚本**
在`QFunction.txt`中添加:
```
[@CheckPet]
#ACT
CHECKSLAVECOUNT > 0
KILLSLAVE ALL
```
**适用场景**:限制BOSS刷新点、宝箱区域等关键坐标。
---
#### 五、引擎兼容性与注意事项
1. **引擎适配**
- 3K引擎:支持`CHECKSLAVECOUNT`和`KILLSLAVE`命令;
- GOM/GEE引擎:需使用`CheckSlaveCount`和`KillSlave`等效语法。
2. **防绕过设计**
- **禁止召唤类物品**:在地图参数中添加`NORECALL`(禁止记忆套传送)、`NOMasterRecall`(禁止师徒传送);
- **清除宠物变量**:通过`CLEARNAMELIST ..\QuestDiary\宠物列表.txt`重置玩家宠物数据。
3. **日志记录**
添加违规记录功能,便于GM追溯:
```
#ACT
KILLSLAVE ALL
AddTextListEx ..\QuestDiary\违规日志.txt [%日期] 玩家[%s]携带宠物进入[%地图]
```
---
#### 六、结语
通过机器人脚本与地图事件的双重机制,可高效实现传奇地图的宠物禁止功能。开发者需根据实际需求选择方案,并注意引擎兼容性和反作弊设计,最终保障游戏的平衡性与公平性。
传奇地图禁止宠物脚本触发机制全解析,机器人检测与地图事件双方案
来源:
作者:
点击:

