Chris Sanchez
Новичок
При вводе команды /offban ник игрока кол-во дней причина - банит того администратора, который ввёл эту команду
Код:
if(!strcmp(cmd,"/offban",true))
{
if(pData[playerid][pAdmin] < 5) return 1;
tmp = strtok(cmdtext, idx);
new mes[128];
if(!strlen(tmp)) return SendClientMessage(playerid,CGRAY,"Используйте: /offban [ник] [к-во дней] [причина]");
new account[24]; format(account, 24, "%s", tmp);
if(!strcmp(account, DEVELOPER, true)) return true;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) || !isNumeric(tmp)) return SendClientMessage(playerid,CGRAY,"Используйте: /offban [ник] [к-во дней] [причина]");
new time = strval(tmp);
if(time < 1 || time > 30) return SendClientMessage(playerid,CGRAY,"Неверное к-во дней");
tmp = strrest(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid,CGRAY,"Используйте: /offban [ник] [к-во дней] [причина]");
if(IsIpFound(tmp) || CheckString(tmp))
{
pData[playerid][pAdmin] = 0;
UpdatePlayerData(playerid, "admin", pData[playerid][pAdmin]);
PlayerGetsChatBan(playerid, tmp);
return true;
}
sql_escape_string(dbserv, account,account, 24);
format(mes,sizeof(mes),"SELECT id FROM `accounts` WHERE `nickname` = '%s'",account);
new Result:r = sql_query(dbserv, mes, QUERY_CACHED);
if(!sql_num_rows(r)) return SendClientMessage(playerid, COLOR_LIGHTRED, "Игрок с таким именем не найден в базе.");
new id = sql_get_field_int(r, 0);
ServerBan(playerid,id,time,tmp);
sql_free_result(r);
format(mes,sizeof(mes),"Игрок %s получил оффлайн бан на %i дней от Администратора %s. Причина: %s",account,time,pData[playerid][pNickname],tmp);
SendAdminMessage(COLOR_LIGHTRED,mes);
return true;
}
