[C#] SteamID Info

[C#] SteamID Info 1.0.0

Xummuk97

Programmer
Сообщения
309
Реакции
75
  • Автор ресурса
  • #1
Xummuk97 добавил(а) новый ресурс:

[C#] SteamID Info - Выводит в консоль SteamID игрока(-ов).

Плагин позволяет выводить в консоль с помощью команды информацию о игроке(-ах): SteamID2, SteamID3, SteamID64.

Узнать больше об этом ресурсе...
 

rejchev

менеджер клоунов
Сообщения
1,669
Реакции
1,291
Почистил слегка
SteamIdInfo.cs:
using CounterStrikeSharp.API;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Core.Attributes.Registration;
using CounterStrikeSharp.API.Modules.Commands;
using CounterStrikeSharp.API.Modules.Commands.Targeting;
using CounterStrikeSharp.API.Modules.Entities;

namespace SteamIdInfo;

public sealed class SteamIdInfo : BasePlugin
{
    public override string ModuleName => "SteamID Info";

    public override string ModuleVersion => "1.0.0";

    public override string ModuleAuthor => "Xummuk97";

    private const string Braces = "========";

    private const string TableHeader = "id | name | steamid2 | steamid3 | steamid64";

    private const string TableBodyEmpty = "----";

    [ConsoleCommand("steamid_info", "Displays information about the client: SteamID2, SteamID3, SteamID64.")]
    [CommandHelper(minArgs: 1, usage: "[target]", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)]
    public void OnCommand(CCSPlayerController? player, CommandInfo command)
    {
        if(player == null)
            return;

        var output = AggregateTargetsSteamIds(Utilities.ProcessTargetString(command.ArgByIndex(1), player));

        if (output.Length == 0)
            output = TableBodyEmpty;
       
        player.PrintToConsole($"{Braces} \n{TableHeader} \n{output} \n{Braces} \n");
    }

    private static string AggregateTargetsSteamIds(TargetResult targets, string delimiter = "\n") => targets
        .Aggregate("", (acc, target) =>
            acc +
            (acc.Length == 0 ? "" : delimiter) +
            GetTargetSteamIdsAsString(target.UserId, target.PlayerName, target.AuthorizedSteamID));

    private static string GetTargetSteamIdsAsString(int? userId, string name, SteamID? steamId) =>
        $"{userId} | {name} | {steamId?.SteamId2} | {steamId?.SteamId3} | {steamId?.SteamId64}";
}
 
Сверху Снизу