Core/Guilds: Save guild achievements to database periodically and when a member logs out.

This commit is contained in:
Shauren
2012-08-25 15:36:45 +02:00
parent 26bc57733a
commit 07e645d024
7 changed files with 42 additions and 0 deletions

View File

@@ -1119,6 +1119,15 @@ void Guild::Disband()
sGuildMgr->RemoveGuild(m_id);
}
void Guild::SaveToDB()
{
SQLTransaction trans = CharacterDatabase.BeginTransaction();
m_achievementMgr.SaveToDB(trans);
CharacterDatabase.CommitTransaction(trans);
}
///////////////////////////////////////////////////////////////////////////////
// HANDLE CLIENT COMMANDS
void Guild::HandleRoster(WorldSession* session /*= NULL*/)
@@ -1833,6 +1842,8 @@ void Guild::HandleMemberLogout(WorldSession* session)
member->UpdateLogoutTime();
}
_BroadcastEvent(GE_SIGNED_OFF, player->GetGUID(), player->GetName());
SaveToDB();
}
void Guild::HandleDisband(WorldSession* session)