From ad0fc8898f90ab9a383b12248f9ace2ed879dd28 Mon Sep 17 00:00:00 2001 From: furo Date: Mon, 16 Sep 2024 13:52:49 +0200 Subject: [PATCH] Fix crash while attached to dragger during `hot_reload` --- src/game/server/save.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/game/server/save.cpp b/src/game/server/save.cpp index a5ae20e27..b519335a7 100644 --- a/src/game/server/save.cpp +++ b/src/game/server/save.cpp @@ -529,12 +529,12 @@ ESaveResult CSaveTeam::Save(CGameContext *pGameServer, int Team, bool Dry, bool CCharacter *p = (CCharacter *)pGameServer->m_World.FindFirst(CGameWorld::ENTTYPE_CHARACTER); for(; p; p = (CCharacter *)p->TypeNext()) { - if(pTeams->m_Core.Team(p->GetPlayer()->GetCid()) != Team) + if(pTeams->m_Core.Team(p->GetPlayer()->GetCid()) != Team && !Force) continue; - if(m_MembersCount == j) + if(m_MembersCount == j && !Force) return ESaveResult::CHAR_NOT_FOUND; ESaveResult Result = pGameServer->m_World.BlocksSave(p->GetPlayer()->GetCid()); - if(Result != ESaveResult::SUCCESS) + if(Result != ESaveResult::SUCCESS && !Force) return Result; m_pSavedTees[j].Save(p); aPlayerCids[j] = p->GetPlayer()->GetCid();