v1.1.7
This commit is contained in:
parent
04a4fdce0d
commit
ac53655184
129 changed files with 1087 additions and 978 deletions
|
|
@ -1,8 +1,8 @@
|
|||
using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json;
|
||||
using static jRandomSkills.jRandomSkills;
|
||||
using static src.jRandomSkills;
|
||||
|
||||
namespace jRandomSkills
|
||||
namespace src.utils
|
||||
{
|
||||
public static class Config
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,68 +1,68 @@
|
|||
using CounterStrikeSharp.API.Core;
|
||||
using CounterStrikeSharp.API.Modules.Commands;
|
||||
using CounterStrikeSharp.API.Modules.Commands.Targeting;
|
||||
using jRandomSkills.src.utils;
|
||||
using static jRandomSkills.jRandomSkills;
|
||||
using static src.jRandomSkills;
|
||||
|
||||
namespace jRandomSkills;
|
||||
|
||||
public class FindTarget
|
||||
namespace src.utils
|
||||
{
|
||||
public static (List<CCSPlayerController> players, string targetname) Find
|
||||
(
|
||||
CommandInfo command,
|
||||
int minArgCount,
|
||||
bool singletarget,
|
||||
bool ignoreMessage = false
|
||||
)
|
||||
public class FindTarget
|
||||
{
|
||||
if (command.ArgCount < minArgCount)
|
||||
public static (List<CCSPlayerController> players, string targetname) Find
|
||||
(
|
||||
CommandInfo command,
|
||||
int minArgCount,
|
||||
bool singletarget,
|
||||
bool ignoreMessage = false
|
||||
)
|
||||
{
|
||||
return (new List<CCSPlayerController>(), string.Empty);
|
||||
}
|
||||
|
||||
TargetResult targetresult = command.GetArgTargetResult(1);
|
||||
|
||||
if (targetresult.Players.Count == 0)
|
||||
{
|
||||
if (!ignoreMessage && command.CallingPlayer != null)
|
||||
command.ReplyToCommand(command.CallingPlayer.GetTranslation("no_player"));
|
||||
|
||||
return (new List<CCSPlayerController>(), string.Empty);
|
||||
}
|
||||
else if (singletarget && targetresult.Players.Count > 1)
|
||||
{
|
||||
if (command.CallingPlayer != null)
|
||||
command.ReplyToCommand(command.CallingPlayer.GetTranslation("duplicate_player"));
|
||||
return (new List<CCSPlayerController>(), string.Empty);
|
||||
}
|
||||
|
||||
string targetname;
|
||||
|
||||
if (targetresult.Players.Count == 1)
|
||||
{
|
||||
targetname = targetresult.Players.Single().PlayerName;
|
||||
}
|
||||
else
|
||||
{
|
||||
Target.TargetTypeMap.TryGetValue(command.GetArg(1), out TargetType type);
|
||||
|
||||
targetname = type switch
|
||||
if (command.ArgCount < minArgCount)
|
||||
{
|
||||
TargetType.GroupAll => Instance.Localizer["all"],
|
||||
TargetType.GroupBots => Instance.Localizer["bots"],
|
||||
TargetType.GroupHumans => Instance.Localizer["humans"],
|
||||
TargetType.GroupAlive => Instance.Localizer["alive"],
|
||||
TargetType.GroupDead => Instance.Localizer["dead"],
|
||||
TargetType.GroupNotMe => Instance.Localizer["notme"],
|
||||
TargetType.PlayerMe => targetresult.Players.First().PlayerName,
|
||||
TargetType.TeamCt => Instance.Localizer["ct"],
|
||||
TargetType.TeamT => Instance.Localizer["t"],
|
||||
TargetType.TeamSpec => Instance.Localizer["spec"],
|
||||
_ => targetresult.Players.First().PlayerName
|
||||
};
|
||||
}
|
||||
return (new List<CCSPlayerController>(), string.Empty);
|
||||
}
|
||||
|
||||
return (targetresult.Players, targetname);
|
||||
TargetResult targetresult = command.GetArgTargetResult(1);
|
||||
|
||||
if (targetresult.Players.Count == 0)
|
||||
{
|
||||
if (!ignoreMessage && command.CallingPlayer != null)
|
||||
command.ReplyToCommand(command.CallingPlayer.GetTranslation("no_player"));
|
||||
|
||||
return (new List<CCSPlayerController>(), string.Empty);
|
||||
}
|
||||
else if (singletarget && targetresult.Players.Count > 1)
|
||||
{
|
||||
if (command.CallingPlayer != null)
|
||||
command.ReplyToCommand(command.CallingPlayer.GetTranslation("duplicate_player"));
|
||||
return (new List<CCSPlayerController>(), string.Empty);
|
||||
}
|
||||
|
||||
string targetname;
|
||||
|
||||
if (targetresult.Players.Count == 1)
|
||||
{
|
||||
targetname = targetresult.Players.Single().PlayerName;
|
||||
}
|
||||
else
|
||||
{
|
||||
Target.TargetTypeMap.TryGetValue(command.GetArg(1), out TargetType type);
|
||||
|
||||
targetname = type switch
|
||||
{
|
||||
TargetType.GroupAll => Instance.Localizer["all"],
|
||||
TargetType.GroupBots => Instance.Localizer["bots"],
|
||||
TargetType.GroupHumans => Instance.Localizer["humans"],
|
||||
TargetType.GroupAlive => Instance.Localizer["alive"],
|
||||
TargetType.GroupDead => Instance.Localizer["dead"],
|
||||
TargetType.GroupNotMe => Instance.Localizer["notme"],
|
||||
TargetType.PlayerMe => targetresult.Players.First().PlayerName,
|
||||
TargetType.TeamCt => Instance.Localizer["ct"],
|
||||
TargetType.TeamT => Instance.Localizer["t"],
|
||||
TargetType.TeamSpec => Instance.Localizer["spec"],
|
||||
_ => targetresult.Players.First().PlayerName
|
||||
};
|
||||
}
|
||||
|
||||
return (targetresult.Players, targetname);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +1,13 @@
|
|||
using CounterStrikeSharp.API;
|
||||
using CounterStrikeSharp.API.Core;
|
||||
using CounterStrikeSharp.API.Modules.Utils;
|
||||
using jRandomSkills.src.player;
|
||||
using MaxMind.Db;
|
||||
using Newtonsoft.Json;
|
||||
using System.Net;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Text.RegularExpressions;
|
||||
using src.player;
|
||||
|
||||
namespace jRandomSkills.src.utils
|
||||
namespace src.utils
|
||||
{
|
||||
public static class Localization
|
||||
{
|
||||
|
|
@ -109,7 +108,7 @@ namespace jRandomSkills.src.utils
|
|||
|
||||
var skilLDescription = desc2 == skillName
|
||||
? player.GetTranslation($"{skill.ToString().ToLower()}_desc")
|
||||
: (desc2.Contains('%') ? desc2.Replace(value.ToString(), Math.Round(value * 100, 0).ToString()) : desc2);
|
||||
: desc2.Contains('%') ? desc2.Replace(value.ToString(), Math.Round(value * 100, 0).ToString()) : desc2;
|
||||
return skilLDescription;
|
||||
}
|
||||
|
||||
|
|
@ -124,14 +123,14 @@ namespace jRandomSkills.src.utils
|
|||
return;
|
||||
}
|
||||
|
||||
List<string> translations = [];
|
||||
ConcurrentBag<string> translations = [];
|
||||
for (int i = 0; i < key.Length; i++)
|
||||
{
|
||||
object[] currentArgs = (args != null && i < args.Length) ? args[i] : [];
|
||||
object[] currentArgs = args != null && i < args.Length ? args[i] : [];
|
||||
string translation = GetTranslation(key[i], langCode, currentArgs);
|
||||
translations.Add(translation);
|
||||
}
|
||||
player.PrintToChat(string.Format(message, translations.ToArray()));
|
||||
player.PrintToChat(string.Format(message, [.. translations]));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,18 +5,14 @@ using CounterStrikeSharp.API.Modules.Entities.Constants;
|
|||
using CounterStrikeSharp.API.Modules.Memory;
|
||||
using CounterStrikeSharp.API.Modules.Memory.DynamicFunctions;
|
||||
using CounterStrikeSharp.API.Modules.Utils;
|
||||
using jRandomSkills.src.player;
|
||||
using jRandomSkills.src.utils;
|
||||
using System.Runtime.InteropServices;
|
||||
using WASDMenuAPI.Classes;
|
||||
using WASDSharedAPI;
|
||||
using static CounterStrikeSharp.API.Core.Listeners;
|
||||
using System.Collections.Concurrent;
|
||||
using System;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
using System.Drawing;
|
||||
using src.player;
|
||||
|
||||
namespace jRandomSkills
|
||||
namespace src.utils
|
||||
{
|
||||
public static class SkillUtils
|
||||
{
|
||||
|
|
@ -150,15 +146,6 @@ namespace jRandomSkills
|
|||
return designerName;
|
||||
}
|
||||
|
||||
public static void EnableTransmit()
|
||||
{
|
||||
if (!Event.isTransmitRegistered)
|
||||
{
|
||||
jRandomSkills.Instance?.RegisterListener<CheckTransmit>(Event.CheckTransmit);
|
||||
Event.isTransmitRegistered = true;
|
||||
}
|
||||
}
|
||||
|
||||
private static IWasdMenuManager? GetMenuManager()
|
||||
{
|
||||
if (jRandomSkills.Instance.MenuManager == null)
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using CounterStrikeSharp.API;
|
||||
using CounterStrikeSharp.API.Modules.Utils;
|
||||
using jRandomSkills.src.player;
|
||||
using CounterStrikeSharp.API.Modules.Utils;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using src.player;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Reflection;
|
||||
using static jRandomSkills.jRandomSkills;
|
||||
using static src.jRandomSkills;
|
||||
|
||||
namespace jRandomSkills
|
||||
namespace src.utils
|
||||
{
|
||||
public static class SkillsInfo
|
||||
{
|
||||
|
|
@ -106,11 +106,11 @@ namespace jRandomSkills
|
|||
return default!;
|
||||
}
|
||||
|
||||
public class SkillsInfoModel : List<DefaultSkillInfo>
|
||||
public class SkillsInfoModel : ConcurrentBag<DefaultSkillInfo>
|
||||
{
|
||||
public SkillsInfoModel()
|
||||
{
|
||||
AddRange(
|
||||
foreach (var skill in
|
||||
Assembly.GetExecutingAssembly().GetTypes()
|
||||
.Where(t => typeof(DefaultSkillInfo).IsAssignableFrom(t) && t.Name == "SkillConfig")
|
||||
.Select(t =>
|
||||
|
|
@ -121,9 +121,9 @@ namespace jRandomSkills
|
|||
return ctor.Invoke(args) as DefaultSkillInfo;
|
||||
})
|
||||
.Where(instance => instance != null)
|
||||
.Cast<DefaultSkillInfo>()
|
||||
);
|
||||
}
|
||||
.Cast<DefaultSkillInfo>())
|
||||
Add(skill);
|
||||
}
|
||||
}
|
||||
|
||||
public class DefaultSkillInfo(Skills skill, bool active = true, string color = "#ffffff", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue