Huseyn
Компетентный
Здравствуйте, у меня тут такая проблема с /offban игрока можно забанить 2+ раза то есть один раз банишь и ещё можешь... Как исправить данную ошибку.. Хочу поставить например что-то такое "Данный игрок уже забанен"
вот код:
вот код:
PHP:
CMD:offban(playerid, params[])
{
if(PI[playerid][pAdmin] < 4) return 1;
else if(AdminLogged[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
new playername[MAX_PLAYER_NAME], countday, reason[32];
if(sscanf(params, "s[24]is[24]", playername, countday, reason)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /offban [ник игрока] [кол-во дней] [причина]");
else if(CheckExceptionName(playername)) return AttemptRemoveChiefAdmin(playerid);
else if(PI[playerid][pAdmin] <= PI[params[0]][pAdmin]) return AttemptRemoveAdmin(playerid);
else if(IsIpFound(reason) || CheckString(reason)) return AdminAntisliv(playerid, reason);
PI[params[0]][pLeader] = 0;
PI[params[0]][pMember] = 0;
PI[params[0]][pRank] = 0;
PI[params[0]][pAdmin] = 0;
if(GetPlayerID(playername) != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Игрок в сети, используйте команду /ban");
else if(countday > 30 || countday < 1) return SendClientMessage(playerid, COLOR_GREY, "Количество дней от 1 до 30!");
format(query, sizeof(query), "SELECT * FROM "T_ACCOUNTS" WHERE `name`='%s'", playername);
mysql_tquery(dbHandle, query, "OnPlayerOffban", "isis", playerid, playername, countday, reason);
return 1;
}
forward OnPlayerOffban(playerid, name[], day, reason[],params[]);
public OnPlayerOffban(playerid, name[], day, reason[],params[])
{
new rows, fields;
cache_get_data(rows, fields);
if(rows)
{
new string[144];
format(string, sizeof(string), "Игрок %s получил оффлайн бан на %i дней от администратора %s. Причина: %s", name, day, GetName(playerid), reason);
SendClientMessageToAll(COLOR_ADM, string);
format(string, sizeof(string), "Nick [%s] R-IP [%s] L-IP [%s] IP [%s]",GetName(params[0]),PI[params[0]][pRegIP],PI[params[0]][pLastIP],PI[params[0]][pIP]);
SendAdminMessage(0xff5030AA, string);
SendLog("OffBan", string);
getdate(years, months, days);
new unbandate = gettime() + day*86400;
new data[15];
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', '%d', '%d', '%s')", name, GetName(playerid), PI[params[0]][pIP], data, day, unbandate, reason);
mysql_tquery(dbHandle, query, "", "");
format(query, sizeof(query), "UPDATE "T_ACCOUNTS" SET warn=0,member=0,leader=0,templeader=0,rank=0,job=0,spawnchange=0 WHERE name='%s'", name);
mysql_tquery(dbHandle, query, "", "");
}
else SendClientMessage(playerid, COLOR_WHITE, "Игрок не найден!");
return 1;
}
