From 23ee5c5ded9c58da4159f32c3c195227f8e15447 Mon Sep 17 00:00:00 2001 From: INSANEMODE Date: Fri, 19 Aug 2022 00:58:16 -0500 Subject: [PATCH] -change !inviteguest to check the target's tag before changing it to Guest. -change disconnect event logic to target the correct target when removing Guest tag. --- Commands/InviteGuestCommand.cs | 6 ++++++ Plugin.cs | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Commands/InviteGuestCommand.cs b/Commands/InviteGuestCommand.cs index 74a83e4..46033a1 100644 --- a/Commands/InviteGuestCommand.cs +++ b/Commands/InviteGuestCommand.cs @@ -39,6 +39,12 @@ namespace ClanTagRankCommands.Commands public override async Task ExecuteAsync(GameEvent gameEvent) { + if(gameEvent.Target.Tag.Contains("Guest" ) || gameEvent.Target.Tag.Contains("Donator") || gameEvent.Target.Tag.Contains("VIP")) + { + gameEvent.Origin.Tell($"Can't set {gameEvent.Target.Tag} {gameEvent.Target.Name} to Guest, they already have a rank."); + return; + } + var token = gameEvent.Owner.Manager.CancellationToken; var availableTags = await _metaService.GetPersistentMetaValue>>(EFMeta.ClientTagNameV2, token); diff --git a/Plugin.cs b/Plugin.cs index 09571d6..7f9888a 100644 --- a/Plugin.cs +++ b/Plugin.cs @@ -53,10 +53,10 @@ namespace ClanTagRankCommands } public async Task OnEventAsync(GameEvent E, Server S)// => Task.CompletedTask; { - if(E.Type == GameEvent.EventType.Disconnect && E.Target.Tag == "Guest") + if(E.Type == GameEvent.EventType.Disconnect && E.Origin.Tag == "Guest") { - E.Target.Tag = null; - await _metaService.RemovePersistentMeta(EFMeta.ClientTagV2, E.Target.ClientId, + E.Origin.Tag = null; + await _metaService.RemovePersistentMeta(EFMeta.ClientTagV2, E.Origin.ClientId, E.Owner.Manager.CancellationToken); }