#include <lvl_ranks>
#include <cstrike>
#include <ripext>
public void OnPluginStart()
{
if(LR_IsLoaded()) LR_Hook(LR_OnLevelChangedPost, OnLvlCH);
}
public void OnLvlCH(int iClient, int iNewLevel, int iOldLevel)
{
if(0 < iClient <= MaxClients && IsClientInGame(iClient) && !IsFakeClient(iClient))
{
if(iOldLevel < iNewLevel)
{
char auth[22], name[MAX_NAME_LENGTH], fmt[MAX_NAME_LENGTH];
JSONArray jArray = new JSONArray();
JSONObject obj = new JSONObject();
GetClientAuthId(iClient, AuthId_Steam2, auth, sizeof(auth));
Format(fmt, sizeof(fmt), "%s", auth);
obj.SetString("SteamID", fmt);
Format(fmt, sizeof(fmt), "%N", iClient);
obj.SetString("Name", fmt);
obj.SetInt("LVL_UP", iNewLevel);
obj.SetInt("Time", GetTime());
for(int i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && !IsClientSourceTV(i) && i != iClient)
{
GetClientAuthId(i, AuthId_Steam2, auth, sizeof(auth));
if(IsFakeClient(i)) GetClientName(i, name, sizeof(name));
char tt[1024];
Format(tt, sizeof(tt), "{'SteamID':'%s', 'Kills':%d, 'Death':%d, 'Score':%d, 'Time':%d}", IsFakeClient(i) ? name : auth, GetClientFrags(i), GetClientDeaths(i), CS_GetClientContributionScore(i), IsFakeClient(i) ? 0.0 : GetClientTime(i));
jArray.PushString(tt);
}
}
obj.Set("Json", jArray);
HTTPRequest req = new HTTPRequest("G:/OSPanel/domains/localhost/index.php");
req.Post(obj, OnAcceptObj);
delete jArray;
delete obj;
}
}
}
public void OnAcceptObj(HTTPResponse response, any value, const char[] error)
{
if(response.Status != HTTPStatus_OK)
{
LogMessage("Error: %s", error);
return;
}
LogMessage("Data successfully sends");
}