diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-10-03 14:41:02 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2024-10-03 14:41:02 +0200 |
| commit | 3acb25c50cddb6f2b00bf8d8a48b5d47b1e7b4f7 (patch) | |
| tree | 495324ef6cb943738b4783faf0d5a327d6e4e4ac /src/server/game/Handlers/CharacterHandler.cpp | |
| parent | 03333b1ec4248dd251c4014a8c7307da2b8157ed (diff) | |
Core/Players: Prevent creation of characters with duplicate names
Closes #30299
(cherry picked from commit 49ab2bbe3883749594fe92a752e1d618c625d1b6)
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 8d9ce0217ae..1b47558c802 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -595,12 +595,12 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData) stmt->setUInt32(2, realm.Id.Realm); trans->Append(stmt); - LoginDatabase.CommitTransaction(trans); - - AddTransactionCallback(CharacterDatabase.AsyncCommitTransaction(characterTransaction)).AfterComplete([this, newChar = std::move(newChar)](bool success) + AddTransactionCallback(CharacterDatabase.AsyncCommitTransaction(characterTransaction)).AfterComplete([this, newChar = std::move(newChar), trans](bool success) { if (success) { + LoginDatabase.CommitTransaction(trans); + TC_LOG_INFO("entities.player.character", "Account: {} (IP: {}) Create Character: {} {}", GetAccountId(), GetRemoteAddress(), newChar->GetName(), newChar->GetGUID().ToString()); sScriptMgr->OnPlayerCreate(newChar.get()); sCharacterCache->AddCharacterCacheEntry(newChar->GetGUID(), GetAccountId(), newChar->GetName(), newChar->GetNativeGender(), newChar->GetRace(), newChar->GetClass(), newChar->GetLevel()); |
