任务修复思路

目录

修复思路

1、击杀数量要求

2、获取物品数量要求

3、对 creature (gameobject) 使用任务物品次数要求

4、随机日常任务

5、探索类任务

6、等级、种族、职业、专业、声望、荣誉限定

7、smart_scripts

8、附表

9、相关链接


修复思路
  • 通过quest_template_locale的LogTitle字段,查询任务ID
  • 通过creature_queststarter,creature_questender查询任务的给予creature的 ID,交付creature的 ID
  • 通过gameobject_queststarter,gameobject_questender查询任务的给予gameobject的 ID、交付gameobject的 ID
  • 通过item_template、item_template_locale的name字段,查询任务物品的Entry(ID)
  • 通过任务描述,决定修复方式
1、击杀数量要求

335:

quest_template

  • RequiredNpcOrGo[1-4](任务所需怪物的creature.entry
  • RequiredNpcOrGoCount[1-4] (任务所需怪物的数量)

master:

quest_objectives

  • Type = 0(ObjectiveType值,0为怪物,取值参见附表)
  • Order(任务目标的完成顺序)
  • ObjectID(由选择的Type类型决定,此处为怪物的creature.entry
  • Amount (由前面选择的Type类型决定,此处为需要杀的怪物数量
  • Flags(ObjectiveFlags值,取值参见附表)
2、获取物品数量要求

335:

从creature处获取物品 

  • quest_template
    • RequiredItemId[1-6](任务所需物品的Entry
    • RequiredItemCount[1-6](任务所需物品的数量)
    • ItemDrop[1-4](任务间接需要的物品Entry
    • ItemDropQuantity[1-4](任务间接需要物品的数量)
  • creature_loot_template
    • Item(任务物品的Entry
    • Chance(掉落几率)
    • QuestReuired = 1(是否任务所需,未接任务时不掉落)
    • LootMode(默认设置为1)
    • MinCount(最小掉落数量)
    • MaxCount(最大掉落数量)
  • item_template
    • Class = 12(ITEM_CLASS_QUEST,任务物品)
    • Flags:
      • 2048(ITEM_FLAG_MULTI_DROP,任务道具共同掉落,参与的玩家均可拾取)
      • 16777216(ITEM_FLAG_HAS_QUEST_GLOW)

从gameobject处获取物品

  • gameobject_template
    •  Type = 3(gameobject的type值,3为chest)
    •  Data0~Data23字段(根据前面Type的类型决定对应Data值,取值参见附表)
  • gameobject_template_addon
    • flags = 4(GO_FLAG_INTERACT_COND,未接任务时使对象不可交互)
  • gameobject_loot_template
    •  Item(任务物品的Entry
    •  Chance(掉落几率)
    •  QuestReuired = 1(是否任务所需,未接任务时不掉落)
    •  LootMode(默认设置为1)
    •  MinCount(最小掉落数量)
    •  MaxCount(最大掉落数量)
  • item_template
    • class = 12(任务物品)
    • Flags:
      • 2048(ITEM_FLAG_MULTI_DROP,任务道具共同掉落,参与的玩家均可拾取)
      • 16777216(ITEM_FLAG_HAS_QUEST_GLOW)

master:

从creature处获取物品

  • quest_template
    • ItemDrop[1-4](任务间接需要的物品Entry
    • ItemDropQuantity[1-4](任务间接需要物品的数量)
  • quest_objectives
    • Type = 1(ObjectiveType值,1为Item)
    • Order(任务目标的完成顺序)
    • ObjectID(由前面选择的Type类型决定,此处为任务物品的Entry
    • Amount(由前面选择的Type类型决定,此处为任务物品的数量
    • Flags(取值参见附表)
  • creature_loot_template
    • Item(任务物品的Entry
    • Chance(掉落几率)
    • QuestReuired = 1(是否任务所需,未接任务时不掉落)
    • LootMode(默认设置为1)
    • MinCount(最小掉落数量)
    • MaxCount(最大掉落数量)

从gameobject处获取物品

  • gameobject_template
    • Type = 3(gameobject的type值,3为chest)
    • Data0~Data34(根据前面Type的类型决定对应Data值)
  • gameobject_template_addon
    • flags = 4(GO_FLAG_INTERACT_COND,未接任务时使对象不可交互)
  • quest_objectives
    • Type = 3(ObjectiveType值,3为chest)
    • Order(任务目标的完成顺序)
    • ObjectID(由前面选择的Type类型决定,此处为任务物品的Entry
    • Amount(由前面选择的Type类型决定,此处为任务物品的数量
    • Flags(ObjectiveFlags值,取值参见附表)
  • gameobject_loot_template
    • Item(任务物品的Entry
    • Chance(掉落几率)
    • QuestReuired = 1(是否任务所需,未接任务时不掉落)
    • LootMode(默认设置为1)
    • MinCount(最小掉落数量)
    • MaxCount(最大掉落数量)
3、对 creature (gameobject) 使用任务物品次数要求

335:

  • quest_template
    • RequiredNpcOrGo[1-4](对 creature 使用时值为 creature entry,对 gameobject 使用时值为 gameobject Entry
    • RequiredNpcOrGoCount[1-4](对 creature 或 gameobject 使用任务物品次数
  • item_template
    • Class = 12(item分类,12为任务物品)
    • Subclass = 0(次级分类,此处绝大多数任务物品次级分类为0)
    • Flags: 参数可叠加
      • 64(Item 技能可由玩家释放)
      • 2048(ITEM_FLAG_MULTI_DROP,任务道具共同掉落,参与的玩家均可拾取)
    • Spellid_[1-5](Item可释放或触发的技能)
    • Spellcharges_[1-5](技能可释放或触发的次数,=0 时可无限次使用,<0 时次数用完Item耗尽,>0 时次数用完Item保留)
  • gameobject_template(对 gameobject 使用时修改)
    • Type(gameobject的type值)
    • Data[0-23](根据前面Type的类型决定对应Data值)

master:

  • quest_objectives
    • Type = 0 或 2(ObjectiveType 值,对 creature 使用时为 0,对 gameobject 使用时为 2,取值参见附表)
    • Order(任务目标的完成顺序)
    • ObjectID(由前面选择的 Type 类型决定,此处为所需 creature 或 gameobject 的Entry
    • Amount(由前面选择的 Type 类型决定,此处为所需 creature 或 gameobject 的数量
    • Flags: 1(在小地图显示任务位置,需要链接 quest_poi、quest_poi_point表的相应数据)
  • gameobject_template(对 gameobject 使用时修改)
    • Type(gameobject的type值)
    • Data[0-23](根据前面Type的类型决定对应Data值)
4、随机日常任务

335&master:

  • quest_template
    • Flags: 4096(日常任务)
  • quest_template_addon
    • ExclusiveGroup(随机日常任务分组,对应poolId)
  • quest_pool_template
    • poolId
    • numActive(刷新后每个pool内激活显示的任务数量)
  • quest_pool_members
    • questId
    • poolId
    • poolIndex
5、探索类任务

335:

  • quest_template_addon
    • SpecialFlags = 2(QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT)
  • areatrigger_involvedrelation
    • id(areatriggerID)
    • quest(questID)
  • areatrigger.dbc
    • entry(areatriggerID)
    • map(mapID,可用gm账号“.gps”查询)
    • x(x坐标)
    • y(y坐标)
    • z(z坐标)
    • radius(探索区域的范围,以x,y,z坐标为圆心radius为半径的圆)

master:

  • quest_template
    • Flags = 4(QUEST_FLAGS_COMPLETION_AREA_TRIGGER)
  • areatrigger_involvedrelation
    • id(areatriggerID)
    • quest(questID)
  • quest_objectives
    • questID
    • Type = 10(QUEST_OBJECTIVE_AREATRIGGER,取值参见附表)
    • ObjectID = -1
    • Amount = 0
  • areatrigger.dbc
    • entry(areatriggerID)
    • map(mapID,可用gm账号“.gps”查询)
    • x(x坐标)
    • y(y坐标)
    • z(z坐标)
    • radius(探索区域的范围,以x,y,z坐标为圆心radius为半径的圆)

注意:AreaTrigger.dbc 需要按 MapID 排序才能工作,即:新数据的id要根据“Mapid” 的大小适当的插入,如果仅在最后添加新行,则可能无法正常工作。 还不行的话,可尝试在 AreaTable.dbc 额外添加一条区域数据,其中的探索标识需要唯一不能重复、数值不能过大。

6、等级、种族、职业、专业、声望、荣誉限定

335&master:

  • quest_template
    • MinLevel(最小角色等级)
    • RequiredFactionId[1-2](阵营声望)
    • RequiredFactionValue[1-2](阵营声望值)
    • AllowableRaces(种族类型,取值参见附表)
  • quest_template_addon
    • MaxLevel(最大角色等级)
    • AllowableClasses(职业类型,取值参见附表)
    • RequiredSkillID(专业类型,取值参见附表)
    • RequiredSkillPoints(专业点数)
    • RequiredMinRepFaction(最小阵营声望)
    • RequiredMinRepValue(最小阵营声望值)
    • RequiredMaxRepFaction(最大阵营声望)
    • RequiredMaxRepValue(最大阵营声望值)
  • item_template(仅335适用)
    • RequiredLevel(角色等级)
    • RequiredSkill(专业类型,取值参见附表)
    • RequiredSkillRank(专业级别)
    • Requiredspell(技能)
    • AllowableClass(职业类型,取值参见附表)
    • AllowableRace(种族类型,取值参见附表)
    • RequiredReputationFaction(阵营声望)
    • RequiredReputationRank(阵营声望级别,取值参见附表)
    • Requiredhonorrank(荣誉级别)
7、smart_scripts

335&master:

8、附表
Quest ObjectiveTypevalueComments
QUEST_OBJECTIVE_MONSTER0怪物或生物类
QUEST_OBJECTIVE_ITEM1物品类
QUEST_OBJECTIVE_GAMEOBJECT2GOBJ类
QUEST_OBJECTIVE_TALKTO3
QUEST_OBJECTIVE_CURRENCY4货币类
QUEST_OBJECTIVE_LEARNSPELL5
QUEST_OBJECTIVE_MIN_REPUTATION6最小荣誉
QUEST_OBJECTIVE_MAX_REPUTATION7最大荣誉
QUEST_OBJECTIVE_MONEY8金钱
QUEST_OBJECTIVE_PLAYERKILLS9
QUEST_OBJECTIVE_AREATRIGGER10触发器
QUEST_OBJECTIVE_WINPETBATTLEAGAINSTNPC11宠物对战胜利
QUEST_OBJECTIVE_DEFEATBATTLEPET12宠物对战防御
QUEST_OBJECTIVE_WINPVPPETBATTLES13
QUEST_OBJECTIVE_CRITERIA_TREE14
QUEST_OBJECTIVE_PROGRESS_BAR15
QUEST_OBJECTIVE_HAVE_CURRENCY16requires the player to have X currency when turning in but does not consume it
QUEST_OBJECTIVE_OBTAIN_CURRENCY17requires the player to gain X currency after starting the quest but not required to keep it until the end (does not consume)
QUEST_OBJECTIVE_INCREASE_REPUTATION18requires the player to gain X reputation with a faction
QUEST_OBJECTIVE_AREA_TRIGGER_ENTER19进入区域触发器
QUEST_OBJECTIVE_AREA_TRIGGER_EXIT20离开区域触发器
Quest ObjectiveFlagsValueComments
QUEST_OBJECTIVE_FLAG_TRACKED_ON_MINIMAP1client displays large yellow blob on minimap for creature/gameobject
QUEST_OBJECTIVE_FLAG_SEQUENCED2client will not see the objective displayed until all previous objectives are completed
QUEST_OBJECTIVE_FLAG_OPTIONAL4not required to complete the quest
QUEST_OBJECTIVE_FLAG_HIDDEN8never displayed in quest log
QUEST_OBJECTIVE_FLAG_HIDE_CREDIT_MSG16skip showing item objective progress
QUEST_OBJECTIVE_FLAG_PRESERVE_QUEST_ITEMS32item objective progress counts items in inventory instead of reading it from updatefields
QUEST_OBJECTIVE_FLAG_PART_OF_PROGRESS_BAR64hidden objective used to calculate progress bar percent (quests are limited to a single progress bar objective)
QUEST_OBJECTIVE_FLAG_KILL_PLAYERS_SAME_FACTION128
QUEST_OBJECTIVE_FLAG_NO_SHARE_PROGRESS256
QUEST_OBJECTIVE_FLAG_IGNORE_SOULBOUND_ITEMS512
RacesValueComments
RACE_NONE不限种族
RACE_HUMAN人类
RACE_ORC兽人
RACE_DWARF矮人
RACE_NIGHTELF暗夜精灵
RACE_UNDEAD_PLAYER16 亡灵
RACE_TAUREN32 牛头人
RACE_GNOME64 侏儒
RACE_TROLL128 巨魔
RACE_GOBLIN256 地精
RACE_BLOODELF512 血精灵
RACE_DRAENEI1024 德莱尼
RACE_WORGEN2097152 狼人
RACE_PANDAREN_NEUTRAL8388608 (中立)熊猫人
RACE_PANDAREN_ALLIANCE16777216 (联盟)熊猫人
RACE_PANDAREN_HORDE33554432 (部落)熊猫人
RACE_NIGHTBORNE67108864 夜之子
RACE_HIGHMOUNTAIN_TAUREN134217728 至高岭牛头人
RACE_VOID_ELF268435456 虚空精灵
RACE_LIGHTFORGED_DRAENEI536870912 光铸德莱尼
RACE_ZANDALARI_TROLL1073741824 赞达拉巨魔
RACE_KUL_TIRAN2147483648 库尔提拉斯人
RACE_DARK_IRON_DWARF8589934592 黑铁矮人
RACE_VULPERA17179869184 狐人
RACE_MAGHAR_ORC34359738368 玛格汉兽人
RACE_MECHAGNOME68719476736 机械侏儒
Class(Mask)ValueComments
CLASS_NONE0不限职业
CLASS_WARRIOR1战士
CLASS_PALADIN2骑士
CLASS_HUNTER4猎人
CLASS_ROGUE8盗贼
CLASS_PRIEST16牧师
CLASS_DEATH_KNIGHT32死亡骑士
CLASS_SHAMAN64萨满
CLASS_MAGE128法师
CLASS_WARLOCK256术士
CLASS_MONK512武僧
CLASS_DRUID1024德鲁伊
CLASS_DEMON_HUNTER2048恶魔猎手
CLASS_EVOKER4096唤魔师
CLASS_ADVENTURER8192冒险者
SkillValueComments
SKILL_NONE0不限技能
SKILL_BLACKSMITHING164铁匠
SKILL_LEATHERWORKING165制皮
SKILL_ALCHEMY171炼金
SKILL_HERBALISM182草药
SKILL_COOKING185烹饪
SKILL_MINING186采矿
SKILL_TAILORING197裁缝
SKILL_ENGINEERING202工程
SKILL_ENCHANTING333附魔
SKILL_FISHING356钓鱼
SKILL_SKINNING393剥皮
SKILL_JEWELCRAFTING755珠宝加工
SKILL_INSCRIPTION773铭文
SKILL_ARCHAEOLOGY794考古

GAMEOBJECT_TYPE_CHEST (3)

Data#NameValueComment
0lockId取值参考 Lock.DBC | Lock.db2
1lootIdgameobject_loot_template.entry
2chestRestockTime没有拾取完全时,补充拾取资源的时间,秒为单位
3consumable(0/1)拾取后是否消失(不可用)
4minSuccessOpensMin successful loot attempts for Mining, Herbalism etc (deprecated post 3.0)
5maxSuccessOpensMax successful loot attempts for Mining, Herbalism etc (deprecated post 3.0)
6eventIdlootedEvent
7linkedTrapIdgameobject_template.entrythe trap object must be of GAMEOBJECT_TYPE_TRAP (6)
8questIdquest_template.IDquest must be rewarded for GO activation; not currently used
9level开启此对象所需的最小等级
10losOK0, 1ignores line of sight checks
11leaveLoot0, 1unused
12notInCombat0, 1unused
13logLoot0, 1unused
14openTextIDunused
15groupLootRules0, 1use group loot ruleset
16floatingTooltip0, 1unused
17conditionID10unused
ReputationRankValueComments
REP_HATED0仇恨
REP_HOSTILE1敌视
REP_UNFRIENDLY2冷淡
REP_NEUTRAL3中立
REP_FRIENDLY4友好
REP_HONORED5尊敬
REP_REVERED6崇敬
REP_EXALTED7崇拜
9、相关链接
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值