Написал информер для кс 1.6, но пришла идея реализовать захват скилов с фасткапа с помощью API пример: http://fastcup.net/api.html?plain=1&getUser=1 .Как все это можно реализовать в PAWN SCRIPTING. Алгоритм плагин берет данные xp: например 13141313 и выводит в информер
Как работать с api в кс 1.6?Мне нужно захватить данные xp: и вывести в информер Пример кода но тут берутся значение banned fastcup,а мне нужно захватить данные xp, а точнее его значение
Код:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "TESTTEST"
#define VERSION "2.0"
#define AUTHOR "NekitZor"
#pragma semicolon 1
#define HUD_INTERVAL 1.0
#define HUD_TASK 74358293
new g_CreateHud;
new g_MaxPlayers;
new InfoOn;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
set_task(HUD_INTERVAL, "AdminsOnline", HUD_TASK, "", 0, "b", 0);
InfoOn = register_cvar("m_informer", "1");
g_CreateHud = CreateHudSyncObj();
g_MaxPlayers = get_maxplayers();
}
public AdminsOnline()
{
if (get_pcvar_num(InfoOn))
{
new szMessage[512], szCurrentDate[32], szCurrentTime[32], szMapName[34], iLen = 0;
get_time("%d/%m/%Y", szCurrentDate, charsmax(szCurrentDate));
get_time("%H:%M:%S", szCurrentTime, charsmax(szCurrentTime));
get_mapname(szMapName, charsmax(szMapName));
iLen += formatex(szMessage[iLen], charsmax(szMessage) - iLen, "Дата: %s^n", szCurrentDate );
set_hudmessage(255, 99, 71, 0.01, 0.18, 2, 0.0, HUD_INTERVAL + 0.1, 0.1, 0.0, -1);
ShowSyncHudMsg(0, g_CreateHud, szMessage);
}
}
stock get_admins()
{
new AdminsCount;
AdminsCount = 0;
for (new a = 1; a <= g_MaxPlayers; a++)
{
if (!is_user_connected(a) || !is_user_admin(a))
continue;
AdminsCount++;
}
return AdminsCount;
}
stock get_playersall()
{
new PlCount;
PlCount = 0;
for (new p = 1; p <= g_MaxPlayers; p++)
{
if (!is_user_connected(p))
continue;
PlCount++;
}
return PlCount;
}
9 Фев 2018
9 Фев 2018
Код:
#include <amxmodx>
#include <sockets>
#define SITE "/?act=api&plain=1&getUser="
#define HOST "fastcup.net"
#define PLUGIN "New fastban"
#define VERSION "1.0"
#define AUTHOR "smoke(BLR)"
new g_Socket;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
}
public client_putinserver(id){
new iError, szSendBuffer[512], steam[35]
get_user_authid(id, steam, 34)
if(is_user_steam(id)){
g_Socket = socket_open(HOST, 80, SOCKET_TCP, iError)
switch (iError)
{
case 1:
{
log_to_file("addons/amxmodx/logs/fastban.log","Невозможно создать сокет.")
return ;
}
case 2:
{
log_to_file("addons/amxmodx/logs/fastban.log","Невозможно подключиться к хосту.")
return ;
}
case 3:
{
log_to_file("addons/amxmodx/logs/fastban.log","Невозможно подключиться к HTTP порту.")
return ;
}
}
format(szSendBuffer, charsmax(szSendBuffer), "GET %s%s HTTP/1.1^nHost:%s^r^n^r^n", SITE, steam, HOST)
socket_send(g_Socket, szSendBuffer, charsmax(szSendBuffer))
set_task(5.0, "socketAnswer",id, .flags = "b")
}
}
public socketAnswer(id){
new szData[1024], steams[35], name[32]
get_user_authid(id, steams, 34)
get_user_name(id, name, 31)
if (socket_change(g_Socket)) {
socket_recv(g_Socket, szData, charsmax(szData) )
new Position = containi(szData, "banned_by_myac: true")
new Position2 = containi(szData, "banned_by_cheat_topic: true")
if (Position >= 0){
log_to_file("addons/amxmodx/logs/fastban.log","Игрок:%s | стим:%s забанен маяком",name, steams)
server_cmd("amx_ban 0 %d MyAC Banned", steams)
}
if (Position2 >= 0){
log_to_file("addons/amxmodx/logs/fastban.log","Игрок:%s | стим:%s забанен по топику",name, steams)
server_cmd("amx_ban 0 %d Banned by topic", steams)
}
socket_close(g_Socket);
remove_task( 0 );
}
}
stock bool:is_user_steam(id){
// Author Sh0oter
static dp_pointer
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id)
server_exec()
return (get_pcvar_num(dp_pointer) == 2) ? true : false
}
return false
}