Core/Player: Wait for correct transaction on character creation

This commit is contained in:
Shauren
2020-04-15 21:58:02 +02:00
committed by Ovahlord
parent df44e90fe6
commit ec6d64b9c6
3 changed files with 14 additions and 6 deletions

View File

@@ -618,8 +618,9 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
newChar->SetAtLoginFlag(AT_LOGIN_FIRST); // First login
// Player created, save it now
newChar->SaveToDB(true);
CharacterDatabaseTransaction characterTransaction = CharacterDatabase.BeginTransaction();
// Player created, save it now
newChar->SaveToDB(characterTransaction, true);
createInfo->CharCount += 1;
LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction();
@@ -637,7 +638,7 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
LoginDatabase.CommitTransaction(trans);
AddTransactionCallback(LoginDatabase.AsyncCommitTransaction(trans)).AfterComplete([this, newChar = std::move(newChar)](bool success)
AddTransactionCallback(CharacterDatabase.AsyncCommitTransaction(characterTransaction)).AfterComplete([this, newChar = std::move(newChar)](bool success)
{
if (success)
{