WOWTUT.RU - всё для WoW здесь!

Quest template


DataBase

Таблица `quest_template`


Таблица для всех существующих квестов.

ПолеТипАтрибутыПустоДефолтЭкстра
entrymediumint(8)unsignedNO0
ZoneOrSortsmallint(6)unsignedNO0
ClassOrSkillsmallint(6)unsignedNO0
MinLeveltinyint(3)unsignedNO0
QuestLeveltinyint(3)unsignedNO0
Typesmallint(5)unsignedNO0
RequiredRacessmallint(5)unsignedNO0
RequiredSkillValuesmallint(5)unsignedNO1
RequiredMinRepFactionsmallint(5)unsignedNO0
RequiredMinRepValuemediumint(9)unsignedNO0
RequiredMaxRepFactionsmallint(5)unsignedNO0
RequiredMaxRepValuemediumint(9)unsignedNO0
SuggestedPlayerstinyint(3)unsignedNO0
LimitTimeint(10)unsignedNO0
QuestFlagssmallint(5)unsignedNO0
SpecialFlagstinyint(3)unsignedNO0
CharTitleIdtinyint(3)NO0
PrevQuestIdmediumint(9)NO0
NextQuestIdmediumint(9)NO0
ExclusiveGroupmediumint(9)unsignedNO0
NextQuestInChainmediumint(8)unsignedNO0
SrcItemIdmediumint(8)unsignedNO0
SrcItemCounttinyint(3)unsignedNO0
SrcSpellmediumint(8)unsignedNO0
TitletextYES
DetailstextYES
ObjectivestextYES
OfferRewardTexttextYES
RequestItemsTexttextYES
EndTexttextYES
ObjectiveText1textYES
ObjectiveText2textYES
ObjectiveText3textYES
ObjectiveText4textYES
ReqItemId1mediumint(8)unsignedNO0
ReqItemId2mediumint(8)unsignedNO0
ReqItemId3mediumint(8)unsignedNO0
ReqItemId4mediumint(8)unsignedNO0
ReqItemCount1smallint(5)unsignedNO0
ReqItemCount2smallint(5)unsignedNO0
ReqItemCount3smallint(5)unsignedNO0
ReqItemCount4smallint(5)unsignedNO0
ReqSourceId1mediumint(8)unsignedNO0
ReqSourceId2mediumint(8)unsignedNO0
ReqSourceId3mediumint(8)unsignedNO0
ReqSourceId4mediumint(8)unsignedNO0
ReqSourceCount1smallint(5)unsignedNO0
ReqSourceCount2smallint(5)unsignedNO0
ReqSourceCount3smallint(5)unsignedNO0
ReqSourceCount4smallint(5)unsignedNO0
ReqSourceRef1tinyint(3)unsignedNO0
ReqSourceRef2tinyint(3)unsignedNO0
ReqSourceRef3tinyint(3)unsignedNO0
ReqSourceRef4tinyint(3)unsignedNO0
ReqCreatureOrGOId1mediumint(9)NO0
ReqCreatureOrGOId2mediumint(9)NO0
ReqCreatureOrGOId3mediumint(9)NO0
ReqCreatureOrGOId4mediumint(9)NO0
ReqCreatureOrGOCount1smallint(5)unsignedNO0
ReqCreatureOrGOCount2smallint(5)unsignedNO0
ReqCreatureOrGOCount3smallint(5)unsignedNO0
ReqCreatureOrGOCount4smallint(5)unsignedNO0
ReqSpellCast1mediumint(8)unsignedNO0
ReqSpellCast2mediumint(8)unsignedNO0
ReqSpellCast3mediumint(8)unsignedNO0
ReqSpellCast4mediumint(8)unsignedNO0
RewChoiceItemId1mediumint(8)unsignedNO0
RewChoiceItemId2mediumint(8)unsignedNO0
RewChoiceItemId3mediumint(8)unsignedNO0
RewChoiceItemId4mediumint(8)unsignedNO0
RewChoiceItemId5mediumint(8)unsignedNO0
RewChoiceItemId6mediumint(8)unsignedNO0
RewChoiceItemCount1smallint(5)unsignedNO0
RewChoiceItemCount2smallint(5)unsignedNO0
RewChoiceItemCount3smallint(5)unsignedNO0
RewChoiceItemCount4smallint(5)unsignedNO0
RewChoiceItemCount5smallint(5)unsignedNO0
RewChoiceItemCount6smallint(5)unsignedNO0
RewItemId1mediumint(8)unsignedNO0
RewItemId2mediumint(8)unsignedNO0
RewItemId3mediumint(8)unsignedNO0
RewItemId4mediumint(8)unsignedNO0
RewItemCount1smallint(5)unsignedNO0
RewItemCount2smallint(5)unsignedNO0
RewItemCount3smallint(5)unsignedNO0
RewItemCount4smallint(5)unsignedNO0
RewRepFaction1smallint(5)unsignedNO0faction id from Faction.dbc in this case
RewRepFaction2smallint(5)unsignedNO0faction id from Faction.dbc in this case
RewRepFaction3smallint(5)unsignedNO0faction id from Faction.dbc in this case
RewRepFaction4smallint(5)unsignedNO0faction id from Faction.dbc in this case
RewRepFaction5smallint(5)unsignedNO0faction id from Faction.dbc in this case
RewRepValue1mediumint(9)NO0
RewRepValue2mediumint(9)NO0
RewRepValue3mediumint(9)NO0
RewRepValue4mediumint(9)NO0
RewRepValue5mediumint(9)NO0
RewOrReqMoneyint(11)NO0
RewMoneyMaxLevelint(10)unsignedNO0
RewSpellmediumint(8)unsignedNO0
RewSpellCastmediumint(8)unsignedNO0
PointMapIdsmallint(5)unsignedNO0
PointXfloatNO0
PointYfloatNO0
PointOptmediumint(8)unsignedNO0
DetailsEmote1smallint(5)NO0
DetailsEmote2smallint(5)NO0
DetailsEmote3smallint(5)NO0
DetailsEmote4smallint(5)NO0
IncompleteEmotesmallint(5)unsignedNO0
CompleteEmotesmallint(5)unsignedNO1
OfferRewardEmote1smallint(5)NO0
OfferRewardEmote2smallint(5)NO0
OfferRewardEmote3smallint(5)NO0
OfferRewardEmote4smallint(5)NO0
StartScriptmediumint(8)unsignedNO0
CompleteScriptmediumint(8)unsignedNO0

Описание полей таблицы



entry 

Уникальный Id квеста.

ZoneOrSort 

Если значение поля > 0, то это идентификатор Зоны (См. AreaTable.dbc). Если значение поля < 0, то это идентификатор сортировки квеста (См. QuestSort.dbc).

ClassOrSkill 

Определяет, какой класс или владелец какой профессии может взять квест.

Классы:

ClassIDNameID
61Warlock81Warrior
82Shaman141Paladin
161Mage162Rogue
261Hunter262Priest
263Druid

Профессии:

ProfessionsIDNameID
24Herbalism101Fishing
121Blacksmithing181Alchemy
182Leatherworking201Engineering
264Tailoring304Cooking
324First aid762Riding

MinLevel 

Минимальный уровень необходимый для того, чтобы получить квест.

QuestLevel 

Уровень квеста. Игрок получает весь опыт за квест лишь в том случае, если его уровень меньше либо равен значению QuestLevel+5.

Type

Тип квеста.

ЗначениеТип
1Group
21Life
41PvP
62Raid
81Dungeon
82World Event
83Legendary
84Escort
85Heroic
87Daily

RequiredRaces 

Расы, которые могут взять квест. Поставьте 0 чтобы разрешить квест всем расам.

12481632641285121024
HumanOrcDwarfNightElfUndeadTaurenGnomeTrollBlood ElvesDraenei


Например: чтобы сделать квест для Humans и Dwarves, сложите 1 и 4, получите 5, это и надо записывать в поле. Альянс = 1101 , Орда = 690

RequiredSkillValue

Требуемое значение для номера скила из ячейки RequiredSkill.

RequiredMinRepFaction

Номер фракции, требуемой для взятия квеста.

RequiredMinRepValue 

Игрок должен иметь значение репутации выше или равным тому, что в этом поле.

RequiredMaxRepFaction

Номер фракции, требуемой для взятия квеста.

 RequiredMaxRepValue

Игрок должен иметь значение репутации меньше или равным тому, что в этом поле.

SuggestedPlayers 

Количество игроков требуемых для выполнения квеста в группе (пока не реализованно в мангосе).

LimitTime 

Если квест содержит временные рамки, то сюда вписывают время в секундах.

QuestFlags 

QUEST_SPECIAL_FLAGS_NONE = 0
QUEST_SPECIAL_FLAGS_DELIVER = 1 // квест на доставку предмета
QUEST_SPECIAL_FLAGS_EXPLORATION = 2 // квест на открытие карты
QUEST_SPECIAL_FLAGS_SPEAKTO = 4 // квест на разговор
QUEST_SPECIAL_FLAGS_KILL_OR_CAST = 8 // квест на убийство мобов или каст спелла
QUEST_SPECIAL_FLAGS_TIMED = 16 // квест на время
QUEST_SPECIAL_FLAGS_UNK0 = 32 
QUEST_SPECIAL_FLAGS_REPUTATION = 64 // квест на доп. репутацию
QUEST_SPECIAL_FLAGS_UNK1 = 128 // квесты появившиеся с аддоном BC
QUEST_SPECIAL_FLAGS_UNK2 = 256
QUEST_SPECIAL_FLAGS_UNK3 = 512
QUEST_SPECIAL_FLAGS_UNK4 = 1024
QUEST_SPECIAL_FLAGS_UNK5 = 2048
QUEST_SPECIAL_FLAGS_DAILY = 4096

SpecialFlags 

Значение SpecialFlags в БД если требуется, но используется только сервером.

ЗначениеОписание
0x010000 (1)QUEST_MANGOS_FLAGS_REPEATABLE

Повторяемый квест

0x020000 (2)QUEST_MANGOS_FLAGS_EXPLORATION_OR_EVENT

Используется в SpecialFlags если квест на открытие территории, требуется каст спелла с эффектом SPELL_EFFECT_QUEST_COMPLETE, есть соответствующая запись в таблице `*_script` при использовании SCRIPT_COMMAND_QUEST_EXPLORED, устанавливается для библиотеки внешних скриптов)

0xFFFF (3)QUEST_MANGOS_FLAGS_DB_ALLOWED

Используется, если 1 и 2

CharTitleId 

!Нет описания!

PrevQuestId 

Если значение > 0: то содержит id предыдущего квеста, который должен быть завершен перед началом этого квеста.
Если значение < 0: то содержит id начального квеста, который должен быть активен перед тем как этот квест может быть начат.
Если квест имеет много альтернативных предыдущих квестов ячейка NextQuestId может использоваться для урегулирования этой зависимости.

NextQuestId 

Если значение > 0: то содержит id следующего квеста, если PrevQuestId для этого квеста неустановлен.
Если значение < 0: то содержит id подквеста, если PrevQuestId для этого квеста неустановлен.
Если квест имеет много альтернативных следующих квестов то ячейка PrevQuestId в следующем квесте может устранить эту проблему.

ExclusiveGroup 

Позволяет определить группу квестов, для которой только один из группы может быть выбран и выполнен.
Например, если из квестов 1200, 1201 и 1202 надо позволить выбрать только один, вставьте 1200 в ExclusiveGroup для всех трех квестов.

NextQuestInChain 

Определяет цепочки квестов. Детали введенного в это поле квеста автоматически открываются, когда данный квест завершится.

Работает, только если следующий квест начинается у этого же NPC или объекта.

srcItemId 

Id вещи которую дает квестгивер при начале квеста.
вещи будут удалены если от квеста отказались.

srcItemCount 

Кол-во вещей получаемое при начале квеста.

SrcSpell 

Спел кастуемый на игрока при начале квеста. Может быть как бафом так и обучающим спелом.

Title 

Заголовок квеста.

Details 

Длинное описание квеста.

Objectives 

Задачи квеста.
Если пусто, то квест считаеться автоматически выполненным и его можно сдать без выполнения условий.

OfferRewardText 

Первый текст отправляемый игроку NPC-ом при завершении квеста.

RequestItemsText 

Этот текст отправляется игроку, если он не выполнил все задачи квеста!

EndText 

Этот текст отображается у игрока при открытии Questlog'а.

ObjectiveText1-4 

Используется для нестандартного текста.

ReqItemId1-4 

Номера требуемых предметов для завершения квеста (См. mangos.item_template.entry).

ReqItemCount1-4 

Количество требуемых предметов соответственно.

ReqSourceId1-4 

Эти поля используются логике ядра, отвечающей за квестовый дроп. Они позволяют игрокам получать квестовый дроп который не является предметами, требуемыми для завершения квеста (ReqItem предназначен для этого), но необходимы игроку для создания предмета доставки или для каста ReqSpellCasts.
ReqSourceId1 это ID из item_template предмета, являющегося источником для создания ReqItemX или каста ReqSpellCastX. X это значение ReqSourceRef1.
Только те предметы у которых есть шанс квестового дропа (QuestChance > 0 в *_loot_template) должны использоваться здесь как источники.
То же самое для ReqSourceId2-4.
Вы можете определить 1, 2, 3 или даже все 4 источника для одного и того же ReqItem/ReqSpellCast или использовать 4 источника для 4 ReqItems/ReqSpellCasts.

ReqSourceCount1-4 

Количество предметов ReqSourceId1-4, которое игрок сможет собрать до завершения квеста.

ReqSourceRef1-4 

Должно быть 0 или 1..4. смотрите описание ReqSourceId.

ReqCreatureOrGOId1-4 

Значение > 0: 1.-4. Идентификаторы мобов, которых игрок должен убить/кастануть (См. mangos.creature_template.entry).
Значение < 0: 1.-4. Идентификаторы объектов, на которых игрок должен кастануть (См. mangos.gameobject_template.entry).

[ReqCreatureOrGOCount1-4 

Число убитых/кастов соответственно, необходимых для завершения квеста.

ReqSpellCast1-4 

Номер спелла, который должен быть скастован. (См. Spell.dbc)
Если ReqSpellCastN > 0, тогда на ReqCreatureOrGOIdN должен быть скастован спелл ReqSpellCastN,
Если ReqSpellCastN = 0, тогда они должны быть убиты.

RewChoiceItemId1-6 

Идентификаторы предметов доступных для выбора при получении награды за квест. (См. mangos.item_template.entry)

RewChoiceItemCount1-6 

Количество предметов для RewChoiceItemId1-6.

RewItemId1-4 

Идентификаторы предметов предоставляемых в качестве награды. (См. mangos.item_template.entry).

RewItemCount1-4 

Количество предметов для RewItemId1-4.

RewRepFaction1-5

Идентификаторы фракций, для которых квест предоставляет репутацию.

RewRepValue1-5 

Число на которое увеличиться/уменьшится число репутации у Фракций1-5 при завершении квеста.

RewOrReqMoney 

Деньги получаемые за сдачу квеста (если число > 0).

RewMoneyMaxLevel 

Деньги, получаемые персонажем на 70 за выполнение квеста. Так же хранит в себе значение опыта за квест, для персонажей меньше 70 уровня, который вычисляется по нижеприведённой формуле. Если квест повторяемый, ХР получается лишь один раз (первый). Общее количество получаемого опытат так же зависит от разницы между уровнем персонажа и уровнем квеста.

Формула расчёта ХР из значения в данном поле:
QuestLevel >= 65: XP = RewMoneyMaxLevel / 6.0
QuestLevel == 64: XP = RewMoneyMaxLevel / 4.8
QuestLevel == 63: XP = RewMoneyMaxLevel / 3.6
QuestLevel == 62: XP = RewMoneyMaxLevel / 2.4
QuestLevel == 61: XP = RewMoneyMaxLevel / 1.2
QuestLevel <= 60: XP = RewMoneyMaxLevel / 0.6

[править] RewSpell

Спел кастуемый на игрока после завершения квеста.
Это может быть изучение спела и в результате игрок изучит спел, или баф к примеру.

RewSpellCast 

!Нет описания!

PointMapId 

MapId точки квеста (POI).
POI будут показаны на карте когда квест активен.

PointX 

X координата POI.

PointY 

Y координата POI.

PointOpt 

!!! Неизвестно: если вы знаете добавьте сюда информацию. !!!

DetailsEmote1-4 

!!! Неизвестно: если вы знаете добавьте сюда информацию. !!!

IncompleteEmote 

Эмоция показываемая игроку если квест не завершен (См. Emotes.dbc).

CompleteEmote 

Эмоция показываемая игроку при завершении квеста (См. Emotes.dbc).

OfferRewardEmote1-4 

!!! Неизвестно: если вы знаете добавьте сюда информацию. !!!

StartScript 

Выполняет скрипт в начале квеста (См. quest_start_scripts).

CompleteScript 

Выполняет скрипт при окончании квеста (См. quest_start_scripts).


Разрешено любое использование материалов с этого сайта, мы за свободную информацию в интернете. Разработка и поддержка ресурса - Moder (2007 - 2016).