mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 10:31:29 +00:00
[Fix] Guild Membership Update Fix (#4581)
When the guild membership was large (1k+) the client would studder for half a sec when a guild member would login or logout. This was reproduceable with a guild size of 2k members though floor would be client dependent most likely.
This commit is contained in:
parent
33db85f2ee
commit
c82dee575a
@ -860,7 +860,7 @@ void Client::CompleteConnect()
|
||||
if (IsInAGuild()) {
|
||||
if (firstlogon == 1) {
|
||||
guild_mgr.UpdateDbMemberOnline(CharacterID(), true);
|
||||
guild_mgr.SendToWorldSendGuildMembersList(GuildID());
|
||||
SendGuildMembersList();
|
||||
}
|
||||
|
||||
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), zone->GetZoneID(), time(nullptr));
|
||||
|
||||
@ -179,7 +179,7 @@ bool Client::Process() {
|
||||
}
|
||||
if (IsInAGuild()) {
|
||||
guild_mgr.UpdateDbMemberOnline(CharacterID(), false);
|
||||
guild_mgr.SendToWorldSendGuildMembersList(GuildID());
|
||||
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), 0, time(nullptr));
|
||||
}
|
||||
|
||||
SetDynamicZoneMemberStatus(DynamicZoneMemberStatus::Offline);
|
||||
@ -202,7 +202,7 @@ bool Client::Process() {
|
||||
Save();
|
||||
if (IsInAGuild()) {
|
||||
guild_mgr.UpdateDbMemberOnline(CharacterID(), false);
|
||||
guild_mgr.SendToWorldSendGuildMembersList(GuildID());
|
||||
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), 0, time(nullptr));
|
||||
}
|
||||
|
||||
if (GetMerc())
|
||||
@ -578,7 +578,7 @@ bool Client::Process() {
|
||||
}
|
||||
if (IsInAGuild()) {
|
||||
guild_mgr.UpdateDbMemberOnline(CharacterID(), false);
|
||||
guild_mgr.SendToWorldSendGuildMembersList(GuildID());
|
||||
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), 0, time(nullptr));
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user