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); }