hi guys!
i need to check the time play csgo for this plugin!!
check profile status and Minimum amount of playtime a user has to have on CSGO must 50 hours for join to server.
please help me !!
this cod dont work for me
sorry for bad speak english
simple cod(cowac edited):
https://github.com/Deniel00/Cow-Anti...owanticheat.sp
PHP Code:
#include <sourcemod>
#include <sdktools>
#include <SteamWorks>
public void OnPluginStart()
{
sm_cac_hourcheck = CreateConVar("sm_cac_hourcheck", "1", "Enable hour checker (1 = Yes, 0 = No)", FCVAR_NOTIFY, true, 0.0, true, 1.0);
sm_cac_hourcheck_value = CreateConVar("sm_cac_hourcheck_value", "50", "Minimum amount of playtime a user has to have on CS:GO (Default: 50)");
sm_cac_profilecheck = CreateConVar("sm_cac_profilecheck", "1", "Enable profile checker, this makes it so users need to have a public profile to connect. (1 = Yes, 0 = No)", FCVAR_NOTIFY, true, 0.0, true, 1.0);
sm_cac_steamapi_key = CreateConVar("sm_cac_steamapi_key", "xxxxxxxxxxxxxxxxxxxxxxxxxxxx", "Need for ProfileCheck and HourCheck. (https://steamcommunity.com/dev/apikey)", FCVAR_NOTIFY);
}
public void OnClientPutInServer(int client)
{
if(IsValidClient(client))
{
if(sm_cac_profilecheck.BoolValue)
{
Handle request = CreateRequest_ProfileStatus(client);
SteamWorks_SendHTTPRequest(request);
}
if(sm_cac_hourcheck.BoolValue)
{
Handle request = CreateRequest_TimePlayed(client);
SteamWorks_SendHTTPRequest(request);
}
}
}
Handle CreateRequest_TimePlayed(int client)
{
char request_url[256];
char s_Steamapi[256];
sm_cac_steamapi_key.GetString(s_Steamapi, sizeof(s_Steamapi));
Format(request_url, sizeof(request_url), "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=%s",s_Steamapi);
Handle request = SteamWorks_CreateHTTPRequest(k_EHTTPMethodGET, request_url);
char steamid[64];
GetClientAuthId(client, AuthId_SteamID64, steamid, sizeof(steamid));
SteamWorks_SetHTTPRequestGetOrPostParameter(request, "steamid", steamid);
SteamWorks_SetHTTPRequestContextValue(request, client);
SteamWorks_SetHTTPCallbacks(request, TimePlayed_OnHTTPResponse);
return request;
}
public int TimePlayed_OnHTTPResponse(Handle request, bool bFailure, bool bRequestSuccessful, EHTTPStatusCode eStatusCode, int client)
{
if (!bRequestSuccessful || eStatusCode != k_EHTTPStatusCode200OK)
{
delete request;
return;
}
int iBufferSize;
SteamWorks_GetHTTPResponseBodySize(request, iBufferSize);
char[] sBody = new char[iBufferSize];
SteamWorks_GetHTTPResponseBodyData(request, sBody, iBufferSize);
int time = StringToInt(sBody, 10) / 60 / 60;
if(time <= 0)
{
KickClient(client, "Please connect with a public steam profile.");
}
else if(time < sm_cac_hourcheck_value.IntValue)
{
KickClient(client, "You do not meet the minimum hour requirement to play here! (%i/%i)", time, sm_cac_hourcheck_value.IntValue);
}
delete request;
}
Handle CreateRequest_ProfileStatus(int client)
{
char request_url[256];
char s_Steamapi[256];
sm_cac_steamapi_key.GetString(s_Steamapi, sizeof(s_Steamapi));
Format(request_url, sizeof(request_url), "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=%s",s_Steamapi);
Handle request = SteamWorks_CreateHTTPRequest(k_EHTTPMethodGET, request_url);
char steamid[64];
GetClientAuthId(client, AuthId_SteamID64, steamid, sizeof(steamid));
SteamWorks_SetHTTPRequestGetOrPostParameter(request, "steamid", steamid);
SteamWorks_SetHTTPRequestContextValue(request, client);
SteamWorks_SetHTTPCallbacks(request, ProfileStatus_OnHTTPResponse);
return request;
}
public int ProfileStatus_OnHTTPResponse(Handle request, bool bFailure, bool bRequestSuccessful, EHTTPStatusCode eStatusCode, int client)
{
if (!bRequestSuccessful || eStatusCode != k_EHTTPStatusCode200OK)
{
delete request;
return;
}
int iBufferSize;
SteamWorks_GetHTTPResponseBodySize(request, iBufferSize);
char[] sBody = new char[iBufferSize];
SteamWorks_GetHTTPResponseBodyData(request, sBody, iBufferSize);
int profile = StringToInt(sBody, 10) / 60 / 60;
if(profile < 3)
{
KickClient(client, "Please connect with a public steam profile.");
}
delete request;
}