mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-16 05:11: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 (IsInAGuild()) {
|
||||||
if (firstlogon == 1) {
|
if (firstlogon == 1) {
|
||||||
guild_mgr.UpdateDbMemberOnline(CharacterID(), true);
|
guild_mgr.UpdateDbMemberOnline(CharacterID(), true);
|
||||||
guild_mgr.SendToWorldSendGuildMembersList(GuildID());
|
SendGuildMembersList();
|
||||||
}
|
}
|
||||||
|
|
||||||
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), zone->GetZoneID(), time(nullptr));
|
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), zone->GetZoneID(), time(nullptr));
|
||||||
|
|||||||
@ -179,7 +179,7 @@ bool Client::Process() {
|
|||||||
}
|
}
|
||||||
if (IsInAGuild()) {
|
if (IsInAGuild()) {
|
||||||
guild_mgr.UpdateDbMemberOnline(CharacterID(), false);
|
guild_mgr.UpdateDbMemberOnline(CharacterID(), false);
|
||||||
guild_mgr.SendToWorldSendGuildMembersList(GuildID());
|
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), 0, time(nullptr));
|
||||||
}
|
}
|
||||||
|
|
||||||
SetDynamicZoneMemberStatus(DynamicZoneMemberStatus::Offline);
|
SetDynamicZoneMemberStatus(DynamicZoneMemberStatus::Offline);
|
||||||
@ -202,7 +202,7 @@ bool Client::Process() {
|
|||||||
Save();
|
Save();
|
||||||
if (IsInAGuild()) {
|
if (IsInAGuild()) {
|
||||||
guild_mgr.UpdateDbMemberOnline(CharacterID(), false);
|
guild_mgr.UpdateDbMemberOnline(CharacterID(), false);
|
||||||
guild_mgr.SendToWorldSendGuildMembersList(GuildID());
|
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), 0, time(nullptr));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GetMerc())
|
if (GetMerc())
|
||||||
@ -578,7 +578,7 @@ bool Client::Process() {
|
|||||||
}
|
}
|
||||||
if (IsInAGuild()) {
|
if (IsInAGuild()) {
|
||||||
guild_mgr.UpdateDbMemberOnline(CharacterID(), false);
|
guild_mgr.UpdateDbMemberOnline(CharacterID(), false);
|
||||||
guild_mgr.SendToWorldSendGuildMembersList(GuildID());
|
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), 0, time(nullptr));
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user