make sure target isn't null
This commit is contained in:
parent
8c29300c41
commit
c066adc020
@ -10,7 +10,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="RaidMax.IW4MAdmin.SharedLibraryCore" Version="2020.11.18.1" PrivateAssets="All" />
|
||||
<PackageReference Include="RaidMax.IW4MAdmin.SharedLibraryCore" Version="2021.2.6.1" PrivateAssets="All" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
|
@ -51,10 +51,16 @@ namespace ClanTagRankApi.Commands
|
||||
{
|
||||
//var S = E.Owner;
|
||||
rank_string = "none";
|
||||
await _metaService.AddPersistentMeta(rank, rank_string, E.Target);
|
||||
rank_string = E.Target.Level.ClanTag(Config);
|
||||
E.Origin.Tell(E.Target.Name + "'s rank has been reset to: " + rank_string);
|
||||
await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Target.ClientNumber + " " + rank_string);
|
||||
if(E.Target is object)
|
||||
{
|
||||
await _metaService.AddPersistentMeta(rank, rank_string, E.Target);
|
||||
rank_string = E.Target.Level.ClanTag(Config);
|
||||
E.Origin.Tell(E.Target.Name + "'s rank has been reset to: " + rank_string);
|
||||
if (E.Target.IsIngame && E.Target is object)
|
||||
await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Target.ClientNumber + " " + rank_string);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -55,41 +55,45 @@ namespace ClanTagRankApi.Commands
|
||||
rank_string = "none";
|
||||
if (E.Data != null)
|
||||
rank_string = E.Data;
|
||||
var rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
if (rank_player_var == null)
|
||||
if(E.Target is object)
|
||||
{
|
||||
await _metaService.AddPersistentMeta(rank, "none", E.Target);
|
||||
rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
}
|
||||
|
||||
if (rank_string.Length > 0 && rank_string.Length < 9)
|
||||
{
|
||||
|
||||
await _metaService.AddPersistentMeta(rank, rank_string, E.Target);
|
||||
rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
if(rank_player_var.Value == "none" || rank_player_var.Value == "None" || rank_player_var.Value == "NONE")
|
||||
var rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
if (rank_player_var == null)
|
||||
{
|
||||
|
||||
//E.Origin.Tell(E.Target.Name + "'s rank has been reset");
|
||||
rank_string = E.Target.Level.ClanTag(Config);
|
||||
E.Origin.Tell(E.Target.Name + "'s rank has been reset to: " + rank_string);
|
||||
|
||||
await _metaService.AddPersistentMeta(rank, "none", E.Target);
|
||||
rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
}
|
||||
|
||||
if (rank_string.Length > 0 && rank_string.Length < 9)
|
||||
{
|
||||
|
||||
await _metaService.AddPersistentMeta(rank, rank_string, E.Target);
|
||||
rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
if(rank_player_var.Value == "none" || rank_player_var.Value == "None" || rank_player_var.Value == "NONE")
|
||||
{
|
||||
|
||||
//E.Origin.Tell(E.Target.Name + "'s rank has been reset");
|
||||
rank_string = E.Target.Level.ClanTag(Config);
|
||||
E.Origin.Tell(E.Target.Name + "'s rank has been reset to: " + rank_string);
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
rank_string = rank_player_var.Value;
|
||||
E.Origin.Tell("New rank set: [" + rank_player_var.Value + "]" + E.Target.Name);
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
rank_string = rank_player_var.Value;
|
||||
E.Origin.Tell("New rank set: [" + rank_player_var.Value + "]" + E.Target.Name);
|
||||
|
||||
E.Origin.Tell($"invalid rank length (between 1-8 characters), set rank to none, or use !ResetRank to reset");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
E.Origin.Tell($"invalid rank length (between 1-8 characters), set rank to none, or use !ResetRank to reset");
|
||||
|
||||
if(E.Target.IsIngame && E.Target is object)
|
||||
await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Target.ClientNumber + " " + rank_string);
|
||||
}
|
||||
|
||||
|
||||
await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Target.ClientNumber + " " + rank_string);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ namespace ClanTagRankApi
|
||||
{
|
||||
//this.RestartTimerLength = Utilities.PromptInt("How long in seconds until a server is killed after it is empty?", (string)null, 60, 86400, new int?(43200));
|
||||
this.WARNING = "Do Not Exceed 8 characters, names will be truncated.";
|
||||
this.User = "User";
|
||||
this.User = "";
|
||||
this.Trusted = "Trusted";
|
||||
this.Moderator = "Mod";
|
||||
this.Admin = "Admin";
|
||||
|
97
Plugin.cs
97
Plugin.cs
@ -53,39 +53,16 @@ namespace ClanTagRankApi
|
||||
{
|
||||
if (E.Type == GameEvent.EventType.Join ||E.Type == GameEvent.EventType.ChangePermission)
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
var rank_player_var = await _metaService.GetPersistentMeta(rank, E.Origin);
|
||||
rankName = E.Origin.Level.ClanTag(Config);
|
||||
|
||||
rank_player_var = await _metaService.GetPersistentMeta("rank", E.Origin);
|
||||
if (rank_player_var == null)
|
||||
if(E.Origin.IsIngame && E.Origin is object)
|
||||
{
|
||||
await _metaService.AddPersistentMeta("rank", "none", E.Origin);
|
||||
var rank_player_var = await _metaService.GetPersistentMeta(rank, E.Origin);
|
||||
rankName = E.Origin.Level.ClanTag(Config);
|
||||
|
||||
rank_player_var = await _metaService.GetPersistentMeta("rank", E.Origin);
|
||||
}
|
||||
|
||||
if (!(rank_player_var.Value.Contains("none")) && !(rank_player_var.Value.Contains("None")) && !(rank_player_var.Value.Contains("NONE")))
|
||||
{
|
||||
rankName = rank_player_var.Value;
|
||||
|
||||
}
|
||||
|
||||
await S.ExecuteCommandAsync("setclantag" + " " + E.Origin.ClientNumber + " " + rankName);
|
||||
}
|
||||
if (E.Type == GameEvent.EventType.Start || E.Type == GameEvent.EventType.MapEnd || E.Type == GameEvent.EventType.MapChange)
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
IList<EFClient> currentclients = E.Owner.Manager.GetActiveClients();
|
||||
foreach(EFClient client in currentclients)
|
||||
{
|
||||
var rank_player_var = await _metaService.GetPersistentMeta(rank, client);
|
||||
rankName = client.Level.ClanTag(Config);
|
||||
|
||||
rank_player_var = await _metaService.GetPersistentMeta("rank", client);
|
||||
if (rank_player_var == null)
|
||||
{
|
||||
await _metaService.AddPersistentMeta("rank", "none", client);
|
||||
rank_player_var = await _metaService.GetPersistentMeta("rank", client);
|
||||
await _metaService.AddPersistentMeta("rank", "none", E.Origin);
|
||||
rank_player_var = await _metaService.GetPersistentMeta("rank", E.Origin);
|
||||
}
|
||||
|
||||
if (!(rank_player_var.Value.Contains("none")) && !(rank_player_var.Value.Contains("None")) && !(rank_player_var.Value.Contains("NONE")))
|
||||
@ -93,8 +70,37 @@ namespace ClanTagRankApi
|
||||
rankName = rank_player_var.Value;
|
||||
|
||||
}
|
||||
if (E.Origin.IsIngame && E.Origin is object)
|
||||
await S.ExecuteCommandAsync("setclantag" + " " + E.Origin.ClientNumber + " " + rankName);
|
||||
}
|
||||
|
||||
}
|
||||
if (E.Type == GameEvent.EventType.Start || E.Type == GameEvent.EventType.MapEnd || E.Type == GameEvent.EventType.MapChange)
|
||||
{
|
||||
IList<EFClient> currentclients = E.Owner.Manager.GetActiveClients();
|
||||
foreach(EFClient client in currentclients)
|
||||
{
|
||||
if (client.IsIngame && client is object)
|
||||
{
|
||||
var rank_player_var = await _metaService.GetPersistentMeta("rank", client);
|
||||
rankName = client.Level.ClanTag(Config);
|
||||
|
||||
rank_player_var = await _metaService.GetPersistentMeta("rank", client);
|
||||
if (rank_player_var == null)
|
||||
{
|
||||
await _metaService.AddPersistentMeta("rank", "none", client);
|
||||
rank_player_var = await _metaService.GetPersistentMeta("rank", client);
|
||||
}
|
||||
|
||||
if (!(rank_player_var.Value.Contains("none")) && !(rank_player_var.Value.Contains("None")) && !(rank_player_var.Value.Contains("NONE")))
|
||||
{
|
||||
rankName = rank_player_var.Value;
|
||||
|
||||
}
|
||||
if (client.IsIngame && client is object)
|
||||
await S.ExecuteCommandAsync("setclantag" + " " + client.ClientNumber + " " + rankName);
|
||||
}
|
||||
|
||||
await S.ExecuteCommandAsync("setclantag" + " " + client.ClientNumber + " " + rankName);
|
||||
|
||||
}
|
||||
|
||||
@ -110,6 +116,37 @@ namespace ClanTagRankApi
|
||||
|
||||
public Task OnUnloadAsync() => Task.CompletedTask;
|
||||
|
||||
public Task notifyYADB(string message, string title, string reason, string icon, Server S, EFClient OriginClient, EFClient TargetClient)
|
||||
{
|
||||
string json = "";
|
||||
using (var stream = new System.IO.MemoryStream())
|
||||
{
|
||||
using (var writer = new System.Text.Json.Utf8JsonWriter(stream))
|
||||
{
|
||||
writer.WriteStartObject();
|
||||
writer.WriteString("title", title);
|
||||
writer.WriteString("message", message);
|
||||
writer.WriteString("reason", reason);
|
||||
writer.WriteString("icon", icon);
|
||||
writer.WriteEndObject();
|
||||
}
|
||||
|
||||
json = System.Text.Encoding.UTF8.GetString(stream.ToArray());
|
||||
}
|
||||
var e = new GameEvent()
|
||||
{
|
||||
Origin = OriginClient,
|
||||
Target = TargetClient,
|
||||
Owner = S,
|
||||
Type = GameEvent.EventType.Other,
|
||||
Subtype = "YADB-Embed",
|
||||
Extra = json
|
||||
};
|
||||
|
||||
S.ExecuteEvent(e);
|
||||
return Task.CompletedTask;
|
||||
|
||||
//notifyYADB("Kicked player @{target} after a successful vote started from @{origin}", $"Vote kicked {target.Name}", gameEvent.Data,":pencil:", Server, origin, target);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user