mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 17:51:28 +00:00
[Bug Fix] Fix for random disconnects when a large number of guild members zone or disconnect (#4402)
This commit is contained in:
parent
c7a88af11a
commit
1e41c5517e
@ -215,6 +215,7 @@ Client::Client(EQStreamInterface *ieqs) : Mob(
|
|||||||
guild_id = GUILD_NONE;
|
guild_id = GUILD_NONE;
|
||||||
guildrank = 0;
|
guildrank = 0;
|
||||||
guild_tribute_opt_in = 0;
|
guild_tribute_opt_in = 0;
|
||||||
|
SetGuildListDirty(false);
|
||||||
GuildBanker = false;
|
GuildBanker = false;
|
||||||
memset(lskey, 0, sizeof(lskey));
|
memset(lskey, 0, sizeof(lskey));
|
||||||
strcpy(account_name, "");
|
strcpy(account_name, "");
|
||||||
@ -410,8 +411,12 @@ Client::~Client() {
|
|||||||
zone->ClearEXPModifier(this);
|
zone->ClearEXPModifier(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(IsInAGuild())
|
if (!IsZoning()) {
|
||||||
|
if(IsInAGuild()) {
|
||||||
|
guild_mgr.UpdateDbMemberOnline(CharacterID(), false);
|
||||||
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), 0, time(nullptr));
|
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), 0, time(nullptr));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Mob* horse = entity_list.GetMob(CastToClient()->GetHorseId());
|
Mob* horse = entity_list.GetMob(CastToClient()->GetHorseId());
|
||||||
if (horse)
|
if (horse)
|
||||||
|
|||||||
@ -739,6 +739,7 @@ public:
|
|||||||
void GoToDeath();
|
void GoToDeath();
|
||||||
inline const int32 GetInstanceID() const { return zone->GetInstanceID(); }
|
inline const int32 GetInstanceID() const { return zone->GetInstanceID(); }
|
||||||
void SetZoning(bool in) { bZoning = in; }
|
void SetZoning(bool in) { bZoning = in; }
|
||||||
|
bool IsZoning() { return bZoning; }
|
||||||
|
|
||||||
void ShowSpells(Client* c, ShowSpellType show_spell_type);
|
void ShowSpells(Client* c, ShowSpellType show_spell_type);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user