public void PunishPlayerOnMaxWarns(int iAdmin, int iClient, char sReason[129], bool bType)
{
if (iClient && IsClientInGame(iClient) && !IsFakeClient(iClient)){
//PrintToServer("score: %d | warns: %d", g_iScore[iClient], g_iWarnings[iClient]);
switch (g_iMaxPunishment)
{
case 1:
KickClient(iClient, "[warnsystem] %t", "WS_MaxKick", bType ? "баллов" : "предупреждений");
case 2:
{
char sBanReason[129];
FormatEx(sBanReason, sizeof(sBanReason), "[warnsystem] %t", "WS_MaxBan", sReason, bType ? "баллов" : "предупреждений", g_iBanLenght);
BanClient(iClient, g_iBanLenght, BANFLAG_AUTO, sBanReason, sBanReason, "warnsystem");
}
case 3:
{
char dbQuery[256];
g_iWarnings[iClient] = g_iScore[iClient] = 0;
FormatEx(dbQuery, sizeof(dbQuery), g_sSQL_DeleteWarns, g_iAccountID[iClient], g_iServerID);
g_hDatabase.Query(SQL_CheckError, dbQuery);
char sBanReason[129];
FormatEx(sBanReason, sizeof(sBanReason), "[warnsystem] %t", "WS_MaxBan", sReason, bType ? "баллов" : "предупреждений", g_iBanLenght);
if (WarnSystem_WarnMaxPunishment(iAdmin, iClient, g_iBanLenght, sReason) == Plugin_Continue)
{
LogWarnings("Selected max punishment with custom module but module doesn't exists. Client kicked.");
KickClient(iClient, "[warnsystem] %t", "WS_MaxKick", bType ? "баллов" : "предупреждений");
}
}
}
}
}