表概述

areatrigger_involvedrelation表属于Trigger System,将areatrigger(区域触发器)与quest(任务)绑定。当玩家进入该区域触发器范围时,如果正在进行关联的任务,会自动更新任务进度。

主键为 id,对应AreaTrigger.dbc中的触发器ID。每条记录绑定一个任务。

表结构

字段名数据类型默认值说明
idINT UNSIGNED0区域触发器ID(主键,来自AreaTrigger.dbc)
questINT UNSIGNED0关联的任务ID

重要字段详解

id (区域触发器)

对应AreaTrigger.dbc中的ID。每个触发器在游戏世界中定义一个检测区域(通常是一个球形或方形范围),当玩家进入该区域时触发检查。

quest (关联任务)

当玩家进入触发器区域且正在进行该任务时,自动更新任务进度。通常用于"前往XX地点"类型的任务目标。一个触发器可以绑定多个任务(多条记录)。

实战案例

为任务绑定区域触发检测
INSERT INTO areatrigger_involvedrelation (id, quest)
VALUES (100, 25001)
ON DUPLICATE KEY UPDATE quest=25001;
-- 当玩家进入areatrigger ID=100的区域且正在进行任务25001时,自动更新进度
查询某个区域触发器涉及的所有任务
SELECT id, quest
FROM areatrigger_involvedrelation
WHERE id = 100;

常见问题

Q: 任务进度不更新?

A: 检查areatrigger_involvedrelation中id是否与AreaTrigger.dbc的ID一致,quest是否正确,以及任务模板(quest_template)中是否配置了"进入区域"类型的任务目标。

Q: 一个触发器能关联多个任务吗?

A: 可以。在表中添加多条记录,使用相同的id但不同的quest即可。符合条件的任务都会被触发。