quest_objectives | quest_poi | quest_poi_points

40 篇文章 0 订阅
16 篇文章 0 订阅

目录

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:任务目标顺序,按 0,1,2,3 依次递增
  • StorageIndex:作用待核实,默认取 0 值
  • 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 表)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值