Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //====[Includes]====//
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #include <DOF2>
- #include <Losgs>
- //====[Defines]====//
- //Dialog
- #define DialogBan 1 //Troque o numero "1" para não dar conflito com dialogs do GM
- //Cores
- #define C_CINZA 0xBEBEBEFF
- #define C_VERMELHO 0xFF0000FF
- #define C_VERDE 0x00FF00FF
- //Mensagem Formatada
- #define SendFormatMessage(%0,%1,%2,%3) format(String, sizeof(String),%2,%3) && SendClientMessage(%0, %1, String)
- #define SendFormatMessageToAll(%1,%2,%3) format(String, sizeof(String),%2,%3) && SendClientMessageToAll(%1, String)
- //Kick
- #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0) //by paulor
- //====[Defines]====//
- new String[256];
- new Data[20], Tempo[20];
- new Hora, Minuto, Segundo;
- new Dia, Mes, Ano;
- //====[Stocks]====//
- stock PegarNome(playerid)
- {
- static name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- stock PegarIP(playerid)
- {
- new ip[15];
- GetPlayerIp(playerid, ip, sizeof(ip));
- return ip;
- }
- stock kBan(playerid, motivo[])
- {
- new arquivo[50];
- getdate(Ano, Mes, Dia);
- format(Data, 20, "%d/%d/%d", Dia, Mes, Ano);
- gettime(Hora, Minuto, Segundo);
- format(Tempo, 20, "%d:%d:%d", Hora, Minuto, Segundo);
- format(arquivo, sizeof(arquivo), "Banidos/%s.ini", PegarNome(playerid));
- DOF2_CreateFile(arquivo);
- DOF2_SetString(arquivo, "Admin", PegarNome(playerid));
- DOF2_SetString(arquivo, "Data", Data);
- DOF2_SetString(arquivo, "Horario", Tempo);
- DOF2_SetString(arquivo, "Motivo", motivo);
- DOF2_SaveFile();
- return 1;
- }
- stock kBanIP(playerid)
- {
- new arquivo[30];
- getdate(Ano, Mes, Dia);
- format(Data, 20, "%d/%d/%d", Dia, Mes, Ano);
- gettime(Hora, Minuto, Segundo);
- format(Tempo, 20, "%d:%d:%d", Hora, Minuto, Segundo);
- format(arquivo, sizeof(arquivo), "IPs Banidos/%s.ini", PegarIP(playerid));
- DOF2_CreateFile(arquivo);
- DOF2_SetString(arquivo, "Nome", PegarNome(playerid));
- DOF2_SetString(arquivo, "Data", Data);
- DOF2_SetString(arquivo, "Horario", Tempo);
- DOF2_SaveFile();
- return 1;
- }
- //====[Publics]====//
- forward Kicka(p);
- public Kicka(p)
- {
- #undef Kick
- Kick(p);
- #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
- return 1;
- }
- public OnFilterScriptInit()
- {
- print("\n=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=");
- print("Sistema de Ban Ativado!");
- print("by MatheusKirTz");
- print("=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- DOF2_Exit();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- format(String, sizeof(String), "Banidos/%s.ini", PegarNome(playerid));
- if(DOF2_FileExists(String))
- {
- format(String, sizeof(String), "{FFFFFF}Você foi {FF0000}banido\nAdmin: {FFFFFF}%s\n{FF0000}Motivo: {FFFFFF}%s\n{FF0000}Dia: {FFFFFF}%s\n{FF0000}Horario: {FFFFFF}%s\n{FF0000}Tire SS para revisão no Forum!", DOF2_GetString(String, "Admin"), DOF2_GetString(String, "Motivo"), DOF2_GetString(String, "Data"), DOF2_GetString(String, "Horario"));
- ShowPlayerDialog(playerid, DialogBan, DIALOG_STYLE_MSGBOX, "{FF0000}Banimento", String, "Sair", "");
- Kick(playerid);
- return 1;
- }
- format(String, sizeof(String), "IPs Banidos/%s.ini", PegarIP(playerid));
- if(DOF2_FileExists(String))
- {
- SendFormatMessage(playerid, C_VERMELHO, "O IP: {FFFFFF}%s {FF0000}está banido do servidor!", PegarIP(playerid));
- Kick(playerid);
- return 1;
- }
- return 1;
- }
- CMD:ban(playerid, params[])
- {
- new id, Motivo[100];
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, C_VERMELHO, "[Erro] {FFFFFF}Você não pode usar esse comando!");
- if(sscanf(params, "us[100]", id, Motivo)) return SendClientMessage(playerid, C_CINZA, "USE: /ban [ID] [Motivo]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, C_CINZA, "Esse jogador não esta conectado!");
- SendFormatMessageToAll(C_VERMELHO, "[Ban] O Admin {FFFFFF}%s{FF0000} baniu {FFFFFF}%s{FF0000}. Motivo: {FFFFFF}%s", PegarNome(playerid), PegarNome(id), Motivo);
- kBan(id, Motivo);
- kBanIP(id);
- Kick(id);
- //Log
- new Log [ ] = "Logs/Ban.log";
- format(String ,sizeof(String),"O administrador %s baniu: %s. Motivo: %s", PegarNome(playerid), PegarNome(id), Motivo);
- WriteLog(Log, String);
- return 1;
- }
- CMD:desban(playerid, params[])
- {
- new Conta[20];
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, C_VERMELHO, "[Erro] {FFFFFF}Você não pode usar esse comando!");
- if(sscanf(params, "s[20]", Conta)) return SendClientMessage(playerid, C_CINZA, "USE: /desban [Conta]");
- format(String, sizeof(String), "Banidos/%s.ini", Conta);
- if(DOF2_FileExists(String))
- {
- DOF2_RemoveFile(String);
- SendFormatMessage(playerid, C_VERDE, "Você desbaniu a conta de {FFFFFF}%s", Conta);
- //Log
- new Log [ ] = "Logs/Desban.log";
- format(String ,sizeof(String),"O administrador %s desbaniu a conta: %s", PegarNome(playerid), Conta);
- WriteLog(Log, String);
- return 1;
- }
- else SendClientMessage(playerid, C_VERMELHO, "Essa conta não existe ou não está banida");
- return 1;
- }
- CMD:desbanip(playerid, params[])
- {
- new IPBanido[20];
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, C_CINZA, "[Erro] Você não pode usar esse comando!");
- if(sscanf(params, "s[20]", IPBanido)) return SendClientMessage(playerid, C_CINZA, "USE: /desbanip [IP]");
- format(String, sizeof(String), "IPs Banidos/%s.ini", IPBanido);
- if(DOF2_FileExists(String))
- {
- DOF2_RemoveFile(String);
- SendFormatMessage(playerid, C_VERDE, "Você desbaniu o IP {FFFFFF}%s", IPBanido);
- //Log
- new Log [ ] = "Logs/DesbanIP.log";
- format(String ,sizeof(String),"O administrador %s desbaniu o IP: %s", PegarNome(playerid), IPBanido);
- WriteLog(Log, String);
- return 1;
- }
- else SendClientMessage(playerid, C_VERMELHO, "Esse IP não existe ou não está banido");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement