Плагін надсилає асинхронний POST-запит до веб-кінцевої точки.
Вимога
Будівля
Спосіб 1
Просто відкрийте файл рішення у Visual Studio 2022 та натиснітьBuild Solution
Спосіб 2
Збірка через командний рядок або PowerShell (потрібно: .NET SDK 8.0+)
git clone https://github.com/oylsister/CS2GamingAPI.gitcd CS2GamingAPIdotnet build
Встановлення
Перетягніть файли в zip-архіві до
game/csgoпапки.Налаштуйте всі JSON-файли в
game/csgo/addons/counterstrikesharp/configs/CS2GamingAPICoreпапці. (Якщо папка не існує, сервер згенерує її автоматично під час запуску.)Насолоджуйтесь :D
Налаштувати
{
"Token": "", // 32 lenght token provided by CS2Gaming
"ProjectUrl": "https://************.com/", // Your URL
"ProjectUrlType": "steamgroup", // set to "steamgroup", "website", "telegram" any other than these will not work
"RequestUrl": "https://************.com/*******", // request URL
"ConfigVersion": 1 // no need to do anything.
}Використання API плагіна
using CounterStrikeSharp.API;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Core.Attributes.Registration;
using CounterStrikeSharp.API.Core.Capabilities;
using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Commands;
using CS2GamingAPIShared;
namespace ExamplePlugin
{
public class ExamplePlugin : BasePlugin
{
public override string ModuleName => "Example Plugin for API";
public override string ModuleVersion => "1.0";
// create plugin capability
public static PluginCapability<ICS2GamingAPIShared> APICapabillity { get; } = new("cs2gamingAPI");
// declare API class.
ICS2GamingAPIShared? API;
public override void OnAllPluginsLoaded(bool hotReload)
{
// get API from capabillity.
API = APICapabillity.Get();
}
[RequiresPermissions("@css/generic")]
[CommandHelper(1, "css_exam [userid]")]
[ConsoleCommand("css_exam")]
public async void APICommandAsync(CCSPlayerController controller, CommandInfo info)
{
// use it on anywhere start with API class you have declared.
var request = await API!.RequestSteamID(ulong.Parse(info.GetArg(1)));
if (request == null)
return;
Server.NextFrame(() =>
{
info.ReplyToCommand($"Status Code: {request.Status}");
info.ReplyToCommand($"Message : {request.Message}");
});
}
}
}
Приєднуйтесь до обговорення
Ви можете написати зараз та зареєструватися пізніше. Якщо у вас є обліковий запис, авторизуйтесь, щоб опублікувати від імені свого облікового запису.