CrazyFors
Новичок
Ребят, кто может подсказать как сделать проверку на то, забанен ли игрок?
PHP:
CMD:offwarn(playerid, params[])
{
if(PI[playerid][pAdmin] < ADM_SUPER_ADMIN) return 1;
else if(AdminLogged[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
new playername[MAX_PLAYER_NAME], reason[32];
if(sscanf(params, "s[24]s[24]", playername, reason)) return SendClientMessage(playerid, COLOR_WHITE, "Ââåäèòå: /offwarn [íèê èãðîêà] [ïðè÷èíà]");
else if(CheckExceptionName(playername)) return AttemptRemoveChiefAdmin(playerid);
else if(IsIpFound(reason) || CheckString(reason)) return AdminAntisliv(playerid, reason);
else if(GetPlayerID(playername) != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Èãðîê â ñåòè, èñïîëüçóéòå êîìàíäó /warn");
format(query, sizeof(query), "SELECT * FROM "T_ACCOUNTS" WHERE `name`='%s'", playername);
mysql_tquery(dbHandle, query, "OnPlayerOffwarn", "iss", playerid, playername, reason);
return 1;
}
PHP:
forward OnPlayerOffwarn(playerid, name[], reason[]);
public OnPlayerOffwarn(playerid, name[], reason[])
{
if(cache_get_row_count(dbHandle) > 0)
{
new string[144];
if(cache_get_row_int(0, 20, dbHandle) < 2)
{
format(string, sizeof(string), "Администратор %s выдал оффлайн предупреждение игроку %s. Причина: %s", PI[playerid][pName], name, reason);
format(query, sizeof(query), "UPDATE "T_ACCOUNTS" SET warn=warn+1,member=0,leader=0,templeader=0,rank=0,job=0,spawnchange=0 WHERE name='%s'", name);
mysql_tquery(dbHandle, query, "", "");
}
else
{
new data[15], unbandate;
format(string, sizeof(string), "Игрок %s получил оффлайн бан на 21 день от администратора %s. Причина: %s", name, PI[playerid][pName], reason);
getdate(years, months, days);
unbandate = gettime() + 21*86400;
format(data, sizeof(data), "%02d.%02d.%04d", days, months, years);
format(query, sizeof(query), "INSERT INTO bans (name, whobanned, ip, bandate, time, unbandate, reason) VALUES ('%s', '%s', '%s', '%s', 7, %d, '%s')", name, PI[playerid][pName], cache_get_row_int(0, 3, dbHandle), data, unbandate, reason);
mysql_tquery(dbHandle, query, "", "");
format(query, sizeof(query), "UPDATE "T_ACCOUNTS" SET warn=0,member=0,leader=0,rank=0,job=0,spawnchange=1 WHERE name='%s'", name);
mysql_tquery(dbHandle, query, "", "");
}
SendClientMessageToAll(COLOR_RED, string);
SendLog("WarnLog", string);
}
else SendClientMessage(playerid, COLOR_GREY, "Игрок не найден!");
return 1;
}
Последнее редактирование:
