/*

########            ####        ####            ####                ####            ####
############        ####        ####        ############            ####            ####
####    ####        ####        ####      ####        ####
####     ####       ####        ####      ####        ####
####    ####        ####        ####       ####                     ####            ####
############        ####        ####          ####                  ####            ####
########            ####        ####            ####                ####            ####
########            ####        ####              ####              ####            ####
####  ####           ####      ####                 ####            ####            ####
####    ####         ####      ####       ####       ####           ####            ####
####      ####        ####    ####        ####        ####          ####            ####
####        ####      ############          ############          ####             ####
####        ####        ########                ####           ####             ####

Инклюд "Система Банов" сделан by RusJJ
Просьба, указывайте автора при размещении скрипта.
Не забывайте меня! :)



P.S. если выдаёт ошибку, что "gpci" не существует, зайдите в INCLUDE "a_players" и добавьте там строку "native gpci(playerid, serial[], len);"
Но БЕЗ ковычек. Приятного ухода за сервером против врагов! ^_-
*/

#include <a_samp>
#include <mxINI>

#define IP_BANS_DIR "bans/ip.ban"
#define NICKNAME_BANS_DIR "bans/nickname.ban"
#define SERIAL_ID_BANS_DIR "bans/serial.ban"

enum pBans
{
	IP,
	NickName,
	SerialID
};

new PlayerBans[MAX_PLAYERS][pBans];

public OnPlayerConnect(playerid)
{
	if( IsPlayerNickName_Ban(playerid) == 1)
	{
	    BanEx(playerid, "Ваш никнейм забанен!");
	}
	else if( IsPlayerIP_Ban(playerid) == 1)
	{
	    BanEx(playerid, "Ваш IP адрес забанен!");
	}
	else if( IsPlayerSerial_Ban(playerid) == 1)
	{
	    BanEx(playerid, "Ваш сериальный номер забанен!");
	}
	return true;
}

stock IsPlayerSerial_Ban(playerid)
{
	new file = ini_openFile(NICKNAME_BANS_DIR);
	ini_getString(file, GetPlayerSerialID(playerid), PlayerBans[playerid][SerialID]);
	ini_closeFile(file);
	if(PlayerBans[playerid][SerialID] == 1)
	{
	    return true;
	}
	return false;
}

stock IsPlayerNickName_Ban(playerid)
{
	new GetName[30];
	GetPlayerName(playerid, GetName, sizeof( GetName ));
	new file = ini_openFile(NICKNAME_BANS_DIR);
	ini_getString(file, GetName, PlayerBans[playerid][NickName]);
	ini_closeFile(file);
	if(PlayerBans[playerid][NickName] == 1)
	{
	    return true;
	}
	return false;
}

stock IsPlayerIP_Ban(playerid)
{
	new GetIP[30];
	GetPlayerIp(playerid, GetIP, sizeof( GetIP ));
	new file = ini_openFile(IP_BANS_DIR);
	ini_getString(file, GetIP, PlayerBans[playerid][IP]);
	ini_closeFile(file);
	if(PlayerBans[playerid][IP] == 1)
	{
	    return true;
	}
	return false;
}

stock GetPlayerSerialID(playerid)
{
	new serial_id[64];
    gpci(playerid, serial_id, sizeof( serial_id ));
	return serial_id;
}
