bool ChatHandler::HandleActiveQuestsCommand(const char* args) { Player* target = m_session->GetPlayer(); if( !target ) { PSendSysMessage(LANG_PLAYER_NOT_FOUND); return true; } if(!*args) return false; std::string namepart = args; WorldDatabase.escape_string(namepart); QueryResult *result=WorldDatabase.PQuery("SELECT `entry`,`Title` FROM `quest_template` ORDER BY `entry`"); if(!result) { SendSysMessage(LANG_COMMAND_NOQUESTFOUND); return true; } do { Field *fields = result->Fetch(); uint32 id = fields[0].GetUInt32(); std::string name = fields[1].GetCppString(); QuestStatus status = target->GetQuestStatus(id); char const* statusStr = ""; if(status == QUEST_STATUS_INCOMPLETE) statusStr = LANG_COMMAND_QUEST_ACTIVE; else return true; PSendSysMessage(LANG_QUEST_LIST "%s",id,id,name.c_str(),(status == QUEST_STATUS_COMPLETE ? LANG_COMPLETE : (status == QUEST_STATUS_INCOMPLETE ? LANG_ACTIVE : "") )); } while (result->NextRow()); delete result; return true; }