void Creature::_LoadQuests() { mQuestIds.clear(); mInvolvedQuestIds.clear(); std::stringstream query; query << "SELECT * FROM creaturequestrelation WHERE creatureId=" << GetUInt32Value(OBJECT_FIELD_ENTRY) << " ORDER BY questId"; QueryResult *result = sDatabase.Query( query.str().c_str() ); if(result) { do { Field *fields = result->Fetch(); addQuest(fields[1].GetUInt32()); } while( result->NextRow() ); delete result; } std::stringstream query1; query1 << "SELECT * FROM creatureinvolvedrelation WHERE creatureId=" << GetUInt32Value (OBJECT_FIELD_ENTRY) << " ORDER BY questId"; result = sDatabase.Query( query1.str().c_str() ); if(result) { do { Field *fields = result->Fetch(); uint32 inv = fields[1].GetUInt32(); Quest *pQuest = objmgr.GetQuest( inv ); if (!pQuest) continue; addInvolvedQuest(inv); } while( result->NextRow() ); delete result; } }
void GameObject::_LoadQuests() { mQuests.clear(); mInvolvedQuests.clear(); Field *fields; Quest *pQuest; QueryResult *result = sDatabase.PQuery("SELECT `quest` FROM `gameobject_questrelation` WHERE `id` = '%u'", GetEntry ()); if(result) { do { fields = result->Fetch(); pQuest = objmgr.QuestTemplates[ fields[0].GetUInt32() ]; if (!pQuest) continue; addQuest(pQuest->GetQuestId()); } while( result->NextRow() ); delete result; } QueryResult *result1 = sDatabase.PQuery("SELECT `quest` FROM `gameobject_involvedrelation` WHERE `id` = '%u'", GetEntry ()); if(!result1) return; do { fields = result1->Fetch(); pQuest = objmgr.QuestTemplates[ fields[0].GetUInt32() ]; if (!pQuest) continue; addInvolvedQuest(pQuest->GetQuestId()); } while( result1->NextRow() ); delete result1; }