Quest template

Материал из YTDB DataBase

(Различия между версиями)
Перейти к: навигация, поиск
(PlayersSlain: описание)
 
(87 промежуточных версий не показаны.)
Строка 2: Строка 2:
| __TOC__
| __TOC__
|}
|}
-
Back to [[mangosdb_struct|world database]] list of tables.
+
[[Category: Mangos world database tables]]
 +
К описанию таблиц [[mangosdb_struct|базы данных mangos]].
-
<big>'''The `quest_template` table'''</big>
+
<big>'''Таблица `quest_template`'''</big>
-
Contains all basic definitions of quests available.
+
Содержит все основные определения доступных заданий.
-
<big>'''Structure'''</big>
+
<big>'''Структура'''</big>
{| border="1"
{| border="1"
|'''Field'''
|'''Field'''
|'''Type'''
|'''Type'''
 +
|'''Attributes'''
|'''Null'''
|'''Null'''
|'''Key'''
|'''Key'''
|'''Default'''
|'''Default'''
-
|'''Extra'''
+
|'''Comments'''
|-
|-
|[[#entry|entry]]
|[[#entry|entry]]
-
|int(10) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|PRI
|PRI
Строка 28: Строка 31:
|[[#Method|Method]]
|[[#Method|Method]]
|tinyint(3)
|tinyint(3)
 +
|unsigned
|NO
|NO
|
|
Строка 36: Строка 40:
|[[#ZoneOrSort|ZoneOrSort]]
|[[#ZoneOrSort|ZoneOrSort]]
|smallint(6)
|smallint(6)
 +
|
|NO
|NO
|
|
Строка 41: Строка 46:
|
|
|-
|-
-
|[[#SkillOrClass|SkillOrClass]]
+
|[[#MinLevel|MinLevel]]
-
|smallint(6)
+
|tinyint(3)
 +
|unsigned
|NO
|NO
|
|
Строка 48: Строка 54:
|
|
|-
|-
-
|[[#MinLevel|MinLevel]]
+
|[[#QuestLevel|QuestLevel]]
-
|tinyint(3) unsigned
+
|smallint(6)
 +
|
|NO
|NO
|
|
Строка 55: Строка 62:
|
|
|-
|-
-
|[[#QuestLevel|QuestLevel]]
+
|[[#Type|Type]]
-
|tinyint(3) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 62: Строка 70:
|
|
|-
|-
-
|[[#Type|Type]]
+
|[[#RequiredClasses|RequiredClasses]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 71: Строка 80:
|[[#RequiredRaces|RequiredRaces]]
|[[#RequiredRaces|RequiredRaces]]
|smallint(5)
|smallint(5)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#RequiredSkill|RequiredSkill]]
 +
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 77: Строка 95:
|-
|-
|[[#RequiredSkillValue|RequiredSkillValue]]
|[[#RequiredSkillValue|RequiredSkillValue]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#RequiredCondition|RequiredCondition]]
 +
|int(11)
 +
|unsigned
|NO
|NO
|
|
Строка 84: Строка 111:
|-
|-
|[[#RepObjectiveFaction|RepObjectiveFaction]]
|[[#RepObjectiveFaction|RepObjectiveFaction]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 92: Строка 120:
|[[#RepObjectiveValue|RepObjectiveValue]]
|[[#RepObjectiveValue|RepObjectiveValue]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 98: Строка 127:
|-
|-
|[[#RequiredMinRepFaction|RequiredMinRepFaction]]
|[[#RequiredMinRepFaction|RequiredMinRepFaction]]
-
|mediumint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 106: Строка 136:
|[[#RequiredMinRepValue|RequiredMinRepValue]]
|[[#RequiredMinRepValue|RequiredMinRepValue]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 112: Строка 143:
|-
|-
|[[#RequiredMaxRepFaction|RequiredMaxRepFaction]]
|[[#RequiredMaxRepFaction|RequiredMaxRepFaction]]
-
|mediumint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 120: Строка 152:
|[[#RequiredMaxRepValue|RequiredMaxRepValue]]
|[[#RequiredMaxRepValue|RequiredMaxRepValue]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 126: Строка 159:
|-
|-
|[[#SuggestedPlayers|SuggestedPlayers]]
|[[#SuggestedPlayers|SuggestedPlayers]]
-
|mediumint(3) unsigned
+
|tinyint(3)
 +
|unsigned
|NO
|NO
|
|
Строка 134: Строка 168:
|[[#LimitTime|LimitTime]]
|[[#LimitTime|LimitTime]]
|int(10)
|int(10)
 +
|
|NO
|NO
|
|
Строка 140: Строка 175:
|-
|-
|[[#QuestFlags|QuestFlags]]
|[[#QuestFlags|QuestFlags]]
-
|smallint(5) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 147: Строка 183:
|-
|-
|[[#SpecialFlags|SpecialFlags]]
|[[#SpecialFlags|SpecialFlags]]
-
|tinyint(3) unsigned
+
|tinyint(3)
 +
|unsigned
|NO
|NO
|
|
Строка 154: Строка 191:
|-
|-
|[[#CharTitleId|CharTitleId]]
|[[#CharTitleId|CharTitleId]]
-
|tinyint(3) unsigned
+
|tinyint(3)
 +
|unsigned
|NO
|NO
|
|
Строка 161: Строка 199:
|-
|-
|[[#PlayersSlain|PlayersSlain]]
|[[#PlayersSlain|PlayersSlain]]
-
|tinyint(3) unsigned
+
|tinyint(3)
 +
|unsigned
|NO
|NO
|
|
Строка 168: Строка 207:
|-
|-
|[[#BonusTalents|BonusTalents]]
|[[#BonusTalents|BonusTalents]]
-
|tinyint(3) unsigned
+
|tinyint(3)
 +
|unsigned
|NO
|NO
|
|
Строка 176: Строка 216:
|[[#PrevQuestId|PrevQuestId]]
|[[#PrevQuestId|PrevQuestId]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 183: Строка 224:
|[[#NextQuestId|NextQuestId]]
|[[#NextQuestId|NextQuestId]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 190: Строка 232:
|[[#ExclusiveGroup|ExclusiveGroup]]
|[[#ExclusiveGroup|ExclusiveGroup]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 197: Строка 240:
|[[#NextQuestInChain|NextQuestInChain]]
|[[#NextQuestInChain|NextQuestInChain]]
|mediumint(8)
|mediumint(8)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#RewXPId|RewXPId]]
 +
|tinyint(3)
 +
|unsigned
|NO
|NO
|
|
Строка 203: Строка 255:
|-
|-
|[[#SrcItemId|SrcItemId]]
|[[#SrcItemId|SrcItemId]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 211: Строка 264:
|[[#SrcItemCount|SrcItemCount]]
|[[#SrcItemCount|SrcItemCount]]
|tinyint(3)
|tinyint(3)
 +
|unsigned
|NO
|NO
|
|
Строка 218: Строка 272:
|[[#SrcSpell|SrcSpell]]
|[[#SrcSpell|SrcSpell]]
|mediumint(8)
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 225: Строка 280:
|[[#Title|Title]]
|[[#Title|Title]]
|text
|text
-
|YES
+
|
 +
|
|
|
|
|
Строка 232: Строка 288:
|[[#Details|Details]]
|[[#Details|Details]]
|text
|text
-
|YES
+
|
 +
|
|
|
|
|
Строка 239: Строка 296:
|[[#Objectives|Objectives]]
|[[#Objectives|Objectives]]
|text
|text
-
|YES
+
|
 +
|
|
|
|
|
Строка 246: Строка 304:
|[[#OfferRewardText|OfferRewardText]]
|[[#OfferRewardText|OfferRewardText]]
|text
|text
-
|YES
+
|
 +
|
|
|
|
|
Строка 253: Строка 312:
|[[#RequestItemsText|RequestItemsText]]
|[[#RequestItemsText|RequestItemsText]]
|text
|text
-
|YES
+
|
 +
|
|
|
|
|
Строка 260: Строка 320:
|[[#EndText|EndText]]
|[[#EndText|EndText]]
|text
|text
-
|YES
+
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[#CompletedText|CompletedText]]
 +
|text
 +
|
 +
|
|
|
|
|
Строка 267: Строка 336:
|[[#ObjectiveText|ObjectiveText1]]
|[[#ObjectiveText|ObjectiveText1]]
|text
|text
-
|YES
+
|
 +
|
|
|
|
|
Строка 274: Строка 344:
|[[#ObjectiveText|ObjectiveText2]]
|[[#ObjectiveText|ObjectiveText2]]
|text
|text
-
|YES
+
|
 +
|
|
|
|
|
Строка 281: Строка 352:
|[[#ObjectiveText|ObjectiveText3]]
|[[#ObjectiveText|ObjectiveText3]]
|text
|text
-
|YES
+
|
 +
|
|
|
|
|
Строка 288: Строка 360:
|[[#ObjectiveText|ObjectiveText4]]
|[[#ObjectiveText|ObjectiveText4]]
|text
|text
-
|YES
+
|
 +
|
|
|
|
|
Строка 294: Строка 367:
|-
|-
|[[#ReqItemId|ReqItemId1]]
|[[#ReqItemId|ReqItemId1]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 301: Строка 375:
|-
|-
|[[#ReqItemId|ReqItemId2]]
|[[#ReqItemId|ReqItemId2]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 308: Строка 383:
|-
|-
|[[#ReqItemId|ReqItemId3]]
|[[#ReqItemId|ReqItemId3]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 315: Строка 391:
|-
|-
|[[#ReqItemId|ReqItemId4]]
|[[#ReqItemId|ReqItemId4]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#ReqItemId|ReqItemId5]]
 +
|mediumint(8)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#ReqItemId|ReqItemId6]]
 +
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 322: Строка 415:
|-
|-
|[[#ReqItemCount|ReqItemCount1]]
|[[#ReqItemCount|ReqItemCount1]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 329: Строка 423:
|-
|-
|[[#ReqItemCount|ReqItemCount2]]
|[[#ReqItemCount|ReqItemCount2]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 336: Строка 431:
|-
|-
|[[#ReqItemCount|ReqItemCount3]]
|[[#ReqItemCount|ReqItemCount3]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 343: Строка 439:
|-
|-
|[[#ReqItemCount|ReqItemCount4]]
|[[#ReqItemCount|ReqItemCount4]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#ReqItemCount|ReqItemCount5]]
 +
|smallint(5)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#ReqItemCount|ReqItemCount6]]
 +
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 351: Строка 464:
|[[#ReqSourceId|ReqSourceId1]]
|[[#ReqSourceId|ReqSourceId1]]
|mediumint(8)
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 358: Строка 472:
|[[#ReqSourceId|ReqSourceId2]]
|[[#ReqSourceId|ReqSourceId2]]
|mediumint(8)
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 365: Строка 480:
|[[#ReqSourceId|ReqSourceId3]]
|[[#ReqSourceId|ReqSourceId3]]
|mediumint(8)
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 372: Строка 488:
|[[#ReqSourceId|ReqSourceId4]]
|[[#ReqSourceId|ReqSourceId4]]
|mediumint(8)
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 379: Строка 496:
|[[#ReqSourceCount|ReqSourceCount1]]
|[[#ReqSourceCount|ReqSourceCount1]]
|smallint(5)
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 386: Строка 504:
|[[#ReqSourceCount|ReqSourceCount2]]
|[[#ReqSourceCount|ReqSourceCount2]]
|smallint(5)
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 393: Строка 512:
|[[#ReqSourceCount|ReqSourceCount3]]
|[[#ReqSourceCount|ReqSourceCount3]]
|smallint(5)
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 400: Строка 520:
|[[#ReqSourceCount|ReqSourceCount4]]
|[[#ReqSourceCount|ReqSourceCount4]]
|smallint(5)
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 407: Строка 528:
|[[#ReqCreatureOrGOId|ReqCreatureOrGOId1]]
|[[#ReqCreatureOrGOId|ReqCreatureOrGOId1]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 414: Строка 536:
|[[#ReqCreatureOrGOId|ReqCreatureOrGOId2]]
|[[#ReqCreatureOrGOId|ReqCreatureOrGOId2]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 421: Строка 544:
|[[#ReqCreatureOrGOId|ReqCreatureOrGOId3]]
|[[#ReqCreatureOrGOId|ReqCreatureOrGOId3]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 428: Строка 552:
|[[#ReqCreatureOrGOId|ReqCreatureOrGOId4]]
|[[#ReqCreatureOrGOId|ReqCreatureOrGOId4]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 434: Строка 559:
|-
|-
|[[#ReqCreatureOrGOCount|ReqCreatureOrGOCount1]]
|[[#ReqCreatureOrGOCount|ReqCreatureOrGOCount1]]
-
|int(10) unsigned
+
|int(10)
 +
|unsigned
|NO
|NO
|
|
Строка 441: Строка 567:
|-
|-
|[[#ReqCreatureOrGOCount|ReqCreatureOrGOCount2]]
|[[#ReqCreatureOrGOCount|ReqCreatureOrGOCount2]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 448: Строка 575:
|-
|-
|[[#ReqCreatureOrGOCount|ReqCreatureOrGOCount3]]
|[[#ReqCreatureOrGOCount|ReqCreatureOrGOCount3]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 455: Строка 583:
|-
|-
|[[#ReqCreatureOrGOCount|ReqCreatureOrGOCount4]]
|[[#ReqCreatureOrGOCount|ReqCreatureOrGOCount4]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 462: Строка 591:
|-
|-
|[[#ReqSpellCast|ReqSpellCast1]]
|[[#ReqSpellCast|ReqSpellCast1]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 470: Строка 600:
|[[#ReqSpellCast|ReqSpellCast2]]
|[[#ReqSpellCast|ReqSpellCast2]]
|mediumint(8)
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 477: Строка 608:
|[[#ReqSpellCast|ReqSpellCast3]]
|[[#ReqSpellCast|ReqSpellCast3]]
|mediumint(8)
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 484: Строка 616:
|[[#ReqSpellCast|ReqSpellCast4]]
|[[#ReqSpellCast|ReqSpellCast4]]
|mediumint(8)
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 490: Строка 623:
|-
|-
|[[#RewChoiceItemId|RewChoiceItemId1]]
|[[#RewChoiceItemId|RewChoiceItemId1]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 497: Строка 631:
|-
|-
|[[#RewChoiceItemId|RewChoiceItemId2]]
|[[#RewChoiceItemId|RewChoiceItemId2]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 504: Строка 639:
|-
|-
|[[#RewChoiceItemId|RewChoiceItemId3]]
|[[#RewChoiceItemId|RewChoiceItemId3]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 511: Строка 647:
|-
|-
|[[#RewChoiceItemId|RewChoiceItemId4]]
|[[#RewChoiceItemId|RewChoiceItemId4]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 518: Строка 655:
|-
|-
|[[#RewChoiceItemId|RewChoiceItemId5]]
|[[#RewChoiceItemId|RewChoiceItemId5]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 525: Строка 663:
|-
|-
|[[#RewChoiceItemId|RewChoiceItemId6]]
|[[#RewChoiceItemId|RewChoiceItemId6]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 532: Строка 671:
|-
|-
|[[#RewChoiceItemCount|RewChoiceItemCount1]]
|[[#RewChoiceItemCount|RewChoiceItemCount1]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 539: Строка 679:
|-
|-
|[[#RewChoiceItemCount|RewChoiceItemCount2]]
|[[#RewChoiceItemCount|RewChoiceItemCount2]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 546: Строка 687:
|-
|-
|[[#RewChoiceItemCount|RewChoiceItemCount3]]
|[[#RewChoiceItemCount|RewChoiceItemCount3]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 553: Строка 695:
|-
|-
|[[#RewChoiceItemCount|RewChoiceItemCount4]]
|[[#RewChoiceItemCount|RewChoiceItemCount4]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 560: Строка 703:
|-
|-
|[[#RewChoiceItemCount|RewChoiceItemCount5]]
|[[#RewChoiceItemCount|RewChoiceItemCount5]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 567: Строка 711:
|-
|-
|[[#RewChoiceItemCount|RewChoiceItemCount6]]
|[[#RewChoiceItemCount|RewChoiceItemCount6]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 574: Строка 719:
|-
|-
|[[#RewItemId|RewItemId1]]
|[[#RewItemId|RewItemId1]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 581: Строка 727:
|-
|-
|[[#RewItemId|RewItemId2]]
|[[#RewItemId|RewItemId2]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 588: Строка 735:
|-
|-
|[[#RewItemId|RewItemId3]]
|[[#RewItemId|RewItemId3]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 595: Строка 743:
|-
|-
|[[#RewItemId|RewItemId4]]
|[[#RewItemId|RewItemId4]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 602: Строка 751:
|-
|-
|[[#RewItemCount|RewItemCount1]]
|[[#RewItemCount|RewItemCount1]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 609: Строка 759:
|-
|-
|[[#RewItemCount|RewItemCount2]]
|[[#RewItemCount|RewItemCount2]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 616: Строка 767:
|-
|-
|[[#RewItemCount|RewItemCount3]]
|[[#RewItemCount|RewItemCount3]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 623: Строка 775:
|-
|-
|[[#RewItemCount|RewItemCount4]]
|[[#RewItemCount|RewItemCount4]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 631: Строка 784:
|[[#RewRepFaction|RewRepFaction1]]
|[[#RewRepFaction|RewRepFaction1]]
|smallint(5)
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
|0
|0
-
|
+
|faction id from Faction.dbc in this case
|-
|-
|[[#RewRepFaction|RewRepFaction2]]
|[[#RewRepFaction|RewRepFaction2]]
|smallint(5)
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
|0
|0
-
|
+
|faction id from Faction.dbc in this case
|-
|-
|[[#RewRepFaction|RewRepFaction3]]
|[[#RewRepFaction|RewRepFaction3]]
|smallint(5)
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
|0
|0
-
|
+
|faction id from Faction.dbc in this case
|-
|-
|[[#RewRepFaction|RewRepFaction4]]
|[[#RewRepFaction|RewRepFaction4]]
|smallint(5)
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
|0
|0
-
|
+
|faction id from Faction.dbc in this case
|-
|-
|[[#RewRepFaction|RewRepFaction5]]
|[[#RewRepFaction|RewRepFaction5]]
|smallint(5)
|smallint(5)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|faction id from Faction.dbc in this case
 +
|-
 +
|[[#RewRepValueId|RewRepValueId1]]
 +
|tinyint(3)
 +
|
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#RewRepValueId|RewRepValueId2]]
 +
|tinyint(3)
 +
|
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#RewRepValueId|RewRepValueId3]]
 +
|tinyint(3)
 +
|
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#RewRepValueId|RewRepValueId4]]
 +
|tinyint(3)
 +
|
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#RewRepValueId|RewRepValueId5]]
 +
|tinyint(3)
 +
|
|NO
|NO
|
|
Строка 666: Строка 864:
|[[#RewRepValue|RewRepValue1]]
|[[#RewRepValue|RewRepValue1]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 673: Строка 872:
|[[#RewRepValue|RewRepValue2]]
|[[#RewRepValue|RewRepValue2]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 680: Строка 880:
|[[#RewRepValue|RewRepValue3]]
|[[#RewRepValue|RewRepValue3]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 687: Строка 888:
|[[#RewRepValue|RewRepValue4]]
|[[#RewRepValue|RewRepValue4]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 694: Строка 896:
|[[#RewRepValue|RewRepValue5]]
|[[#RewRepValue|RewRepValue5]]
|mediumint(9)
|mediumint(9)
 +
|
|NO
|NO
|
|
Строка 699: Строка 902:
|
|
|-
|-
-
|[[#RewHonorableKills|RewHonorableKills]]
+
|[[#RewMaxRepValue|RewMaxRepValue1]]
-
|int(11)
+
|mediumint(8)
 +
|
 +
|NO
 +
|
 +
|42999
 +
|
 +
|-
 +
|[[#RewMaxRepValue|RewMaxRepValue2]]
 +
|mediumint(8)
 +
|
 +
|NO
 +
|
 +
|42999
 +
|
 +
|-
 +
|[[#RewMaxRepValue|RewMaxRepValue3]]
 +
|mediumint(8)
 +
|
 +
|NO
 +
|
 +
|42999
 +
|
 +
|-
 +
|[[#RewMaxRepValue|RewMaxRepValue4]]
 +
|mediumint(8)
 +
|
 +
|NO
 +
|
 +
|42999
 +
|
 +
|-
 +
|[[#RewMaxRepValue|RewMaxRepValue5]]
 +
|mediumint(8)
 +
|
 +
|NO
 +
|
 +
|42999
 +
|
 +
|-
 +
|[[#RewHonorAddition|RewHonorAddition]]
 +
|int
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#RewHonorMultiplier|RewHonorMultiplier]]
 +
|float
 +
|
|NO
|NO
|
|
Строка 708: Строка 960:
|[[#RewOrReqMoney|RewOrReqMoney]]
|[[#RewOrReqMoney|RewOrReqMoney]]
|int(11)
|int(11)
 +
|
|NO
|NO
|
|
Строка 714: Строка 967:
|-
|-
|[[#RewMoneyMaxLevel|RewMoneyMaxLevel]]
|[[#RewMoneyMaxLevel|RewMoneyMaxLevel]]
-
|int(10) unsigned
+
|int(10)
 +
|unsigned
|NO
|NO
|
|
Строка 721: Строка 975:
|-
|-
|[[#RewSpell|RewSpell]]
|[[#RewSpell|RewSpell]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 728: Строка 983:
|-
|-
|[[#RewSpellCast|RewSpellCast]]
|[[#RewSpellCast|RewSpellCast]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 735: Строка 991:
|-
|-
|[[#RewMailTemplateId|RewMailTemplateId]]
|[[#RewMailTemplateId|RewMailTemplateId]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 742: Строка 999:
|-
|-
|[[#RewMailDelaySecs|RewMailDelaySecs]]
|[[#RewMailDelaySecs|RewMailDelaySecs]]
-
|int(11) unsigned
+
|int(11)
 +
|unsigned
|NO
|NO
|
|
Строка 749: Строка 1007:
|-
|-
|[[#PointMapId|PointMapId]]
|[[#PointMapId|PointMapId]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 757: Строка 1016:
|[[#PointX|PointX]]
|[[#PointX|PointX]]
|float
|float
 +
|
|NO
|NO
|
|
Строка 764: Строка 1024:
|[[#PointY|PointY]]
|[[#PointY|PointY]]
|float
|float
 +
|
|NO
|NO
|
|
Строка 771: Строка 1032:
|[[#PointOpt|PointOpt]]
|[[#PointOpt|PointOpt]]
|mediumint(8)
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 777: Строка 1039:
|-
|-
|[[#DetailsEmote|DetailsEmote1]]
|[[#DetailsEmote|DetailsEmote1]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 784: Строка 1047:
|-
|-
|[[#DetailsEmote|DetailsEmote2]]
|[[#DetailsEmote|DetailsEmote2]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 791: Строка 1055:
|-
|-
|[[#DetailsEmote|DetailsEmote3]]
|[[#DetailsEmote|DetailsEmote3]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 798: Строка 1063:
|-
|-
|[[#DetailsEmote|DetailsEmote4]]
|[[#DetailsEmote|DetailsEmote4]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#DetailsEmoteDelay|DetailsEmoteDelay1]]
 +
|int(11)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#DetailsEmoteDelay|DetailsEmoteDelay2]]
 +
|int(11)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#DetailsEmoteDelay|DetailsEmoteDelay3]]
 +
|int(11)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#DetailsEmoteDelay|DetailsEmoteDelay4]]
 +
|int(11)
 +
|unsigned
|NO
|NO
|
|
Строка 805: Строка 1103:
|-
|-
|[[#IncompleteEmote|IncompleteEmote]]
|[[#IncompleteEmote|IncompleteEmote]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#IncompleteEmoteDelay|IncompleteEmoteDelay]]
 +
|int(11)
 +
|unsigned
|NO
|NO
|
|
Строка 812: Строка 1119:
|-
|-
|[[#CompleteEmote|CompleteEmote]]
|[[#CompleteEmote|CompleteEmote]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#CompleteEmoteDelay|CompleteEmoteDelay]]
 +
|int(11)
 +
|unsigned
|NO
|NO
|
|
Строка 819: Строка 1135:
|-
|-
|[[#OfferRewardEmote|OfferRewardEmote1]]
|[[#OfferRewardEmote|OfferRewardEmote1]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 826: Строка 1143:
|-
|-
|[[#OfferRewardEmote|OfferRewardEmote2]]
|[[#OfferRewardEmote|OfferRewardEmote2]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 833: Строка 1151:
|-
|-
|[[#OfferRewardEmote|OfferRewardEmote3]]
|[[#OfferRewardEmote|OfferRewardEmote3]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
|NO
|NO
|
|
Строка 840: Строка 1159:
|-
|-
|[[#OfferRewardEmote|OfferRewardEmote4]]
|[[#OfferRewardEmote|OfferRewardEmote4]]
-
|smallint(5) unsigned
+
|smallint(5)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#OfferRewardEmoteDelay|OfferRewardEmoteDelay1]]
 +
|int(11)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#OfferRewardEmoteDelay|OfferRewardEmoteDelay2]]
 +
|int(11)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#OfferRewardEmoteDelay|OfferRewardEmoteDelay3]]
 +
|int(11)
 +
|unsigned
 +
|NO
 +
|
 +
|0
 +
|
 +
|-
 +
|[[#OfferRewardEmoteDelay|OfferRewardEmoteDelay4]]
 +
|int(11)
 +
|unsigned
|NO
|NO
|
|
Строка 847: Строка 1199:
|-
|-
|[[#StartScript|StartScript]]
|[[#StartScript|StartScript]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 854: Строка 1207:
|-
|-
|[[#CompleteScript|CompleteScript]]
|[[#CompleteScript|CompleteScript]]
-
|mediumint(8) unsigned
+
|mediumint(8)
 +
|unsigned
|NO
|NO
|
|
Строка 861: Строка 1215:
|}
|}
-
 
+
<big>'''Описание полей'''</big>
====entry====
====entry====
Строка 872: Строка 1226:
====ZoneOrSort====
====ZoneOrSort====
 +
Это поле определяет, под какой категорией задания заносятся в журнал (список) заданий.
Это поле определяет, под какой категорией задания заносятся в журнал (список) заданий.
Строка 878: Строка 1233:
Если '''значение < 0''' ('''отрицательное''') то учитывается как номер вида задания (задание для определенной професии или класса. Смотри также [[quest_template#RequiredSkillValue|RequiredSkillValue]]). Значение берется из [[QuestSort.dbc]].
Если '''значение < 0''' ('''отрицательное''') то учитывается как номер вида задания (задание для определенной професии или класса. Смотри также [[quest_template#RequiredSkillValue|RequiredSkillValue]]). Значение берется из [[QuestSort.dbc]].
-
====SkillOrClass====
+
====MinLevel====
-
Это поле определяет навык или требования класса для задания, что бы оно было доступено только относительно этих требований.
+
-
Если '''значение > 0''' то учитывается как номер навыка из [[SkillLine.dbc]]
 
-
 
-
Если '''значение < 0''' ('''отрицательное''') - номер класса из [[ChrClasses.dbc]]
 
-
 
-
====MinLevel====
 
Минимальный уровень, необходимый что бы получить задание.
Минимальный уровень, необходимый что бы получить задание.
====QuestLevel====
====QuestLevel====
 +
Уровень задания. Игрок получает полное количество опыта, только если его уровень меньше или равен 5.
Уровень задания. Игрок получает полное количество опыта, только если его уровень меньше или равен 5.
====Type====
====Type====
 +
Значение берется из [[QuestInfo.dbc]]
Значение берется из [[QuestInfo.dbc]]
{{:QuestInfo.dbc}}
{{:QuestInfo.dbc}}
-
====RequiredRaces====
+
====RequiredClasses====
-
Расы, которым доступен квест. Если 0 - квест доступен для всех рас.
+
Классы, которым доступен квест. Если 0 - квест доступен для всех классов.
 +
Значение вычисляется по формуле: 2^(ID-1),ID берется из [[ChrClasses.dbc]]
 +
{{:ChrClasses.dbc|binary=1}}
-
<big>'''Race'''</big>
+
Сумма значений для всех классов - '''1535'''
 +
 
 +
====RequiredRaces====
-
Значение вычисляется по формуле: 2^(ID-1),ID берется из [[ChrRaces.dbc]]
+
Расы, которым доступен квест. Если 0 - квест доступен для всех рас. Значение вычисляется по формуле: 2^(ID-1),ID берется из [[ChrRaces.dbc]]
{{:ChrRaces.dbc|binary=1}}
{{:ChrRaces.dbc|binary=1}}
-
<big>Пример</big>
+
====RequiredSkill====
-
0,1791  = Все Расы
+
Это поле определяет навык или требования класса для задания, что бы оно было доступено только относительно этих требований, учитывается как номер навыка из [[SkillLine.dbc]].
-
 
+
-
690 (2 + 16 + 32 + 128 + 512)    = Квест только для Орды
+
-
 
+
-
1101 (1 + 4 + 8 + 64 + 1024)  = Квест только для Альянса
+
====RequiredSkillValue====
====RequiredSkillValue====
Требуемое значение навыка игрока если в [[quest_template#SkillOrClass|SkillOrClass]] значение > 0 и имеет номер какого либо навыка.
Требуемое значение навыка игрока если в [[quest_template#SkillOrClass|SkillOrClass]] значение > 0 и имеет номер какого либо навыка.
 +
 +
====RequiredCondition====
 +
Идентификатор условия [[conditions#condition_entry|conditions.condition_entry]]. 
====RepObjectiveFaction====
====RepObjectiveFaction====
Строка 985: Строка 1339:
| 4096 || QUEST_FLAGS_DAILY || Ежедневные повторяемые задания (only flag that the core applies specific behavior for)
| 4096 || QUEST_FLAGS_DAILY || Ежедневные повторяемые задания (only flag that the core applies specific behavior for)
|-
|-
-
| 8192 || QUEST_FLAGS_UNK5 || Ежедневные PvP задания в зоне Седые Холмы (может быть все таки Озеро Ледяных Оков?)? Задание можно взять только если у игрока включен режим PvP.
+
| 8192 || QUEST_FLAGS_FLAGS_PVP || Ежедневные PvP задания в зоне Седые Холмы (может быть все таки Озеро Ледяных Оков?)? Задание можно взять только если у игрока включен режим PvP.
 +
|-
 +
| 16384 || QUEST_FLAGS_UNK4 || ? Membership Card Renewal. 
 +
|-
 +
| 32768 || QUEST_FLAGS_WEEKLY || Weekly quest. Can be done once a week. Quests reset at regular intervals for all players. 
 +
|-
 +
| 65536 || QUEST_FLAGS_AUTOCOMPLETE || Auto complete. 
 +
|-
 +
| 131072 || QUEST_FLAGS_UNK5 || Has something to do with ReqItemId and SrcItemId. 
 +
|-
 +
| 262144 || QUEST_FLAGS_UNK6 || Use Objective text as Complete text. 
 +
|-
 +
| 524288 || QUEST_FLAGS_AUTO_ACCEPT || Quests in starting areas. 
|}
|}
Строка 994: Строка 1360:
* 0: Нет дополнительных параметров
* 0: Нет дополнительных параметров
* 1: Делает задание повторяемым.
* 1: Делает задание повторяемым.
-
* 2: Делает возможным выполнение задания только при некотором событии (активация [[areatrigger_involvedrelation]], эффект спелла выполнение задания или активация [[spell_scripts]] с командой 7 как пример)
+
* 2: Делает возможным выполнение задания только при некотором событии (активация [[areatrigger_involvedrelation]], эффект спелла выполнения задания или активация скриптами [[dbscripts_on_*]] с командой 7 как пример)
-
* 3: Делает задание одновременно и повторяемым и выполняемым при некотором событии.
+
* 4: Делает квест ежемесячным.
====CharTitleId====
====CharTitleId====
Строка 1004: Строка 1370:
====BonusTalents====
====BonusTalents====
 +
Количество очков талантов получаемое игроком при выполнении задания.(?)
====PrevQuestId====
====PrevQuestId====
-
'''if value > 0:''' Contains the previous quest id, that must be completed before this quest can be started.
+
'''Если значение > 0:''' Содержит идентификатор предыдущего задания, которое должно быть выполнено для того что бы взять это задание.
-
'''If value < 0:''' Contains the parent quest id, that must be active before this quest can be started.
+
'''Если значение < 0:''' Содержит идентификатор родительского задания, которое должно быть активно для того что бы взять это задание.
-
See the [[#Examples|examples section]] for examples.
+
Смотрите [[#Examples|раздел примеров]] для примера.
====NextQuestId====
====NextQuestId====
-
'''If value > 0:''' Contains the next quest id, if PrevQuestId of that quest is not sufficient.
+
'''Если значение > 0:''' Содержит идентификатор следующего задания, если поля PrevQuestId этого задания недостаточно.
-
'''If value < 0:''' Contains the sub quest id, if PrevQuestId of that quest is not sufficient.
+
'''Если значение < 0:''' Содержит идентификатор суб задания, если поля PrevQuestId этого задания недостаточно.
-
If quest have many alternative next quests (class specific quests lead from single not class specific quest) field PrevQuestId in next quests can used for setting this dependence.
+
-
See the [[#Examples|examples section]] for examples.
+
Если задание имеет много альтернативных следующих заданий (специфичные классовые задания идущие после одного общего задания) то должно использоваться поле [[#PrevQuestId|PrevQuestId]] этих заданий.
 +
 
 +
Смотри [[#Examples|раздел примеров]] для примера.
====ExclusiveGroup====
====ExclusiveGroup====
-
'''if ExclusiveGroup > 0'''
+
'''если ExclusiveGroup > 0'''
-
Allows to define a group of quests of which only one may be chosen and completed.
+
Позволяет создать группу заданий из которых только одно может быть взято и выполнено.
-
E.g. if from quests 1200, 1201 and 1202 only one should be allowed to be chosen, insert 1200 into ExclusiveGroup of all 3 quests.
+
-
'''if ExclusiveGroup < 0'''
+
Например, если из заданий 1200, 1201 и 1202 нужно позволить взять только одно, вставьте 1200 в поле ExclusiveGroup всех 3 заданий.
-
Allows to define a group of quests of which all must be completed and rewarded to start next quest.
+
'''если ExclusiveGroup < 0'''
-
E.g. if quest 1000 dependent from one of quests 1200, 1201 and 1202 and all this quests have same negative exclusive group then all this quest must be completed and rewarded before quest 1000 can be started.
+
-
See the [[#Examples|examples section]] for examples.
+
Позволяет создать группу заданий в которой все задания должны быть выполнены для того что бы взять следующее.
 +
 
 +
Например, если задание 1000 является продолжением одного из заданий 1200, 1201 и 1202 и все эти задания имеют одинаковое отрицательное значение ExclusiveGroup, все эти задания должны быть завершены для того что бы взять задание 1000.
 +
 
 +
Смотрите [[#Examples|раздел примеров]] для примера.
====NextQuestInChain====
====NextQuestInChain====
-
The quest entry from a '''creature''' or '''gameobject''' that ends a quest and starts a new one. The result is, that if you end the quest, the new quest instantly appears from the quest giver.
+
Идентификатор следующего задания если принимает это и выдает следующее одно и то же '''существо''' или '''gameobject'''. Результат, если вы заканчиваете задание, новое задание отобразится автоматически.
 +
 
 +
Смотрите [[#Examples|раздел примеров]] для пояснения.
-
See the [[#Examples|examples section]] for examples.
+
====RewXPId====
 +
Ссылка на поле в QuestExp.dbc. Указывается номер поля (Field1-10). Номер указывается как номер поля -1, т.е. если нам нужно поле Field6, указываем 5 (6-1).
 +
Номер поля id в QuestExp.dbc соответствует уровню квеста (QuestLevel).
====SrcItemId====
====SrcItemId====
-
Item's ID given by the quest giver at beginning of the quest.
+
Идентификатор вещи выдаваемой игроку при взятии задания.
-
Items will be deleted when quest is abandoned.
+
Вещь удаляется из инвентаря при отмене задания.
====SrcItemCount====
====SrcItemCount====
-
Amount of items given.
+
Количество выдаваемых вещей из SrcItemId.
====SrcSpell====
====SrcSpell====
-
Spell casted on player when quest is started. Can be a buff or a learning spell.
+
Спелл кастуемый на игрока при взятии задания. Может быть баффом или обучающим спеллом.
====Title====
====Title====
-
Title of the quest.
+
Название задания.
====Details====
====Details====
-
The quest text. You can use certain placeholders that will be filled in in-game: $B - line break, $N - name, $R - race, $C - class, $Gmale:female; (male and female can be replace with any synonymn you want, but the order must stay the same. IE: boy:girl / man:woman / sir:madam / dude:chick)
+
Текст задания. Вы можете использовать определенные метки которые будут преобразованы в игре: $B - конец строки, $N - имя, $R - раса, $C - класс, $Gмужской:женский; (мужской и женский могут быть заменены любыми синонимами какими Вы захотите, но смысл должен остаться тем же самым. То есть: мальчик:девочка / мужчина:женщина / сэр:мадам / dude:chick)
====Objectives====
====Objectives====
-
Objectives of the quest.
+
Цель задания.
-
If empty, quest is an auto-complete quest that can be immediately finished without accepting it first.
+
Если пусто, задание выполняется автоматически и может быть сдано без взятия.
====OfferRewardText====
====OfferRewardText====
-
First text send to the player by the NPC when completing the quest. You can use certain placeholders that will be filled in in-game: $B - line break, $N - name, $R - race, $C - class, $Gmale:female; (male and female can be replace with any synonymn you want, but the order must stay the same. IE: boy:girl / man:woman / sir:madam / dude:chick)
+
Первый текст посылаемый игроку NPC'ом при завершении задания. (Текст под заголовком "Completion" в Wowhead.) Вы можете использовать определенные метки которые будут преобразованы в игре: $B - конец строки, $N - имя, $R - раса, $C - класс, $Gмужской:женский; (мужской и женский могут быть заменены любыми синонимами какими Вы захотите, но смысл должен остаться тем же самым. То есть: мальчик:девочка / мужчина:женщина / сэр:мадам / dude:chick)
====RequestItemsText====
====RequestItemsText====
-
Text sent to player when the player tries to talk to the NPC with the quest active but incomplete. (The text under the "Progress" title in Wowhead.) You can use certain placeholders that will be filled in in-game: $B - line break, $N - name, $R - race, $C - class, $Gmale:female; (male and female can be replace with any synonymn you want, but the order must stay the same. IE: boy:girl / man:woman / sir:madam / dude:chick)
+
Текст посылаемый игроку при разговоре с NPC, при условии активного но не выполненного задания. (Текст под заголовком "Progress" в Wowhead.) Вы можете использовать определенные метки которые будут преобразованы в игре: $B - конец строки, $N - имя, $R - раса, $C - класс, $Gмужской:женский; (мужской и женский могут быть заменены любыми синонимами какими Вы захотите, но смысл должен остаться тем же самым. То есть: мальчик:девочка / мужчина:женщина / сэр:мадам / dude:chick)
====EndText====
====EndText====
Строка 1080: Строка 1454:
====ObjectiveText====
====ObjectiveText====
-
Used to define non-standard objective texts, that show up in the questlog.
+
Используется для нестандартных текстов, которые отображаются в списке заданий.
-
Example, "Heal fallen warrior" and the number gets added by Count values.
+
Пример, "Излечи павшего воина".
====ReqItemId====
====ReqItemId====
-
Item_template Id of required item to complete the quest.
+
Уникальный номер(ID) вещи из [[Item_template]] необходимой для выполнения задания.
====ReqItemCount====
====ReqItemCount====
-
Amount of required items
+
Количество требуемых вещей.
====ReqSourceID====
====ReqSourceID====
-
Item ID that is needed indirectly by the quest. For example, the quests asks for item X but the only way to get item X is by activating item Y; however, item Y is also a quest item. Therefore you set item Y's ID in this field. This requirement will not appear in the quest text, it is just for the core to know when to drop a quest item that isn't in the ReqItemID field but is still needed by the quest.
+
Это идентификатор (ID) предмета из [[item_template]], являющегося источником для создания [[#ReqItemId|ReqItemId]] или каста [[#ReqSpellCast|ReqSpellCast]]. Позволяет получать игрокам квестовый дроп который не является предметами, необходимыми для завершения задания ([[#ReqItemId|ReqItemId]] предназначен для этого), но необходимы игроку для создания предмета, доставки или каста [[#ReqSpellCast|ReqSpellCast]]. Только те предметы у которых есть шанс квестового дропа [[Item_loot_template#ChanceOrQuestChance|ChanceOrQuestChance]] < 0 в [[Item_loot_template]] должны использоваться здесь как источники.
 +
 
 +
'''Пример:''' Для задания требуется предмет Х, но единственный способ его получить это использование предмета Y. Поэтому предмет Y тоже требуется для задания и его идентификатор (ID) указывается в этом поле. Это требование не указывается в тексте задания, и требуется ядру для того что бы знать, дроп какого предмета не указанного в [[#ReqItemId|ReqItemId]] необходим для выполнения задания.
====ReqSourceCount====
====ReqSourceCount====
-
The maximum number of copies of the item in ReqSourceID that can be picked up (and dropped by the core).
+
Максимальное количество копий предмета из [[#ReqSourceID|ReqSourceID]] которое игрок сможет собрать (and dropped by the core).
-
Having ReqSourceId !=0 and ReqSourceCount for that = 0, there is no limit for the items to drop.
+
Если [[#ReqSourceID|ReqSourceID]] !=0 и [[#ReqSourceID|ReqSourceCount]] = 0, то лимит на количество предметов отсутствует.
====ReqCreatureOrGOId====
====ReqCreatureOrGOId====
-
'''Value > 0:''' required creature_template ID the player needs to kill/cast on in order to complete the quest.
+
'''Значение > 0:''' Идентификатор (ID) мобов из [[creature_template]] которых игрок должен убить/кастануть для выполнения задания.
-
'''Value < 0:''' required gameobject_template ID the player needs to cast on in order to complete the quest.
+
'''Значение < 0:''' Идентификатор (ID) объектов из [[gameobject_template]] которые игрок должен активировать для выполнения задания.
-
If '''ReqSpellCast''' is != 0, the objective is to cast on target, else kill.
+
Если '''[[#ReqSpellCast|ReqSpellCast]]''' != 0, то на цель необходимо скастовать спелл, иначе убить.
-
NOTE: If ReqSpellCast is != 0 and the spell has effects Send Event or Quest Complete, this field may be left empty.
+
На заметку: если [[#ReqSpellCast|ReqSpellCast]] != 0 и спелл имеет эффект "начало эвента" или "выполнение задания", это поле можно оставить пустым.
====ReqCreatureOrGOCount====
====ReqCreatureOrGOCount====
-
The number of times the creature or gameobject must be killed or casted upon.
+
Количество убитых мобов или активированных объектов из поля [[#ReqCreatureOrGOId|ReqCreatureOrGOId]].
====ReqSpellCast====
====ReqSpellCast====
-
Spell ID of Spell that needs to be cast in order to fulfill a quest objective.
+
Идентификатор (ID) спелла из [[Spell.dbc]], который должен быть скастован для того что бы выполнить задание.
-
A spell normally needs a target which is [[quest_template#ReqCreatureOrGOId|ReqCreatureOrGOId]]
+
Обычно спеллу нужна цель, которая указывается в [[quest_template#ReqCreatureOrGOId|ReqCreatureOrGOId]]
-
And for spells with "SpellEffect with ImpliciteTargetA-B == 38" check table [[Spell_script_target]]
+
И для спеллов с "SpellEffect ImpliciteTargetA-B == 38" сверяться с таблицей [[Spell_script_target]]
-
NOTE: If the spell has spell effects Send Event or Quest Complete, it can be entered here WITHOUT the need for a target and count.
+
На заметку: если спелл имеет эффекты "начало эвента" или "выполнение задания", то можно не указывать его цель [[#ReqCreatureOrGOId|ReqCreatureOrGOId]] и количество [[#ReqCreatureOrGOCount|ReqCreatureOrGOCount]].
====RewChoiceItemId, RewChoiceItemCount====
====RewChoiceItemId, RewChoiceItemCount====
-
Id of item available for reward choice.  
+
Идентификатор (ID) предмета из [[item_template]] доступного для выбора в качестве награды.  
-
Number of Charges in rewarded item available.
+
Количество предметов получаемых в качестве награды.
 +
====RewItemId, RewItemCount====
 +
Идентификатор (ID) предмета из [[item_template]]  доступного в качестве награды (не на выбор).
-
====RewItemId, RewItemCount====
+
Количество предметов.
 +
 
 +
====RewRepFaction, RewRepValue, RewRepValueId====
-
Number of RewItem
+
Идентификатор (Id) фракции (из [[Faction.dbc]]) к которой добавятся очки репутации при сдаче задания.
-
item Id given for reward (no choice).
+
Число на которое увеличится/уменьшится количество репутации с фракцией из [[#RewRepFaction|RewRepFaction]] при сдаче задания.
 +
Это дополнительная награда репутацией. Если поле [[#RewRepValue|RewRepValue]] пустое, то репутация рассчитывается исходя из указателя(поле [[#RewRepValueId|RewRepValueId]])
 +
на значение из QuestFactionReward.dbc, а если поле [[#RewRepValue|RewRepValue]] непустое, то к репутации добавляется(отнимается) его значение.
 +
Обычно награда за задание репутацией с фракцией моба вычисляется и добавляется автоматически.
-
====RewRepFaction, RewRepValue====
+
====RewHonorAddition====
 +
Число почетных убийств награждаемых очками чести по завершению задания.
-
Faction Id (from [[Faction.dbc]]) for which the quest give reputation points.
+
Пример:
 +
Возьмем значение 15 для задания 8388: На 70 уровне за почетное убийство начисляется 20.9 очков чести. Умножьте это на 15 и получите 313.5, после умножения, значение округляется в большую сторону. Таким образом на 70 уровне награда за это задание составит 314 очков чести.
-
Number of gain or lost reputation points for Faction at quest completion.
+
====RewHonorMultiplier====
-
This is special reputation rewarding. Normal reputation reward to quest rewarding creature faction calculated and added automatically.
+
-
====RewHonorableKills====
 
-
Number of honorable kill honor rewarded for completing this quest.
 
-
Example:
 
-
An example value is 15 for quest 8388: At level 70 an honorable kill is 20.9 honor worth. Multiply this with 15 and you receive 313.5, after the multiplication the value is rounded up. So the honor rewarded at level 70 is 314 for this quest.
 
====RewOrReqMoney====
====RewOrReqMoney====
-
Money earned by completing the quest (if value > 0). Money quest requirement (if value < 0).
+
'''Значение > 0:''' Деньги получаемые при сдаче задания.
 +
 
 +
'''Значение < 0:''' Деньги требуемые для сдачи задания.
====RewMoneyMaxLevel====
====RewMoneyMaxLevel====
-
The money a character at level 70 would get when they complete this quest. This field also controls the XP given as the XP is calculated from the value in this field by the following formula. If the quest is repeatable, XP will be given only once. The total XP that a character will receive is also affected by the level difference between the character's level and the quest's level.
+
Деньги получаемые персонажем на 80 уровне при сдаче задания. Это поле так же контролирует получаемый опыт. Если задание повторяемое, опыт дается за него один раз. Количество опыта, получаемого персонажем, зависит от разницы между уровнем персонажа и уровнем задания.
-
<br><br>
+
-
The formula for calculating XP from the value in this field:<br>
+
-
'''QuestLevel >= 65:''' XP = RewMoneyMaxLevel / 6.0<br>
+
-
'''QuestLevel == 64:''' XP = RewMoneyMaxLevel / 4.8<br>
+
-
'''QuestLevel == 63:''' XP = RewMoneyMaxLevel / 3.6<br>
+
-
'''QuestLevel == 62:''' XP = RewMoneyMaxLevel / 2.4<br>
+
-
'''QuestLevel == 61:''' XP = RewMoneyMaxLevel / 1.2<br>
+
-
'''QuestLevel <= 60:''' XP = RewMoneyMaxLevel / 0.6
+
====RewSpell====
====RewSpell====
-
Spell that is shown to be casted on quest completion in the quest log. Note that this spell will NOT be casted if [[#RewSpellCast|RewSpellCast]] is non-zero. The spell in the other field will be casted instead, in which case the spell here only serves as the visual in the quest log.
+
Спелл отображаемый в списке заданий, который будет скастован на чара при сдаче задания. Заметьте что этот спелл не будет скастован если значение в поле [[#RewSpellCast|RewSpellCast]] не равно нулю. В этом случае будет скастован спелл обозначенный в другом поле, а спелл из этого поля будет всего лишь визуальным оформлением в списке заданий.
-
NOTE: This field comes straight from the WDB and should not be changed.
+
Важно: Это поле заполняется из WDB и не должно изменяться.
====RewSpellCast====
====RewSpellCast====
-
Spell that will always be casted at player when completing the quest. This can be learn spell and player learned some spell in result, or buff spell, for example. If this field is non-zero then this spell will ALWAYS be casted and the spell in [[#RewSpell|RewSpell]] will not.
+
Заклинание будет произнесено на игрока, когда задание будет завершено. В данном поле так же можно указать обучающее заклинание или баф (пример). Если это поле не равно нулю, то будет кастоваться именно это заклинание, а заклинание из поля [[#RewSpell|RewSpell]] не будет.
-
NOTE: This field comes straight from the WDB and should not be changed.
+
Примечание: значения для данного поля берутся из WDB и не должны изменяться.
====RewMailTemplateId====
====RewMailTemplateId====
-
If the quest gives as a reward an item from a possible list of items, the ID here corresponds to the proper loot template in [[quest_mail_loot_template]]. According to the rules in that loot template, items "looted" will be sent by mail at the completion of the quest.
+
If the quest gives as a reward an item from a possible list of items, the ID here corresponds to the proper loot template in [[mail_loot_template]]. According to the rules in that loot template, items "looted" will be sent by mail at the completion of the quest.
====RewMailDelaySecs====
====RewMailDelaySecs====
Строка 1203: Строка 1577:
====StartScript====
====StartScript====
-
ID of the start script. See [[quest_start_scripts#id|quest_start_scripts.id]]
+
Идентификатор скрипта, срабатывающего при взятии задания. См. [[dbscripts_on_quest_start#id|dbscripts_on_quest_start.id]]
====CompleteScript====
====CompleteScript====
-
ID of the end script. See [[quest_end_scripts#id|quest_end_scripts.id]]
+
Идентификатор скрипта, срабатывающего при сдаче задания. См. [[dbscripts_on_quest_end#id|dbscripts_on_quest_end.id]]
-
==Examples==
+
====Examples====
Строка 1214: Строка 1588:
'''The "rules of engagement" dealing with quests'''
'''The "rules of engagement" dealing with quests'''
-
1. Always use PrevQuestId before using NextQuestId. NextQuestId is considered optional and to be used only when PrevQuestId is not sufficient
+
1. Всегда сначала укажите PrevQuestId перед тем как указывать NextQuestId. NextQuestId является не обязательным параметром и будет использоваться только тогда, когда PrevQuestId недостаточно
-
 
+
-
'''Basic quest'''
+
'''Основной принцип'''
-
''Single, stand-alone quest with no prerequisites''
+
''Одиночное заданиеА, без каких либо условий''
<pre>
<pre>
     *questA*
     *questA*
Строка 1226: Строка 1599:
PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = 0        entry = questA
PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = 0        entry = questA
</pre>
</pre>
-
''When this quest require another quest to be rewarded''
+
''Для взятия заданияА необходимо выполнить предыдущее заданиеХ''
<pre>
<pre>
     *questA*
     *questA*
Строка 1234: Строка 1607:
</pre>
</pre>
-
'''Chain of quests'''
+
'''Цепочка квестов'''
-
''Player get quests in a strict chain that must be completed in a specific order.''
+
''Персонаж должен выполнить цепочку квестов в строго определенном порядке''
<pre>
<pre>
Строка 1254: Строка 1627:
</pre>
</pre>
-
'''Chain of quests with multiple start quests.'''
+
'''Цепочка квестов с несколькими квестами в качестве первого в цепочке.'''
-
''Player should only be allowed to complete one of three possible''
+
''Игроку достаточно завершить хотя бы один из трёх возможных квестов''
<pre>
<pre>
Строка 1274: Строка 1647:
-
'''Chain of quests with multiple start quests.'''
+
'''Цепочка квестов с несколькими квестами в качестве первого в цепочке.'''
-
''Player must complete all three initial quests before D becomes available''
+
''Игрок должен выполнить все три квеста, прежде чем задание D станет доступным''
<pre>
<pre>
Строка 1294: Строка 1667:
-
'''Quests with split and a child quest'''
+
'''Квесты с разветвлениями и побочным квестом'''
-
''Completing A unlocks B and C that can be done at the same time. They both need to be completed before D becomes available. X is needed to obtain item for C and this quest should only be available if C is active''
+
''Выполнение A разблокирует B и C которые могут выполняться одновременно. Оба должны быть завершены, чтобы квест D стал доступен. Квест X необходим, чтобы получить предмет для квеста C и этот квест должен быть доступен только если квест C находится в процессе выполнения''
<pre>
<pre>
Строка 1314: Строка 1687:
-
'''Multiple quest chains, leading to one final quest'''
+
'''Несколько цепочек, оканчивающиеся одним финальным квестом'''
-
''Player may complete (not required to) X, but has to complete all three quest chains before final quest becomes available''
+
''Игрок может выполнить квест X (не обязательно), но должен завершить все три цепочки квестов прежде чем финальный квест станет доступным''
      
      
<pre>
<pre>
Строка 1341: Строка 1714:
-
'''Complicated'''
+
'''Сложные цепочки'''
-
''Player must first complete A, then B to unlock the chain from C to E. Three other quests in a group will also be unlocked, those can be done at the same time. The three grouped quests must all be completed before I becomes available. Completion of E and I is required to obtain the final quest.''
+
''Игрок должен выполнить A, чтобы разблокировать B, который разблокирует цепочку квестов от C до E. Другие три квеста также будут разблокированы после выполнения B, они могу выполняться в тоже время, что и цепочка C-E. Три сгруппированнных квеста (F, G, H) должны быть выполнены, чтобы стал доступен I. Выполнение квестов E и I необходимо для того, чтобы финальный квест стал доступен.''
<pre>
<pre>
                 *questA*
                 *questA*
Строка 1375: Строка 1748:
-
'''Impossible - many quests may unlock many'''
+
'''Невероятное - многие квесты могут разблокировать многие квесты =)'''
-
''Player can choose between two alternative chains (Chain A or B, but not both chains). A2 or B2 should unlock C, D and E when complete. When all three complete, F should be unlocked. If player get A3 or B3 after complete F, depends on if chain A or B was chosen.''
+
''Игрок может выбрать между двумя альтернативными цепочками (Цепочка A или B, но не обе). A2 или B2 разблокируют C, D и E когда будут завершены. Когда все три завершены, F станет доступен. Какие квесты будут доступны после выполнения F (A3 или B3), зависит от того, какая цепочка (A или B) была выбрана.''
<pre>
<pre>
                 *questA1*          *questB1*
                 *questA1*          *questB1*

Текущая версия на 06:02, 3 июля 2019

Содержание

К описанию таблиц базы данных mangos.


Таблица `quest_template`

Содержит все основные определения доступных заданий.


Структура

Field Type Attributes Null Key Default Comments
entry mediumint(8) unsigned NO PRI 0
Method tinyint(3) unsigned NO 2
ZoneOrSort smallint(6) NO 0
MinLevel tinyint(3) unsigned NO 0
QuestLevel smallint(6) NO 0
Type smallint(5) unsigned NO 0
RequiredClasses smallint(5) unsigned NO 0
RequiredRaces smallint(5) unsigned NO 0
RequiredSkill smallint(5) unsigned NO 0
RequiredSkillValue smallint(5) unsigned NO 0
RequiredCondition int(11) unsigned NO 0
RepObjectiveFaction smallint(5) unsigned NO 0
RepObjectiveValue mediumint(9) NO 0
RequiredMinRepFaction smallint(5) unsigned NO 0
RequiredMinRepValue mediumint(9) NO 0
RequiredMaxRepFaction smallint(5) unsigned NO 0
RequiredMaxRepValue mediumint(9) NO 0
SuggestedPlayers tinyint(3) unsigned NO 0
LimitTime int(10) NO 0
QuestFlags mediumint(8) unsigned NO 0
SpecialFlags tinyint(3) unsigned NO 0
CharTitleId tinyint(3) unsigned NO 0
PlayersSlain tinyint(3) unsigned NO 0
BonusTalents tinyint(3) unsigned NO 0
PrevQuestId mediumint(9) NO 0
NextQuestId mediumint(9) NO 0
ExclusiveGroup mediumint(9) NO 0
NextQuestInChain mediumint(8) unsigned NO 0
RewXPId tinyint(3) unsigned NO 0
SrcItemId mediumint(8) unsigned NO 0
SrcItemCount tinyint(3) unsigned NO 0
SrcSpell mediumint(8) unsigned NO 0
Title text
Details text
Objectives text
OfferRewardText text
RequestItemsText text
EndText text
CompletedText text
ObjectiveText1 text
ObjectiveText2 text
ObjectiveText3 text
ObjectiveText4 text
ReqItemId1 mediumint(8) unsigned NO 0
ReqItemId2 mediumint(8) unsigned NO 0
ReqItemId3 mediumint(8) unsigned NO 0
ReqItemId4 mediumint(8) unsigned NO 0
ReqItemId5 mediumint(8) unsigned NO 0
ReqItemId6 mediumint(8) unsigned NO 0
ReqItemCount1 smallint(5) unsigned NO 0
ReqItemCount2 smallint(5) unsigned NO 0
ReqItemCount3 smallint(5) unsigned NO 0
ReqItemCount4 smallint(5) unsigned NO 0
ReqItemCount5 smallint(5) unsigned NO 0
ReqItemCount6 smallint(5) unsigned NO 0
ReqSourceId1 mediumint(8) unsigned NO 0
ReqSourceId2 mediumint(8) unsigned NO 0
ReqSourceId3 mediumint(8) unsigned NO 0
ReqSourceId4 mediumint(8) unsigned NO 0
ReqSourceCount1 smallint(5) unsigned NO 0
ReqSourceCount2 smallint(5) unsigned NO 0
ReqSourceCount3 smallint(5) unsigned NO 0
ReqSourceCount4 smallint(5) unsigned NO 0
ReqCreatureOrGOId1 mediumint(9) NO 0
ReqCreatureOrGOId2 mediumint(9) NO 0
ReqCreatureOrGOId3 mediumint(9) NO 0
ReqCreatureOrGOId4 mediumint(9) NO 0
ReqCreatureOrGOCount1 int(10) unsigned NO 0
ReqCreatureOrGOCount2 smallint(5) unsigned NO 0
ReqCreatureOrGOCount3 smallint(5) unsigned NO 0
ReqCreatureOrGOCount4 smallint(5) unsigned NO 0
ReqSpellCast1 mediumint(8) unsigned NO 0
ReqSpellCast2 mediumint(8) unsigned NO 0
ReqSpellCast3 mediumint(8) unsigned NO 0
ReqSpellCast4 mediumint(8) unsigned NO 0
RewChoiceItemId1 mediumint(8) unsigned NO 0
RewChoiceItemId2 mediumint(8) unsigned NO 0
RewChoiceItemId3 mediumint(8) unsigned NO 0
RewChoiceItemId4 mediumint(8) unsigned NO 0
RewChoiceItemId5 mediumint(8) unsigned NO 0
RewChoiceItemId6 mediumint(8) unsigned NO 0
RewChoiceItemCount1 smallint(5) unsigned NO 0
RewChoiceItemCount2 smallint(5) unsigned NO 0
RewChoiceItemCount3 smallint(5) unsigned NO 0
RewChoiceItemCount4 smallint(5) unsigned NO 0
RewChoiceItemCount5 smallint(5) unsigned NO 0
RewChoiceItemCount6 smallint(5) unsigned NO 0
RewItemId1 mediumint(8) unsigned NO 0
RewItemId2 mediumint(8) unsigned NO 0
RewItemId3 mediumint(8) unsigned NO 0
RewItemId4 mediumint(8) unsigned NO 0
RewItemCount1 smallint(5) unsigned NO 0
RewItemCount2 smallint(5) unsigned NO 0
RewItemCount3 smallint(5) unsigned NO 0
RewItemCount4 smallint(5) unsigned NO 0
RewRepFaction1 smallint(5) unsigned NO 0 faction id from Faction.dbc in this case
RewRepFaction2 smallint(5) unsigned NO 0 faction id from Faction.dbc in this case
RewRepFaction3 smallint(5) unsigned NO 0 faction id from Faction.dbc in this case
RewRepFaction4 smallint(5) unsigned NO 0 faction id from Faction.dbc in this case
RewRepFaction5 smallint(5) unsigned NO 0 faction id from Faction.dbc in this case
RewRepValueId1 tinyint(3) NO 0
RewRepValueId2 tinyint(3) NO 0
RewRepValueId3 tinyint(3) NO 0
RewRepValueId4 tinyint(3) NO 0
RewRepValueId5 tinyint(3) NO 0
RewRepValue1 mediumint(9) NO 0
RewRepValue2 mediumint(9) NO 0
RewRepValue3 mediumint(9) NO 0
RewRepValue4 mediumint(9) NO 0
RewRepValue5 mediumint(9) NO 0
RewMaxRepValue1 mediumint(8) NO 42999
RewMaxRepValue2 mediumint(8) NO 42999
RewMaxRepValue3 mediumint(8) NO 42999
RewMaxRepValue4 mediumint(8) NO 42999
RewMaxRepValue5 mediumint(8) NO 42999
RewHonorAddition int unsigned NO 0
RewHonorMultiplier float NO 0
RewOrReqMoney int(11) NO 0
RewMoneyMaxLevel int(10) unsigned NO 0
RewSpell mediumint(8) unsigned NO 0
RewSpellCast mediumint(8) unsigned NO 0
RewMailTemplateId mediumint(8) unsigned NO 0
RewMailDelaySecs int(11) unsigned NO 0
PointMapId smallint(5) unsigned NO 0
PointX float NO 0
PointY float NO 0
PointOpt mediumint(8) unsigned NO
DetailsEmote1 smallint(5) unsigned NO 0
DetailsEmote2 smallint(5) unsigned NO 0
DetailsEmote3 smallint(5) unsigned NO 0
DetailsEmote4 smallint(5) unsigned NO 0
DetailsEmoteDelay1 int(11) unsigned NO 0
DetailsEmoteDelay2 int(11) unsigned NO 0
DetailsEmoteDelay3 int(11) unsigned NO 0
DetailsEmoteDelay4 int(11) unsigned NO 0
IncompleteEmote smallint(5) unsigned NO 0
IncompleteEmoteDelay int(11) unsigned NO 0
CompleteEmote smallint(5) unsigned NO 0
CompleteEmoteDelay int(11) unsigned NO 0
OfferRewardEmote1 smallint(5) unsigned NO 0
OfferRewardEmote2 smallint(5) unsigned NO 0
OfferRewardEmote3 smallint(5) unsigned NO 0
OfferRewardEmote4 smallint(5) unsigned NO 0
OfferRewardEmoteDelay1 int(11) unsigned NO 0
OfferRewardEmoteDelay2 int(11) unsigned NO 0
OfferRewardEmoteDelay3 int(11) unsigned NO 0
OfferRewardEmoteDelay4 int(11) unsigned NO 0
StartScript mediumint(8) unsigned NO 0
CompleteScript mediumint(8) unsigned NO 0

Описание полей

entry

Номер(id) квеста. Номер квеста должен быть уникальным.

Method

Доступные значения: 0, 1 или 2. Если значение = 0 то при получении квест уже будет завершен (если убраны условия для завершения квеста).

ZoneOrSort

Это поле определяет, под какой категорией задания заносятся в журнал (список) заданий.

Если значение > 0, то значение представляет номер зоны и берется из AreaTable.dbc.

Если значение < 0 (отрицательное) то учитывается как номер вида задания (задание для определенной професии или класса. Смотри также RequiredSkillValue). Значение берется из QuestSort.dbc.

MinLevel

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

QuestLevel

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

Type

Значение берется из QuestInfo.dbc

ValueType
1Группа
21Жизнь
41PvP
62Рейд
81Подземелье
82Игровое событие
83Легенда
84Сопровождение
85Героическое
88Рейд (10)
89Рейд (25)

RequiredClasses

Классы, которым доступен квест. Если 0 - квест доступен для всех классов. Значение вычисляется по формуле: 2^(ID-1),ID берется из ChrClasses.dbc

ЗначениеНазвание
1Воин
2Паладин
4Охотник
8Разбойник
16Жрец
32Рыцарь смерти Файл:Icon-wotlk.gif
64Шаман
128Маг
256Чернокнижник
1024Друид
Группы
1535 Все классы

Сумма значений для всех классов - 1535

RequiredRaces

Расы, которым доступен квест. Если 0 - квест доступен для всех рас. Значение вычисляется по формуле: 2^(ID-1),ID берется из ChrRaces.dbc

ЗначениеНазвание
1Человек
2Орк
4Дворф
8Ночной эльф
16Нежить
32Таурен
64Гном
128Тролль
256Гоблин Файл:Icon-cata.gif
512Кровавый эльф Файл:Icon-bc.gif
1024Дреней Файл:Icon-bc.gif
2097152Ворген Файл:Icon-cata.gif
Группы
0, 1791 (2099199 Файл:Icon-cata.gif) Все расы
690 (946 Файл:Icon-cata.gif) Только орда
1101 (2098253 Файл:Icon-cata.gif) Только альянс

RequiredSkill

Это поле определяет навык или требования класса для задания, что бы оно было доступено только относительно этих требований, учитывается как номер навыка из SkillLine.dbc.

RequiredSkillValue

Требуемое значение навыка игрока если в SkillOrClass значение > 0 и имеет номер какого либо навыка.

RequiredCondition

Идентификатор условия conditions.condition_entry.

RepObjectiveFaction

Идентификатор фракции для задания достигнуть определенного значения репутации. Берется из Faction.dbc

RepObjectiveValue

Значение репутации, которого игрок должен достигнуть с фракцией в RepObjectiveFaction, как часть задания.

RequiredMinRepFaction

Идентификатор фракции, минимальное значение репутации которой требуется для получения задания. Берется из Faction.dbc

RequiredMinRepValue

Игрок должен иметь данное значение репутации или выше с фракцией в RequiredMinRepFaction для того что бы получить задание.

Нейтральное Neutral 1
Дружественное Friendly 3000
Уважение Honored 9000
Почтение Revered 21000
Превознесение Exalted 42000

RequiredMaxRepFaction

Идентификатор фракции, превышение максимального значения репутации которой не позволит игроку получить задание. Берется из Faction.dbc

RequiredMaxRepValue

Максимальное значение репутации с фракцией в RequiredMaxRepFaction получив которое игрок не сможет взять задание. Если у игрока будет боьше репутации чем значение в этом поле, то он потеряет возможность взять задание.

Нейтральное Neutral 1
Дружественное Friendly 3000
Уважение Honored 9000
Почтение Revered 21000
Превознесение Exalted 42000

SuggestedPlayers

Информация о том, сколько игроков должно объединиться, для выполнения задания.

LimitTime

Время в секундах, в течении которого игрок должен завершить задание.

QuestFlags

Это поле позволяет дополнительно разделить задания по типам. Помимо флагов ежедневный и передача другим, это поле используется для группировки заданий и не является требованием для выполнения задания. Требования задания формируются не нулевыми значениями в других полях таблицы. Кроме того, в то время как действие одних флагов известно, действие других не известно, и комментарии ниже являются всего лишь догадками.

В данный момент (rev 6055), ядро не обрабатывает эти флаги (за исключением флагов ежедневный и передача другим).

Bit Наименование Коментарий
0 QUEST_FLAGS_NONE Нет флага, задание не входит ни в одну из групп.
1 QUEST_FLAGS_STAY_ALIVE Если игрок умрет, задание будет провалено. (?)
2 QUEST_FLAGS_EVENT Задания эскорта или любые задания основанные на событиях. Если игрок в группе, все игроки группы которые могут взять задание, увидят окно подтверждения получения задания.
4 QUEST_FLAGS_EXPLORATION Требует активацию areatrigger.
8 QUEST_FLAGS_SHARABLE Позволяет делиться заданием с другими игроками.
16 QUEST_FLAGS_NONE2 Неизвестно и не используется в данный момент.
32 QUEST_FLAGS_EPIC Эпические классовые задания (охотник) (??)
64 QUEST_FLAGS_RAID Рейд или несколько групп необходимы для выполнения задания.
128 QUEST_FLAGS_TBC Добавлено с или после выхода TBC.
256 QUEST_FLAGS_UNK2 Задание требует дропа вещей которые не требуются для завершения задания (возможно для поля ReqSourceID) (?)
512 QUEST_FLAGS_HIDDEN_REWARDS Награда в виде вещей и денег скрыта в описании задания при его взятии и списке заданий, но получается при выполнении задания.
1024 QUEST_FLAGS_AUTO_REWARDED Эти задания автоматически вознаграждаются при выполнении и не отображается в списке заданий.
2048 QUEST_FLAGS_TBC_RACES Задания стартовой зоны Blood elf/draenei.
4096 QUEST_FLAGS_DAILY Ежедневные повторяемые задания (only flag that the core applies specific behavior for)
8192 QUEST_FLAGS_FLAGS_PVP Ежедневные PvP задания в зоне Седые Холмы (может быть все таки Озеро Ледяных Оков?)? Задание можно взять только если у игрока включен режим PvP.
16384 QUEST_FLAGS_UNK4  ? Membership Card Renewal.
32768 QUEST_FLAGS_WEEKLY Weekly quest. Can be done once a week. Quests reset at regular intervals for all players.
65536 QUEST_FLAGS_AUTOCOMPLETE Auto complete.
131072 QUEST_FLAGS_UNK5 Has something to do with ReqItemId and SrcItemId.
262144 QUEST_FLAGS_UNK6 Use Objective text as Complete text.
524288 QUEST_FLAGS_AUTO_ACCEPT Quests in starting areas.

Как и другие флаги, QuestFlags позволяет добавлять несколько типов для задания.

SpecialFlags

Это поле - битовая маска, управляет двумя дополнительными параметрами и может принимать 4 возможных значения.

  • 0: Нет дополнительных параметров
  • 1: Делает задание повторяемым.
  • 2: Делает возможным выполнение задания только при некотором событии (активация areatrigger_involvedrelation, эффект спелла выполнения задания или активация скриптами dbscripts_on_* с командой 7 как пример)
  • 4: Делает квест ежемесячным.

CharTitleId

Идентификатор титула персонажа, который он получает после выполнения задания. Берется из CharTitles.dbc

PlayersSlain

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

BonusTalents

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

PrevQuestId

Если значение > 0: Содержит идентификатор предыдущего задания, которое должно быть выполнено для того что бы взять это задание.

Если значение < 0: Содержит идентификатор родительского задания, которое должно быть активно для того что бы взять это задание.

Смотрите раздел примеров для примера.

NextQuestId

Если значение > 0: Содержит идентификатор следующего задания, если поля PrevQuestId этого задания недостаточно.

Если значение < 0: Содержит идентификатор суб задания, если поля PrevQuestId этого задания недостаточно.

Если задание имеет много альтернативных следующих заданий (специфичные классовые задания идущие после одного общего задания) то должно использоваться поле PrevQuestId этих заданий.

Смотри раздел примеров для примера.

ExclusiveGroup

если ExclusiveGroup > 0

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

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

если ExclusiveGroup < 0

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

Например, если задание 1000 является продолжением одного из заданий 1200, 1201 и 1202 и все эти задания имеют одинаковое отрицательное значение ExclusiveGroup, все эти задания должны быть завершены для того что бы взять задание 1000.

Смотрите раздел примеров для примера.

NextQuestInChain

Идентификатор следующего задания если принимает это и выдает следующее одно и то же существо или gameobject. Результат, если вы заканчиваете задание, новое задание отобразится автоматически.

Смотрите раздел примеров для пояснения.

RewXPId

Ссылка на поле в QuestExp.dbc. Указывается номер поля (Field1-10). Номер указывается как номер поля -1, т.е. если нам нужно поле Field6, указываем 5 (6-1). Номер поля id в QuestExp.dbc соответствует уровню квеста (QuestLevel).

SrcItemId

Идентификатор вещи выдаваемой игроку при взятии задания. Вещь удаляется из инвентаря при отмене задания.

SrcItemCount

Количество выдаваемых вещей из SrcItemId.

SrcSpell

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

Title

Название задания.

Details

Текст задания. Вы можете использовать определенные метки которые будут преобразованы в игре: $B - конец строки, $N - имя, $R - раса, $C - класс, $Gмужской:женский; (мужской и женский могут быть заменены любыми синонимами какими Вы захотите, но смысл должен остаться тем же самым. То есть: мальчик:девочка / мужчина:женщина / сэр:мадам / dude:chick)

Objectives

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

OfferRewardText

Первый текст посылаемый игроку NPC'ом при завершении задания. (Текст под заголовком "Completion" в Wowhead.) Вы можете использовать определенные метки которые будут преобразованы в игре: $B - конец строки, $N - имя, $R - раса, $C - класс, $Gмужской:женский; (мужской и женский могут быть заменены любыми синонимами какими Вы захотите, но смысл должен остаться тем же самым. То есть: мальчик:девочка / мужчина:женщина / сэр:мадам / dude:chick)

RequestItemsText

Текст посылаемый игроку при разговоре с NPC, при условии активного но не выполненного задания. (Текст под заголовком "Progress" в Wowhead.) Вы можете использовать определенные метки которые будут преобразованы в игре: $B - конец строки, $N - имя, $R - раса, $C - класс, $Gмужской:женский; (мужской и женский могут быть заменены любыми синонимами какими Вы захотите, но смысл должен остаться тем же самым. То есть: мальчик:девочка / мужчина:женщина / сэр:мадам / dude:chick)

EndText

Used only when SpecialFlags 2 is active. This is the objective text sent to the player describing the external event that is required to complete the quest.

ObjectiveText

Используется для нестандартных текстов, которые отображаются в списке заданий. Пример, "Излечи павшего воина".

ReqItemId

Уникальный номер(ID) вещи из Item_template необходимой для выполнения задания.

ReqItemCount

Количество требуемых вещей.

ReqSourceID

Это идентификатор (ID) предмета из item_template, являющегося источником для создания ReqItemId или каста ReqSpellCast. Позволяет получать игрокам квестовый дроп который не является предметами, необходимыми для завершения задания (ReqItemId предназначен для этого), но необходимы игроку для создания предмета, доставки или каста ReqSpellCast. Только те предметы у которых есть шанс квестового дропа ChanceOrQuestChance < 0 в Item_loot_template должны использоваться здесь как источники.

Пример: Для задания требуется предмет Х, но единственный способ его получить это использование предмета Y. Поэтому предмет Y тоже требуется для задания и его идентификатор (ID) указывается в этом поле. Это требование не указывается в тексте задания, и требуется ядру для того что бы знать, дроп какого предмета не указанного в ReqItemId необходим для выполнения задания.

ReqSourceCount

Максимальное количество копий предмета из ReqSourceID которое игрок сможет собрать (and dropped by the core). Если ReqSourceID !=0 и ReqSourceCount = 0, то лимит на количество предметов отсутствует.

ReqCreatureOrGOId

Значение > 0: Идентификатор (ID) мобов из creature_template которых игрок должен убить/кастануть для выполнения задания.

Значение < 0: Идентификатор (ID) объектов из gameobject_template которые игрок должен активировать для выполнения задания.

Если ReqSpellCast != 0, то на цель необходимо скастовать спелл, иначе убить.

На заметку: если ReqSpellCast != 0 и спелл имеет эффект "начало эвента" или "выполнение задания", это поле можно оставить пустым.

ReqCreatureOrGOCount

Количество убитых мобов или активированных объектов из поля ReqCreatureOrGOId.

ReqSpellCast

Идентификатор (ID) спелла из Spell.dbc, который должен быть скастован для того что бы выполнить задание. Обычно спеллу нужна цель, которая указывается в ReqCreatureOrGOId

И для спеллов с "SpellEffect ImpliciteTargetA-B == 38" сверяться с таблицей Spell_script_target

На заметку: если спелл имеет эффекты "начало эвента" или "выполнение задания", то можно не указывать его цель ReqCreatureOrGOId и количество ReqCreatureOrGOCount.

RewChoiceItemId, RewChoiceItemCount

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

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

RewItemId, RewItemCount

Идентификатор (ID) предмета из item_template доступного в качестве награды (не на выбор).

Количество предметов.

RewRepFaction, RewRepValue, RewRepValueId

Идентификатор (Id) фракции (из Faction.dbc) к которой добавятся очки репутации при сдаче задания.

Число на которое увеличится/уменьшится количество репутации с фракцией из RewRepFaction при сдаче задания. Это дополнительная награда репутацией. Если поле RewRepValue пустое, то репутация рассчитывается исходя из указателя(поле RewRepValueId) на значение из QuestFactionReward.dbc, а если поле RewRepValue непустое, то к репутации добавляется(отнимается) его значение. Обычно награда за задание репутацией с фракцией моба вычисляется и добавляется автоматически.

RewHonorAddition

Число почетных убийств награждаемых очками чести по завершению задания.

Пример: Возьмем значение 15 для задания 8388: На 70 уровне за почетное убийство начисляется 20.9 очков чести. Умножьте это на 15 и получите 313.5, после умножения, значение округляется в большую сторону. Таким образом на 70 уровне награда за это задание составит 314 очков чести.

RewHonorMultiplier

RewOrReqMoney

Значение > 0: Деньги получаемые при сдаче задания.

Значение < 0: Деньги требуемые для сдачи задания.

RewMoneyMaxLevel

Деньги получаемые персонажем на 80 уровне при сдаче задания. Это поле так же контролирует получаемый опыт. Если задание повторяемое, опыт дается за него один раз. Количество опыта, получаемого персонажем, зависит от разницы между уровнем персонажа и уровнем задания.

RewSpell

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

Важно: Это поле заполняется из WDB и не должно изменяться.

RewSpellCast

Заклинание будет произнесено на игрока, когда задание будет завершено. В данном поле так же можно указать обучающее заклинание или баф (пример). Если это поле не равно нулю, то будет кастоваться именно это заклинание, а заклинание из поля RewSpell не будет.

Примечание: значения для данного поля берутся из WDB и не должны изменяться.

RewMailTemplateId

If the quest gives as a reward an item from a possible list of items, the ID here corresponds to the proper loot template in mail_loot_template. According to the rules in that loot template, items "looted" will be sent by mail at the completion of the quest.

RewMailDelaySecs

How many seconds to wait until the mail is sent to the character that turned in a quest rewarding items from a loot template defined in RewMailTemplateId

PointMapId

MapId of a quest point of interest (POI - Point Of Interest). POI will be shown on the map when quest is active.

PointX

X coordinate of quest POI.

PointY

Y coordinate of quest POI.

PointOpt

DetailsEmote

CompleteEmote

Emote played by the related NPC at the time all quest objects are completed.

OfferRewardEmote

Emote played by the NPC at the time the character is rewarded for the quest.

StartScript

Идентификатор скрипта, срабатывающего при взятии задания. См. dbscripts_on_quest_start.id

CompleteScript

Идентификатор скрипта, срабатывающего при сдаче задания. См. dbscripts_on_quest_end.id

Examples

The "rules of engagement" dealing with quests

1. Всегда сначала укажите PrevQuestId перед тем как указывать NextQuestId. NextQuestId является не обязательным параметром и будет использоваться только тогда, когда PrevQuestId недостаточно

Основной принцип

Одиночное заданиеА, без каких либо условий

    *questA*
PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = 0        entry = questA

Для взятия заданияА необходимо выполнить предыдущее заданиеХ

    *questA*
PrevQuestId = questX   NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = 0        entry = questA

Цепочка квестов

Персонаж должен выполнить цепочку квестов в строго определенном порядке

    *questA*
        |
    *questB*
        |
    *questC*
        |
    *questD*
PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = questB    entry = questA
PrevQuestId = questA   NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = questC    entry = questB
PrevQuestId = questB   NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = questD    entry = questC
PrevQuestId = questC   NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = 0         entry = questD

Цепочка квестов с несколькими квестами в качестве первого в цепочке.

Игроку достаточно завершить хотя бы один из трёх возможных квестов

    *questA*     *questB*    *questC*
        \           |           /
          ------ *questD* -----
                    |
                 *questE*
PrevQuestId = 0        NextQuestId = questD   ExclusiveGroup = questA   NextQuestInChain = questD    entry = questA
PrevQuestId = 0        NextQuestId = questD   ExclusiveGroup = questA   NextQuestInChain = questD    entry = questB
PrevQuestId = 0        NextQuestId = questD   ExclusiveGroup = questA   NextQuestInChain = questD    entry = questC
PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = questE    entry = questD
PrevQuestId = questD   NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = 0         entry = questE


Цепочка квестов с несколькими квестами в качестве первого в цепочке.

Игрок должен выполнить все три квеста, прежде чем задание D станет доступным

    *questA*    *questB*    *questC*
        \          |          /
         ------ *questD* -----
                   |
                *questE*
PrevQuestId = 0        NextQuestId = questD   ExclusiveGroup = -questA    NextQuestInChain = questD    entry = questA
PrevQuestId = 0        NextQuestId = questD   ExclusiveGroup = -questA    NextQuestInChain = questD    entry = questB
PrevQuestId = 0        NextQuestId = questD   ExclusiveGroup = -questA    NextQuestInChain = questD    entry = questC
PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0          NextQuestInChain = questE    entry = questD
PrevQuestId = questD   NextQuestId = 0        ExclusiveGroup = 0          NextQuestInChain = 0         entry = questE


Квесты с разветвлениями и побочным квестом

Выполнение A разблокирует B и C которые могут выполняться одновременно. Оба должны быть завершены, чтобы квест D стал доступен. Квест X необходим, чтобы получить предмет для квеста C и этот квест должен быть доступен только если квест C находится в процессе выполнения

                *questA*
                /        \
           *questB     *questC* - *questX*
                \        /
                *questD*
PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0         NextQuestInChain = 0        entry = questA
PrevQuestId = questA   NextQuestId = questD   ExclusiveGroup = -questB   NextQuestInChain = 0        entry = questB
PrevQuestId = questA   NextQuestId = questD   ExclusiveGroup = -questB   NextQuestInChain = 0        entry = questC
PrevQuestId = -questC  NextQuestId = 0        ExclusiveGroup = 0         NextQuestInChain = 0        entry = questX
PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0         NextQuestInChain = 0        entry = questD


Несколько цепочек, оканчивающиеся одним финальным квестом

Игрок может выполнить квест X (не обязательно), но должен завершить все три цепочки квестов прежде чем финальный квест станет доступным

                *questX*
                   |
    *questA*    *questC*    *questE*
       |           |            |
    *questB*    *questD*    *questF*
       \           |           /
         ------ *questG* -----
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questC    entry = questX

PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questB    entry = questA
PrevQuestId = questA   NextQuestId = questG    ExclusiveGroup = -questB    NextQuestInChain = 0         entry = questB
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questD    entry = questC
PrevQuestId = questC   NextQuestId = questG    ExclusiveGroup = -questB    NextQuestInChain = 0         entry = questD
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questF    entry = questE
PrevQuestId = questE   NextQuestId = questG    ExclusiveGroup = -questB    NextQuestInChain = 0         entry = questF

PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questG


Сложные цепочки

Игрок должен выполнить A, чтобы разблокировать B, который разблокирует цепочку квестов от C до E. Другие три квеста также будут разблокированы после выполнения B, они могу выполняться в тоже время, что и цепочка C-E. Три сгруппированнных квеста (F, G, H) должны быть выполнены, чтобы стал доступен I. Выполнение квестов E и I необходимо для того, чтобы финальный квест стал доступен.

                *questA*
                   |
                *questB*
              /          \
          *questC*     *questF*
             |         *questG*
          *questD*     *questH*
             |            |
          *questE*     *questI*
             \           /
                *questJ*
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questB    entry = questA
PrevQuestId = questA   NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questB

PrevQuestId = questB   NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questD    entry = questC
PrevQuestId = questC   NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questE    entry = questD
PrevQuestId = questD   NextQuestId = questJ    ExclusiveGroup = -questE    NextQuestInChain = 0         entry = questE

PrevQuestId = questB   NextQuestId = questI    ExclusiveGroup = -questF    NextQuestInChain = 0         entry = questF
PrevQuestId = questB   NextQuestId = questI    ExclusiveGroup = -questF    NextQuestInChain = 0         entry = questG
PrevQuestId = questB   NextQuestId = questI    ExclusiveGroup = -questF    NextQuestInChain = 0         entry = questH

PrevQuestId = 0        NextQuestId = questJ    ExclusiveGroup = -questE    NextQuestInChain = 0         entry = questI

PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questJ


Невероятное - многие квесты могут разблокировать многие квесты =)

Игрок может выбрать между двумя альтернативными цепочками (Цепочка A или B, но не обе). A2 или B2 разблокируют C, D и E когда будут завершены. Когда все три завершены, F станет доступен. Какие квесты будут доступны после выполнения F (A3 или B3), зависит от того, какая цепочка (A или B) была выбрана.

                *questA1*           *questB1*
                    |                   |
                *questA2*           *questB2*
                    \                  /
                     ---- *questC* ----
                          *questD*
                          *questE*
                             |
                          *questF*
                         /        \
                    *questA3*   *questB3*
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questA2   entry = questA1
PrevQuestId = questA1  NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questA2

PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questB2   entry = questB1
PrevQuestId = questB1  NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questB2

PrevQuestId = 0        NextQuestId = questF    ExclusiveGroup = -questC    NextQuestInChain = 0         entry = questC
PrevQuestId = 0        NextQuestId = questF    ExclusiveGroup = -questC    NextQuestInChain = 0         entry = questD
PrevQuestId = 0        NextQuestId = questF    ExclusiveGroup = -questC    NextQuestInChain = 0         entry = questE

PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questF

PrevQuestId = questF   NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questA3
PrevQuestId = questF   NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questB3

Note: if player can choose between chain A or B may be determined by faction status (aldor or scryer), using ReqMinRepFaction = 1. Player should not be able to be neutral+1 with both at the same time. This may be the common threshold to obtain aldor or scryer quests (this is unsure). If that is the case, only the unlock of C, D and E after complete A2 _or_ B2 is the impossible part.

Личные инструменты