Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- From 10847757a882a7659e0324518f2c1ed6c333bfed Mon Sep 17 00:00:00 2001
- From: Vlad-00003 <Vlad-00003@mail.ru>
- Date: Thu, 11 Aug 2022 15:09:58 +0300
- Subject: [PATCH] DiscordRoles: Fix for unliking OnDiscordPlayerUnlinked hook.
- At this point discord link already was removed and calling GetDiscordUserId
- would always result in null.
- ---
- .../ASKED/DiscordRoles/DiscordRoles.cs | 28 +++++++++++++------
- 1 file changed, 20 insertions(+), 8 deletions(-)
- diff --git a/DiscordRoles/DiscordRoles.cs b/DiscordRoles/DiscordRoles.cs
- index 26c6ba0..312fd30 100644
- --- a/DiscordRoles/DiscordRoles.cs
- +++ b/DiscordRoles/DiscordRoles.cs
- @@ -311,7 +311,7 @@ namespace Oxide.Plugins
- }
- Debug(DebugEnum.Info, $"{nameof(OnUserConnected)} Added {player.Name}({player.Id}) to be processed");
- - ProcessChange(player.Id, false, SyncEvent.PlayerConnected);
- + ProcessChange(player.Id, SyncEvent.PlayerConnected);
- }
- private void OnUserGroupAdded(string id, string groupName)
- @@ -323,7 +323,7 @@ namespace Oxide.Plugins
- }
- Debug(DebugEnum.Info, $"{nameof(OnUserGroupAdded)} Added ({id}) to be processed because added to group {groupName}");
- - ProcessChange(id, false, SyncEvent.ServerGroupChanged);
- + ProcessChange(id, SyncEvent.ServerGroupChanged);
- }
- private void OnUserGroupRemoved(string id, string groupName)
- @@ -335,7 +335,7 @@ namespace Oxide.Plugins
- }
- Debug(DebugEnum.Info, $"{nameof(OnUserGroupRemoved)} Added ({id}) to be processed because removed from group {groupName}");
- - ProcessChange(id, false, SyncEvent.ServerGroupChanged);
- + ProcessChange(id, SyncEvent.ServerGroupChanged);
- }
- [HookMethod(DiscordExtHooks.OnDiscordPlayerLinked)]
- @@ -348,7 +348,7 @@ namespace Oxide.Plugins
- }
- Debug(DebugEnum.Info, $"{nameof(OnDiscordPlayerLinked)} Added Player {player.Name}({player.Id}) Discord: {user.Username}#{user.Discriminator}({user.Id}) to be processed");
- - ProcessChange(player.Id, false, SyncEvent.PlayerLinkedChanged);
- + ProcessChange(player.Id, SyncEvent.PlayerLinkedChanged);
- }
- [HookMethod(DiscordExtHooks.OnDiscordPlayerUnlinked)]
- @@ -361,7 +361,7 @@ namespace Oxide.Plugins
- }
- Debug(DebugEnum.Info, $"{nameof(OnDiscordPlayerUnlinked)} Added Player {player.Name}({player.Id}) Discord: {user.Username}#{user.Discriminator}({user.Id}) to be processed");
- - ProcessChange(player.Id, true, SyncEvent.PlayerLinkedChanged);
- + ProcessLeaving(player.Id, user.Id, SyncEvent.PlayerLinkedChanged);
- }
- [HookMethod(DiscordExtHooks.OnDiscordGuildMemberAdded)]
- @@ -512,10 +512,10 @@ namespace Oxide.Plugins
- StartChecker();
- }
- - private void ProcessChange(string playerId, bool isLeaving, SyncEvent syncEvent)
- + private void ProcessChange(string playerId, SyncEvent syncEvent)
- {
- _processIds.RemoveAll(p => p.Player.Id == playerId);
- -
- +
- IPlayer player = players.FindPlayerById(playerId);
- if (player == null)
- {
- @@ -527,8 +527,20 @@ namespace Oxide.Plugins
- {
- return;
- }
- + _processIds.Insert(0, new PlayerSync(player, discordId, false, syncEvent));
- - _processIds.Insert(0, new PlayerSync(player, discordId, isLeaving, syncEvent));
- + StartChecker();
- + }
- + private void ProcessLeaving(string playerId, Snowflake discordId, SyncEvent syncEvent)
- + {
- + _processIds.RemoveAll(p => p.Player.Id == playerId);
- +
- + IPlayer player = players.FindPlayerById(playerId);
- + if (player == null || !discordId.IsValid())
- + {
- + return;
- + }
- + _processIds.Insert(0, new PlayerSync(player, discordId, true, syncEvent));
- StartChecker();
- }
- --
- 2.33.0.windows.1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement