13.04.2012, 12:17
я может чуть не понял но у меня бан ип так делается
PS делает бан с команды /обход [ид_игрока] при этом сверяет админ ли тот кто написал команду или нет
Код:
if(strcmp(cmd, "/обход", true) == 0){ GetPlayerName(playerid, sendername, sizeof(sendername)); PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level"); tmp = strtok(cmdtext, idx); if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1){ SendClientMessage(playerid, COLOR_RED, "Не правильный синтаксис. Используйте: /обход [ид_игрока]"); return 1; } giveplayerid = strval(tmp); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(logged[playerid] == 1){ if(PlayerInfo[playerid][pAdmin] >= 1){ if(IsPlayerConnected(giveplayerid)){ SendClientMessage(playerid, COLOR_GREEN, "Вы забанили подсеть данного игрока за обход наказания"); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "< %s(%d) забанен: Причина: обход наказания. См. /правила", giveplayer, giveplayerid); SendClientMessageToAll(COLOR_YELLOW, string); new string1[256], string2[256]; format(string, sizeof(string), "< %s(%d) ушел(а) c сервера. (Бан)", giveplayer, giveplayerid); SendClientMessageToAll(COLOR_YELLOW,string); format(string2,sizeof(string2),"%s",giveplayer); format(string1,sizeof(string1),"%s(B)",giveplayer); SetPlayerName(giveplayerid,string1); SendDeathMessage(INVALID_PLAYER_ID,giveplayerid,201); SetPlayerName(giveplayerid,string2); printf("< %s(%d) забанен: Причина: обход наказания.(Подсеть-обход)",giveplayer, giveplayerid); new ip[32]; GetPlayerIp(giveplayerid,ip,sizeof(ip)); strdel(ip,strlen(ip)-4,strlen(ip)); format(ip,sizeof(ip),"%s*.*",ip); format(ip,sizeof(ip),"banip %s",ip); SendRconCommand(ip); Kick(giveplayerid); return true; }else{ format(string, sizeof(string), "%d игрок не подключен.", giveplayerid); SendClientMessage(playerid, COLOR_RED, string); }}else{ SendClientMessage(playerid, COLOR_RED, "У Вас нет разрешения использовать ту команду!"); return 1; }}else{ SendClientMessage(playerid, COLOR_RED, "Вы Должны быть загружены, чтобы использовать эту команду!");} return 1;}