PS: [SIZE=14px] GetAchivementName function has been tested, and works properly. 2. structure is : [/SIZE][SIZE=14px]varchar (INT), achievementid (ID)[/SIZE]
Thanks In Advance.
static bool HandleGuildAchievementListCommand(ChatHandler* handler, const char * args)
{
Player * player = handler->GetSession()->GetPlayer();
if(Player* target = player->GetSelectedPlayer())
if(Guild* targetguild = player->GetSelectedPlayer()->GetGuild())
{
QueryResult completed = WorldDatabase.PQuery("SELECT * FROM guildachievementcompleted");
handler->PSendSysMessage("The targeted players guild has completed:");
if (!completed)
{
handler->PSendSysMessage("Your guild has not completed any achievements yet!");
return false;
}
std::vector<int> achievements;
do
{
Field* completedfield = completed->Fetch();
uint32 guildid = completedfield[0].GetUInt32();
uint32 achievement = completedfield[1].GetUInt32();
if (guildid = targetguild->GetId())
achievements.push_back(achievement);
}
while (completed->NextRow());
for (int i = 0; i < achievements.size(); i++)
{
std::string msg = "";
msg += "[";
msg += targetguild->GetAchivementName(achievements[i]);
msg += "] - Completed";
handler->PSendSysMessage("%s",msg);
}
achievements.clear();
}
else
handler->PSendSysMessage("Your target is not in a guild.");
else
handler->PSendSysMessage("Please target a player!");
return true;
}