Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include a_samp
- #include a_mysql
- #define MY_SERVER "127.0.0.1"
- #define MY_DATABASE "server_samp"
- #define MY_USER "root"
- #define MY_PASSWORD ""
- #define INTERVALO_TIMER 10 // minutos
- new
- MySqlConnection,
- TimerPlayer[MAX_PLAYERS],
- String[200],
- Cache: Resultado
- ;
- public OnFilterScriptInit()
- {
- MySqlConnection = mysql_connect(MY_SERVER, MY_USER, MY_DATABASE, MY_PASSWORD);
- mysql_query(MySqlConnection, "CREATE TABLE IF NOT EXISTS `whitelist` (`ID` INT(10) PRIMARY KEY AUTO_INCREMENT, `IP` VARCHAR(20), `TIME` DATETIME)");
- mysql_query(MySqlConnection, "CREATE TABLE IF NOT EXISTS `blacklist` (`ID` INT(10) PRIMARY KEY AUTO_INCREMENT, `IP` VARCHAR(20))");
- return true;
- }
- public OnPlayerConnect(playerid)
- {
- mysql_format(MySqlConnection, String, sizeof String, "SELECT `IP` FROM `blacklist` WHERE `IP` = '%s'", gip(playerid));
- Resultado = mysql_query(MySqlConnection, String);
- if(cache_num_rows())
- {
- SendClientMessage(playerid, -1, "Você está proibido de entrar neste servidor por ter cometido uma infração.");
- KickEx(playerid);
- return false;
- }
- cache_delete(Resultado);
- mysql_format(MySqlConnection, String, sizeof String, "SELECT `IP` FROM `whitelist` WHERE `IP` = '%s'", gip(playerid));
- Resultado = mysql_query(MySqlConnection, String);
- if(!cache_num_rows())
- {
- SendClientMessage(playerid, -1, "Você precisa abrir o Launcher deste servidor para poder jogar.");
- KickEx(playerid);
- return false;
- }
- cache_delete(Resultado);
- return true;
- }
- public OnPlayerSpawn(playerid)
- {
- TimerPlayer[playerid] = SetTimerEx("DateTime", INTERVALO_TIMER * 60 * 1000, true, "d", playerid);
- return true;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- KillTimer(TimerPlayer[playerid]);
- mysql_format(MySqlConnection, String, sizeof String, "DELETE FROM `whitelist` WHERE `IP` = '%s'", gip(playerid));
- mysql_query(MySqlConnection, String);
- return true;
- }
- public OnFilterScriptExit()
- {
- mysql_close(MySqlConnection);
- return true;
- }
- forward DateTime(playerid);
- public DateTime(playerid)
- {
- mysql_query(MySqlConnection, "DELETE FROM `whitelist` WHERE `TIME` < NOW()");
- mysql_format(MySqlConnection, String, sizeof String, "SELECT `IP` FROM `whitelist` WHERE `IP` = '%s'", gip(playerid));
- Resultado = mysql_query(MySqlConnection, String);
- if(!cache_num_rows())
- {
- if(IsPlayerConnected(playerid))
- {
- Kick(playerid);
- }
- }
- cache_delete(Resultado);
- return true;
- }
- gip(playerid)
- {
- new pip[16];
- GetPlayerIp(playerid, pip, 16);
- return pip;
- }
- stock KickEx(playerid)
- {
- SetTimerEx("KickEx_", 200, false, "d", playerid);
- }
- forward KickEx_(playerid);
- public KickEx_(playerid) return Kick(playerid);
Advertisement
Add Comment
Please, Sign In to add comment