quest_objectives | quest_poi | quest_poi_points

目录

quest_objectives(master)

quest_poi

quest_poi_points

实例


quest_objectives(master)

  • ID:任务目标 id,唯一标识
  • QuestID:任务 ID,取值链接 quest_template.entry
  • Type:任务目标类型,取值来源源码 QuestDef.h 的 QuestObjectiveType 定义
enum QuestObjectiveType
{
    QUEST_OBJECTIVE_MONSTER                 = 0,
    QUEST_OBJECTIVE_ITEM                    = 1,
    QUEST_OBJECTIVE_GAMEOBJECT              = 2,
    QUEST_OBJECTIVE_TALKTO                  = 3,
    QUEST_OBJECTIVE_CURRENCY                = 4,
    QUEST_OBJECTIVE_LEARNSPELL              = 5,
    QUEST_OBJECTIVE_MIN_REPUTATION          = 6,
    QUEST_OBJECTIVE_MAX_REPUTATION          = 7,
    QUEST_OBJECTIVE_MONEY                   = 8,
    QUEST_OBJECTIVE_PLAYERKILLS             = 9,
    QUEST_OBJECTIVE_AREATRIGGER             = 10,
    QUEST_OBJECTIVE_WINPETBATTLEAGAINSTNPC  = 11,
    QUEST_OBJECTIVE_DEFEATBATTLEPET         = 12,
    QUEST_OBJECTIVE_WINPVPPETBATTLES        = 13,
    QUEST_OBJECTIVE_CRITERIA_TREE           = 14,
    QUEST_OBJECTIVE_PROGRESS_BAR            = 15,
    QUEST_OBJECTIVE_HAVE_CURRENCY           = 16,   // req
    QUEST_OBJECTIVE_OBTAIN_CURRENCY         = 17,   // req
    QUEST_OBJECTIVE_INCREASE_REPUTATION     = 18,   // req
    QUEST_OBJECTIVE_AREA_TRIGGER_ENTER      = 19,
    QUEST_OBJECTIVE_AREA_TRIGGER_EXIT       = 20,
    QUEST_OBJECTIVE_KILL_WITH_LABEL         = 21,

    MAX_QUEST_OBJECTIVE_TYPE
};
  • Order:任务目标顺序,用来区分和设置任务目标的先后顺序
  • StorageIndex:任务目标存储索引,默认取 0 值,依次递增1
  • ObjectID:任务目标对象 id,取值链接 quest_poi.QuestObjectID
  • Amount:任务目标数量(击杀8个,拾取6个,等等)
  • Flags - Flags2:任务目标标识,取值来源源码 QuestDef.h 的 QuestObjectiveFlags
enum QuestObjectiveFlags
{
    QUEST_OBJECTIVE_FLAG_TRACKED_ON_MINIMAP                 = 0x0001, // client displays large yellow blob on minimap for creature/gameobject
    QUEST_OBJECTIVE_FLAG_SEQUENCED                          = 0x0002, // client will not see the objective displayed until all previous objectives are completed
    QUEST_OBJECTIVE_FLAG_OPTIONAL                           = 0x0004, // not required to complete the quest
    QUEST_OBJECTIVE_FLAG_HIDDEN                             = 0x0008, // never displayed in quest log
    QUEST_OBJECTIVE_FLAG_HIDE_CREDIT_MSG                    = 0x0010, // skip showing item objective progress
    QUEST_OBJECTIVE_FLAG_PRESERVE_QUEST_ITEMS               = 0x0020,
    QUEST_OBJECTIVE_FLAG_PART_OF_PROGRESS_BAR               = 0x0040, // hidden objective used to calculate progress bar percent (quests are limited to a single progress bar objective)
    QUEST_OBJECTIVE_FLAG_KILL_PLAYERS_SAME_FACTION          = 0x0080,
    QUEST_OBJECTIVE_FLAG_NO_SHARE_PROGRESS                  = 0x0100,
    QUEST_OBJECTIVE_FLAG_IGNORE_SOULBOUND_ITEMS             = 0x0200,
};

enum QuestObjectiveFlags2
{
    QUEST_OBJECTIVE_FLAG_2_QUEST_BOUND_ITEM = 0x1   // Item is bound to a single objective, only increments the counter for one quest if multiple require the same item and is not stored in inventory
};

quest_poi

  • BlobIndex:作用待核实,默认取 0 值
  • idx1:0,1,2,3,...
  • ObjectiveIndex:任务目标索引(具体用法见实例)
    • 取值为 -1 时,作为任务交付的POI标记
  • QuestObjectiveID:任务目标 id,取值链接 quest_objectives.id
  • QuestObjectID:任务目标对象 id,取值链接 quest_objectives.ObjectID
    • 根据 quest_objectives.Type 取值
  • MapID:地图 id取值链接 Map.db2
  • UiMapID:世界地图 id按 M 弹出的地图界面取值链接 UiMap.db2
  • Flags作用待核实,默认取 0 值

quest_poi_points

  • idx1:对应 quest_poi 的 idx1
  • idx2:若干个包含坐标信息的 idx2 数据组在小地图构建出对应 idx1 任务目标的范围
  • X | Y | Z:相应节点坐标

实例

  • 例1
    • 以下为questid = 8472(失效的傀儡)的任务,任务目标为“从奥术巡逻者身上取得6个奥术核心”。通过观察数据表可知,该任务共设置了idx1 = 0、1两个任务目标POI(图1)。
    • 图1的idx1 = 0 的 POI 范围由图2中4个点组成(idx2 = 0,1,2,3)
    • 图1的idx1 = 1 的 POI 范围由图2中5个点组成(idx2 = 0,1,2,3,4)
    • 图1的idx1 = 2 的这条数据为任务交付的POI标记,对应图2的 idx1 = 2 的坐标数据(此条坐标数据应为任务交付的坐标)

 (图1,quest_poi 表)

(图2,quest_poi_points 表)

  • 例2
    • questid = 9067(无尽的宴会)的任务,此任务共有三个任务目标:
      • 一捆烟花:258190
      • 魔泉美味:258191
      • 日光陈酿:258192

(图1,quest_objective 表)

(图2,quest_poi 表)

(图3,quest_poi_points 表)

例3

DELETE FROM `world`.`quest_objectives` WHERE `QuestID` = 27979;
INSERT INTO `world`.`quest_objectives` (`ID`, `QuestID`, `Type`, `Order`, `StorageIndex`, `ObjectID`, `Amount`, `Flags`, `Flags2`, `ProgressBarWeight`, `Description`, `VerifiedBuild`) VALUES 
(259716, 27979, 1, 0, 0, 62823, 1, 29, 0, 0, 'Letherio\'s Spherule', 57534),
(259717, 27979, 1, 0, 1, 62824, 1, 29, 0, 0, 'Finister\'s Spherule', 57534),
(259718, 27979, 1, 0, 2, 62825, 1, 29, 0, 0, 'Kiyuubi\'s Spherule', 57534),
(259811, 27979, 1, 1, 3, 62828, 1, 2, 1, 0, 'Twilight Tripetricine', 57534);
DELETE FROM `world`.`quest_poi` WHERE `QuestID` = 27979;
INSERT INTO `world`.`quest_poi` (`QuestID`, `BlobIndex`, `Idx1`, `ObjectiveIndex`, `QuestObjectiveID`, `QuestObjectID`, `MapID`, `UiMapID`, `Priority`, `Flags`, `WorldEffectID`, `PlayerConditionID`, `NavigationPlayerConditionID`, `SpawnTrackingID`, `AlwaysAllowMergingBlobs`, `VerifiedBuild`) VALUES 
(27979, 0, 0, -1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 57534),
(27979, 0, 1, 0, 259716, 62823, 0, 32, 0, 0, 0, 0, 0, 0, 0, 57534),
(27979, 0, 2, 1, 259717, 62824, 0, 32, 0, 0, 0, 0, 0, 0, 0, 57534),
(27979, 0, 3, 2, 259718, 62825, 0, 32, 0, 0, 0, 0, 0, 0, 0, 57534),
(27979, 0, 4, 32, 0, 0, 0, 32, 0, 0, 0, 0, 0, 114873, 0, 57534);
DELETE FROM `world`.`quest_poi_points` WHERE `QuestID` = 27979;
INSERT INTO `world`.`quest_poi_points` (`QuestID`, `Idx1`, `Idx2`, `X`, `Y`, `Z`, `VerifiedBuild`) VALUES 
(27979, 0, 0, -6514, -1181, 309, 57534),
(27979, 1, 0, -6637, -650, 242, 57534),
(27979, 2, 0, -6490, -874, 324, 57534),
(27979, 3, 0, -6731, -722, 233, 57534),
(27979, 4, 0, -6514, -1181, 309, 57534);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值