Core/Player: Wait for correct transaction on character creation
This commit is contained in:
1 parent
df44e90fe6
commit
ec6d64b9c6
3 files changed
+14
-6
No files matched your search
@@ -19625,6 +19625,15 @@ bool Player::_LoadHomeBind(PreparedQueryResult result)
|
||||
/*********************************************************/
|
||||
|
||||
void Player::SaveToDB(bool create /*=false*/)
|
||||
{
|
||||
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
|
||||
SaveToDB(trans, create);
|
||||
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
}
|
||||
|
||||
void Player::SaveToDB(CharacterDatabaseTransaction trans, bool create /* = false */)
|
||||
{
|
||||
// delay auto save at any saves (manual, in code, or autosave)
|
||||
m_nextSave = sWorld->getIntConfig(CONFIG_INTERVAL_SAVE);
|
||||
@@ -19645,7 +19654,6 @@ void Player::SaveToDB(bool create /*=false*/)
|
||||
if (!create)
|
||||
sScriptMgr->OnPlayerSave(this);
|
||||
|
||||
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
CharacterDatabasePreparedStatement* stmt = nullptr;
|
||||
uint8 index = 0;
|
||||
|
||||
@@ -19972,8 +19980,6 @@ void Player::SaveToDB(bool create /*=false*/)
|
||||
if (m_session->isLogingOut() || !sWorld->getBoolConfig(CONFIG_STATS_SAVE_ONLY_ON_LOGOUT))
|
||||
_SaveStats(trans);
|
||||
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
|
||||
// save pet (hunter pet level and experience and all type pets health/mana).
|
||||
if (Pet* pet = GetPet())
|
||||
pet->SavePetToDB(PET_SAVE_CURRENT_STATE);
|
||||
|
||||
Reference in new issue
Block a user