任务修复思路及实现

阅读: 评论:0

任务修复思路及实现

任务修复思路及实现

目录

修复思路

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](任务所需怪物的)
  • RequiredNpcOrGoCount[1-4] (任务所需怪物的数量)

master:

quest_objectives

  • Type = 0(ObjectiveType值,0为怪物,取值参见附表)
  • Order(任务目标的完成顺序)
  • ObjectID(由选择的Type类型决定,此处为怪物的)
  • 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_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值)
  • 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:

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

master:

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

注意: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:

  • smart_scripts
    • smart_script字段介绍
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
0lockIdLock ID
1lootIdgameobject_
2chestRestockTimetime in secondsrestocks if not fully looted,补充拾取资源的时间
3consumable0, 1despawns after use,是否可重复拾取
4minSuccessOpensMin successful loot attempts for Mining, Herbalism etc (deprecated post 3.0)
5maxSuccessOpensMax successful loot attempts for Mining, Herbalism etc (deprecated post 3.0)
6eventIdunknown EventIDlootedEvent
7linkedTrapIdthe trap object must be of GAMEOBJECT_TYPE_TRAP (6)
8questIdquest_template.IDquest must be rewarded for GO activation; not currently used
9level0 � 80minimum level required to open this gameobject
10losOK0, 1ignores line of sight checks
11leaveLoot0, 1unused
12notInCombat0, 1unused
13logLoot0, 1unused
14openTextIDunknown TextIDunused; can be used to replace castBarCaption?
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、相关链接
  • GitHub TrinityCore
  • TrinityCore Wiki Databases (master)
  • TrinityCore Wiki Databases (335)
  • TrinityCore Documentation

本文发布于:2024-01-27 17:43:37,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063486191712.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:思路
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23