目录
3、对 creature (gameobject) 使用任务物品次数要求
修复思路
- 通过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:
- smart_scripts
8、附表
Quest ObjectiveType | value | Comments |
---|---|---|
QUEST_OBJECTIVE_MONSTER | 0 | 怪物或生物类 |
QUEST_OBJECTIVE_ITEM | 1 | 物品类 |
QUEST_OBJECTIVE_GAMEOBJECT | 2 | GOBJ类 |
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 | requires the player to have X currency when turning in but does not consume it |
QUEST_OBJECTIVE_OBTAIN_CURRENCY | 17 | requires 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_REPUTATION | 18 | requires the player to gain X reputation with a faction |
QUEST_OBJECTIVE_AREA_TRIGGER_ENTER | 19 | 进入区域触发器 |
QUEST_OBJECTIVE_AREA_TRIGGER_EXIT | 20 | 离开区域触发器 |
Quest ObjectiveFlags | Value | Comments |
---|---|---|
QUEST_OBJECTIVE_FLAG_TRACKED_ON_MINIMAP | 1 | client displays large yellow blob on minimap for creature/gameobject |
QUEST_OBJECTIVE_FLAG_SEQUENCED | 2 | client will not see the objective displayed until all previous objectives are completed |
QUEST_OBJECTIVE_FLAG_OPTIONAL | 4 | not required to complete the quest |
QUEST_OBJECTIVE_FLAG_HIDDEN | 8 | never displayed in quest log |
QUEST_OBJECTIVE_FLAG_HIDE_CREDIT_MSG | 16 | skip showing item objective progress |
QUEST_OBJECTIVE_FLAG_PRESERVE_QUEST_ITEMS | 32 | item objective progress counts items in inventory instead of reading it from updatefields |
QUEST_OBJECTIVE_FLAG_PART_OF_PROGRESS_BAR | 64 | hidden objective used to calculate progress bar percent (quests are limited to a single progress bar objective) |
QUEST_OBJECTIVE_FLAG_KILL_PLAYERS_SAME_FACTION | 128 | |
QUEST_OBJECTIVE_FLAG_NO_SHARE_PROGRESS | 256 | |
QUEST_OBJECTIVE_FLAG_IGNORE_SOULBOUND_ITEMS | 512 |
Races | Camp | Mask(Hex) | Mask(Dec) | Comments |
---|---|---|---|---|
RACEMASK_HORDE | H | 0x4E02B3B2 | ||
RACEMASK_ALLIANCE | A | 0xB1254C4D | ||
RACE_NONE | / | 0 | 不限种族 | |
RACE_HUMAN | A | 0x1 | 1 | 人类 |
RACE_ORC | H | 0x2 | 2 | 兽人 |
RACE_DWARF | A | 0x4 | 4 | 矮人 |
RACE_NIGHTELF | A | 0x8 | 8 | 暗夜精灵 |
RACE_UNDEAD_PLAYER | H | 0x10 | 16 | 亡灵 |
RACE_TAUREN | H | 0x20 | 32 | 牛头人 |
RACE_GNOME | A | 0x40 | 64 | 侏儒 |
RACE_TROLL | H | 0x80 | 128 | 巨魔 |
RACE_GOBLIN | H | 0x100 | 256 | 地精 |
RACE_BLOODELF | H | 0x200 | 512 | 血精灵 |
RACE_DRAENEI | A | 0x400 | 1024 | 德莱尼 |
RACE_WORGEN | A | 0x200000 | 2097152 | 狼人 |
RACE_PANDAREN_NEUTRAL | / | 0x800000 | 8388608 | 熊猫人(中立) |
RACE_PANDAREN_ALLIANCE | A | 0x1000000 | 16777216 | 熊猫人(联盟) |
RACE_PANDAREN_HORDE | H | 0x2000000 | 33554432 | 熊猫人(部落) |
RACE_NIGHTBORNE | H | 0x4000000 | 67108864 | 夜之子 |
RACE_HIGHMOUNTAIN_TAUREN | H | 0x8000000 | 134217728 | 至高岭牛头人 |
RACE_VOID_ELF | A | 0x10000000 | 268435456 | 虚空精灵 |
RACE_LIGHTFORGED_DRAENEI | A | 0x20000000 | 536870912 | 光铸德莱尼 |
RACE_ZANDALARI_TROLL | H | 0x40000000 | 1073741824 | 赞达拉巨魔 |
RACE_KUL_TIRAN | A | 0x80000000 | 2147483648 | 库尔提拉斯人 |
RACE_DARK_IRON_DWARF | A | 0x800 | 2048 | 黑铁矮人 |
RACE_VULPERA | H | 0x1000 | 4096 | 狐人 |
RACE_MAGHAR_ORC | H | 0x2000 | 8192 | 玛格汉兽人 |
RACE_MECHAGNOME | A | 0x4000 | 16384 | 机械侏儒 |
RACE_DRACTHYR_HORDE | H | 0x8000 | 32768 | 龙希尔(部落) |
RACE_DRACTHYR_ALLIANCE | A | 0x10000 | 65536 | 龙希尔(联盟) |
RACE_EARTHEN_DWARF_HORDE | H | 0x20000 | 131072 | 土灵(部落) |
RACE_EARTHEN_DWARF_ALLIANCE | A | 0x40000 | 262144 | 土灵(联盟) |
Class | (Mask)Value | Comments |
CLASS_NONE | 0 | 不限职业 |
CLASS_WARRIOR | 1 | 战士 |
CLASS_PALADIN | 2 | 骑士 |
CLASS_HUNTER | 4 | 猎人 |
CLASS_ROGUE | 8 | 盗贼 |
CLASS_PRIEST | 16 | 牧师 |
CLASS_DEATH_KNIGHT | 32 | 死亡骑士 |
CLASS_SHAMAN | 64 | 萨满 |
CLASS_MAGE | 128 | 法师 |
CLASS_WARLOCK | 256 | 术士 |
CLASS_MONK | 512 | 武僧 |
CLASS_DRUID | 1024 | 德鲁伊 |
CLASS_DEMON_HUNTER | 2048 | 恶魔猎手 |
CLASS_EVOKER | 4096 | 唤魔师 |
CLASS_ADVENTURER | 8192 | 冒险者 |
Skill | Value | Comments |
SKILL_NONE | 0 | 不限技能 |
SKILL_BLACKSMITHING | 164 | 铁匠 |
SKILL_LEATHERWORKING | 165 | 制皮 |
SKILL_ALCHEMY | 171 | 炼金 |
SKILL_HERBALISM | 182 | 草药 |
SKILL_COOKING | 185 | 烹饪 |
SKILL_MINING | 186 | 采矿 |
SKILL_TAILORING | 197 | 裁缝 |
SKILL_ENGINEERING | 202 | 工程 |
SKILL_ENCHANTING | 333 | 附魔 |
SKILL_FISHING | 356 | 钓鱼 |
SKILL_SKINNING | 393 | 剥皮 |
SKILL_JEWELCRAFTING | 755 | 珠宝加工 |
SKILL_INSCRIPTION | 773 | 铭文 |
SKILL_ARCHAEOLOGY | 794 | 考古 |
GAMEOBJECT_TYPE_CHEST (3)
Data# | Name | Value | Comment |
---|---|---|---|
0 | lockId | 取值参考 Lock.DBC | Lock.db2 | |
1 | lootId | gameobject_loot_template.entry | |
2 | chestRestockTime | 没有拾取完全时,补充拾取资源的时间,秒为单位 | |
3 | consumable | (0/1) | 拾取后是否消失(不可用) |
4 | minSuccessOpens | Min successful loot attempts for Mining, Herbalism etc (deprecated post 3.0) | |
5 | maxSuccessOpens | Max successful loot attempts for Mining, Herbalism etc (deprecated post 3.0) | |
6 | eventId | lootedEvent | |
7 | linkedTrapId | gameobject_template.entry | the trap object must be of GAMEOBJECT_TYPE_TRAP (6) |
8 | questId | quest_template.ID | quest must be rewarded for GO activation; not currently used |
9 | level | 开启此对象所需的最小等级 | |
10 | losOK | 0, 1 | ignores line of sight checks |
11 | leaveLoot | 0, 1 | unused |
12 | notInCombat | 0, 1 | unused |
13 | logLoot | 0, 1 | unused |
14 | openTextID | unused | |
15 | groupLootRules | 0, 1 | use group loot ruleset |
16 | floatingTooltip | 0, 1 | unused |
17 | conditionID1 | 0 | unused |
ReputationRank | Value | Comments |
REP_HATED | 0 | 仇恨 |
REP_HOSTILE | 1 | 敌视 |
REP_UNFRIENDLY | 2 | 冷淡 |
REP_NEUTRAL | 3 | 中立 |
REP_FRIENDLY | 4 | 友好 |
REP_HONORED | 5 | 尊敬 |
REP_REVERED | 6 | 崇敬 |
REP_EXALTED | 7 | 崇拜 |