#include "sodstats\include\sodstats.inc"
#include <sourcemod>
#include <morecolors>
public OnClientPutInServer(client)
{
CreateTimer(15.0, TimerAnnounce, client);
}
public Action:TimerAnnounce(Handle:timer, any:client)
{
if(IsClientInGame(client))
{
CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Напишите в чате {green}!resetrank {lightgreen}для сброса статистики!");
}
}
public Action:Command_Reset(client, args)
{
ResetRank(client);
return Plugin_Handled;
}
public Action:Command_ResetPlayer(client, args)
{
if (args < 1)
{
CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Сброс игроку: {green}sm_stats_resetrank <name>");
return Plugin_Handled;
}
new String:arg1[64];
new String:arg3[64];
new String:arg5[64];
decl String:Query[256];
GetCmdArg(1, arg1, sizeof(arg1));
GetCmdArg(3, arg3, sizeof(arg3));
GetCmdArg(5, arg5, sizeof(arg5));
FormatEx(Query, sizeof(Query), "SELECT * FROM players WHERE steamid = '%s:%s:%s'", arg1, arg3, arg5);
g_player_count = SQL_TQuery(stats_db, CountPlayer, Query, GetClientUserId(client), DBPrio_High);
PrintToChatAll("Rows: %i", g_player_count);
return Plugin_Handled;
}
public CountPlayer(Handle:owner, Handle:hndl, const String:error[], any:userid)
{
new rows = SQL_GetRowCount(hndl);
return rows;
}
ResetRank(client)
{
if(GetConVarInt(g_resetenable))
{
decl String:authid[64];
GetClientAuthString(client, authid, 63);
decl String:query[255];
if(GetConVarInt(g_resetmode))
Format(query, 255, "UPDATE players SET score = 0, kills = 0, deaths = 0, shots = 0, hits = 0, time_played = 0, headshots = 0 WHERE steamid = '%s'", authid);
else
Format(query, 255, "UPDATE players SET score = 0, kills = 0, deaths = 0, shots = 0, hits = 0, headshots = 0 WHERE steamid = '%s'", authid);
if(SQL_TQuery(stats_db, SQL_reset, query, client))
{
new time = GetTime();
g_last_saved_time[client] = time;
g_kills[client] = 0;
g_deaths[client] = 0;
g_shots[client] = 0;
g_hits[client] = 0;
g_score[client] = 0;
g_headshots[client] = 0;
if(GetConVarInt(g_resetmode))
g_time_played[client] = 0;
g_session_kills[client] = 0;
g_session_deaths[client] = 0;
g_session_shots[client] = 0;
g_session_score[client] = 0;
g_session_headshots[client] = 0;
CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Вы {green}успешно {lightgreen}сбросили свою статистику!");
}
else
{
CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] {red}Ошибка {lightgreen}при сбросе статистики!");
}
}
else
{
CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Возможность сброса статистики {red}отключена{lightgreen}!");
}
}