PDA

Просмотр полной версии : Косогор Бездны (10162)


Борисыч
14.11.2009, 12:42
Квест у Орды "Косогор Бездны" quest=10162 имеет SpeсialFlag=2 / при этом значении флага - квест не комплититься. http://www.wowhead.com/?quest=10162

при удалении его - и нормальной работе (как у Альянса, у которого этого флага нету) получаем в логах вот таоке сообщение:
2009-11-14 04:29:17 ERROR:Spell (id: 33824) have SPELL_EFFECT_QUEST_COMPLETE for quest 10162 , but quest not have flag QUEST_MANGOS_FLAGS_EXPLORATION_OR_EVENT. Quest flags must be fixed, quest modified to enable objective.

Помогите разобраться - какое отношение имеет к данному квесту http://wowhead.com/?spell=33824 - Выстрел из разбойничьего гранатомета, кроме Эффект #3 Quest Complete (10162)??

Кто то должен выстрелить из Гранотомета по "нагретой цели" перед сдачей квеста?

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

YuruY
14.11.2009, 18:04
как у Альянса, у которого этого флага нету
Квесты реализованны по разному - вот у одного и прибита железная проверка флага от спелла, давно уже мучился с ним (комплитить скриптом надо).

Борисыч
14.11.2009, 18:32
Если честно то не нашел даже этого самого Гранатомета, которому этот спелл "приписан".. хм.. подлетает орк к квесттейкеру а тот в него (цель "горячая"- только из боя) из гранатомета - опа - и квест комплит))мдя..может Близы так пошутили типа?? проигнорить нельзя это?

YuruY
14.11.2009, 19:00
проигнорить нельзя это?
Что? Отсутствие скрипта? =)

PSZ
16.11.2009, 10:54
Писал когда-то патч.

diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index 6613128..f1e2f9d 100644
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -3293,12 +3293,7 @@ void ObjectMgr::LoadQuests()
if(found)
{
if(!qinfo->HasFlag(QUEST_MANGOS_FLAGS_EXPLORATION_OR_EVENT))
- {
- sLog.outErrorDb("Spell (id: %u) have SPELL_EFFECT_QUEST_COMPLETE or SPELL_EFFECT_SEND_EVENT for quest %u and ReqCreatureOrGOId%d = 0, but quest not have flag QUEST_MANGOS_FLAGS_EXPLORATION_OR_EVENT. Quest flags or ReqCreatureOrGOId%d must be fixed, quest modified to enable objective.",spellInfo->Id,qinfo->QuestId,j+1,j+1);
-
- // this will prevent quest completing without objective
- const_cast<Quest*>(qinfo)->SetFlag(QUEST_MANGOS_FLAGS_EXPLORATION_OR_EVENT);
- }
+ sLog.outErrorDb("Spell (id: %u) have SPELL_EFFECT_QUEST_COMPLETE or SPELL_EFFECT_SEND_EVENT for quest %u and ReqCreatureOrGOId%d = 0, but quest not have flag QUEST_MANGOS_FLAGS_EXPLORATION_OR_EVENT. Quest flags or ReqCreatureOrGOId%d must be fixed.",spellInfo->Id,qinfo->QuestId,j+1,j+1);
}
else
{
@@ -3544,12 +3539,7 @@ void ObjectMgr::LoadQuests()
continue;

if(!quest->HasFlag(QUEST_MANGOS_FLAGS_EXPLORATION_OR_EVENT))
- {
- sLog.outErrorDb("Spell (id: %u) have SPELL_EFFECT_QUEST_COMPLETE for quest %u , but quest not have flag QUEST_MANGOS_FLAGS_EXPLORATION_OR_EVENT. Quest flags must be fixed, quest modified to enable objective.",spellInfo->Id,quest_id);
-
- // this will prevent quest completing without objective
- const_cast<Quest*>(quest)->SetFlag(QUEST_MANGOS_FLAGS_EXPLORATION_OR_EVENT);
- }
+ sLog.outErrorDb("Spell (id: %u) have SPELL_EFFECT_QUEST_COMPLETE for quest %u , but quest not have flag QUEST_MANGOS_FLAGS_EXPLORATION_OR_EVENT.",spellInfo->Id,quest_id);
}
}

tempura
16.11.2009, 11:24
то есть тему в ядро переносить? :)

KiriX
27.12.2009, 16:27
Писал когда-то патч.
По сути патч позволяет игнорировать квест-флаг 2 и квесты обрабатываются как без него, так?

PSZ
17.01.2010, 16:44
По сути патч позволяет игнорировать квест-флаг 2 и квесты обрабатываются как без него, так?

Нет. Сейчас в ядре при загрузке quest_template проверяется, если в dbc существует спелл с эффектом SPELL_EFFECT_QUEST_COMPLETE or SPELL_EFFECT_SEND_EVENT, и если существует, а у квеста в таблице не стоит special_flags=2, квесту принудительно ставится special_flags=2. Патч убирает принудительную установку special_flags=2, делая возможным существование хаков.