Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* *
- * INCLUDES *
- * */
- #include < A_SAMP >
- #include < DOF2 >
- #include < SSCANF2 >
- #define useCmd 1 // 1 = Zcmd 2 = iCmd
- #if useCmd == 1
- #include < ZCMD >
- #else
- #include < iCmd7 >
- #endif
- /* *
- * MACROS *
- * */
- #define isnull(%1) \
- ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
- /* *
- * DIALOGS *
- * */
- #define dialogBan (0)
- /* *
- * CORES *
- * */
- #define corAzul 0x33CCFFAA
- /* *
- * FORWARDS *
- * */
- forward loadBanned(playerid);
- /* *
- * ENUM'S *
- * */
- enum pBanned {
- motivoBanned[40],
- adminBanned[21],
- dataBanned[10],
- horaBanned[10],
- ipBanned[16]
- };
- /* *
- * VARÍAVEIS *
- * */
- new playerBanned[MAX_PLAYERS][pBanned];
- new Segundo, Minuto, Hora, Dia, Mes, Ano;
- /* *
- * STOCKS *
- * */
- stock nomePlayer(playerid) {
- new PlayerName[21];
- GetPlayerName(playerid, PlayerName, 21);
- return PlayerName;
- }
- /* *
- * CALLBACKS *
- * */
- public loadBanned(playerid) {
- new ArquivoOne[64], ArquivoTwo[64], ArquivoThree[64];
- format(ArquivoOne, 64, "Agendados/%s.ini", nomePlayer(playerid));
- if(DOF2::FileExists(ArquivoOne)) {
- strmid(playerBanned[playerid][adminBanned], DOF2::GetString(ArquivoOne, "Admin"), 0, strlen(DOF2::GetString(ArquivoOne, "Admin")), 21);
- strmid(playerBanned[playerid][motivoBanned], DOF2::GetString(ArquivoOne, "Motivo"), 0, strlen(DOF2::GetString(ArquivoOne, "Motivo")), 21);
- strmid(playerBanned[playerid][dataBanned], DOF2::GetString(ArquivoOne, "Data"), 0, strlen(DOF2::GetString(ArquivoOne, "Data")), 21);
- strmid(playerBanned[playerid][horaBanned], DOF2::GetString(ArquivoOne, "Hora"), 0, strlen(DOF2::GetString(ArquivoOne, "Hora")), 21);
- }
- format(ArquivoTwo, 64, "iPsBanidos/%s.ini", nomePlayer(playerid));
- if(DOF2::FileExists(ArquivoTwo)) {
- strmid(playerBanned[playerid][adminBanned], DOF2::GetString(ArquivoTwo, "Admin"), 0, strlen(DOF2::GetString(ArquivoTwo, "Admin")), 21);
- strmid(playerBanned[playerid][motivoBanned], DOF2::GetString(ArquivoTwo, "Motivo"), 0, strlen(DOF2::GetString(ArquivoTwo, "Motivo")), 21);
- strmid(playerBanned[playerid][dataBanned], DOF2::GetString(ArquivoTwo, "Data"), 0, strlen(DOF2::GetString(ArquivoTwo, "Data")), 21);
- strmid(playerBanned[playerid][horaBanned], DOF2::GetString(ArquivoTwo, "Hora"), 0, strlen(DOF2::GetString(ArquivoTwo, "Hora")), 21);
- }
- format(ArquivoThree, 64, "Banidos/%s.ini", nomePlayer(playerid));
- if(DOF2::FileExists(ArquivoThree)) {
- strmid(playerBanned[playerid][adminBanned], DOF2::GetString(ArquivoThree, "Admin"), 0, strlen(DOF2::GetString(ArquivoThree, "Admin")), 21);
- strmid(playerBanned[playerid][motivoBanned], DOF2::GetString(ArquivoThree, "Motivo"), 0, strlen(DOF2::GetString(ArquivoThree, "Motivo")), 21);
- strmid(playerBanned[playerid][dataBanned], DOF2::GetString(ArquivoThree, "Data"), 0, strlen(DOF2::GetString(ArquivoThree, "Data")), 21);
- strmid(playerBanned[playerid][horaBanned], DOF2::GetString(ArquivoThree, "Hora"), 0, strlen(DOF2::GetString(ArquivoThree, "Hora")), 21);
- }
- return true;
- }
- public OnFilterScriptInit () {
- return true;
- }
- public OnFilterScriptExit () {
- DOF2::Exit();
- return true;
- }
- forward checkBan(playerid);
- public checkBan(playerid) {
- new String[250], ArquivoOne[64], ArquivoTwo[64], ArquivoThree[64], getIP[16];
- format(ArquivoOne, 64, "Agendados/%s.ini", nomePlayer(playerid));
- if(DOF2::FileExists(ArquivoOne)) {
- format(String, 250, "Você está banido do Servidor\n\n\nAdmin: %s\n\nMotivo: %s\n\nConta: %s\n\nData: %s\n\nHorário: %s\n\n\nPara revisões vá até o fórum", playerBanned[playerid][adminBanned], playerBanned[playerid][motivoBanned], nomePlayer(playerid), playerBanned[playerid][dataBanned], playerBanned[playerid][horaBanned]);
- ShowPlayerDialog(playerid, dialogBan, DIALOG_STYLE_MSGBOX, "Banido", String, "Fechar", "");
- }
- format(ArquivoTwo, 64, "Banidos/%s.ini", nomePlayer(playerid));
- if(DOF2::FileExists(ArquivoTwo)) {
- format(String, 250, "Você está banido do Servidor\n\n\nAdmin: %s\n\nMotivo: %s\n\nConta: %s\n\nIP: %s\n\nData: %s\n\nHorário: %s\n\n\nPara revisões vá até o fórum", playerBanned[playerid][adminBanned], playerBanned[playerid][motivoBanned], nomePlayer(playerid), playerBanned[playerid][ipBanned], playerBanned[playerid][dataBanned], playerBanned[playerid][horaBanned]);
- ShowPlayerDialog(playerid, dialogBan, DIALOG_STYLE_MSGBOX, "Banido", String, "Fechar", "");
- }
- GetPlayerIp(playerid, getIP, 16);
- format(ArquivoThree, 64, "iPsBanidos/%s.ini", getIP);
- if(DOF2::FileExists(ArquivoThree)) {
- format(String, 250, "Você está banido do Servidor\n\n\nAdmin: %s\n\nMotivo: %s\n\nConta: %s\n\nIP: %s\n\nData: %s\n\nHorário: %s\n\n\nPara revisões vá até o fórum", playerBanned[playerid][adminBanned], playerBanned[playerid][motivoBanned], nomePlayer(playerid), getIP, playerBanned[playerid][dataBanned], playerBanned[playerid][horaBanned]);
- ShowPlayerDialog(playerid, dialogBan, DIALOG_STYLE_MSGBOX, "Banido", String, "Fechar", "");
- }
- return true;
- }
- public OnPlayerConnect(playerid) {
- loadBanned(playerid);
- SetTimerEx("checkBan", 5000, true, "i", playerid);
- SendClientMessage(playerid, -1, "Aguarde 5 Segundos...");
- return true;
- }
- #if useCmd == 1
- command(banir, playerid, params[]) {
- new idBan, getIP[16], motivBanned[50], ArquivoOne[64], ArquivoTwo[64], formatHora[15], formatData[15];
- if(sscanf(params, "us[50]", idBan, motivBanned))
- return SendClientMessage(playerid, -1, "[ USE ]: /agendarban [ID] [Motivo]");
- getdate(Ano, Mes, Dia);
- gettime(Hora, Minuto, Segundo);
- GetPlayerIp(idBan, getIP, 16);
- format(formatData, 15, "%d/%d/%d", Dia, Mes, Ano);
- format(formatHora, 15, "%d:%d:%d", Hora, Minuto, Segundo);
- format(ArquivoOne, 64, "Banidos/%s.ini", nomePlayer(idBan));
- DOF2::CreateFile(ArquivoOne);
- DOF2::SetString(ArquivoOne, "Admin", nomePlayer(playerid));
- DOF2::SetString(ArquivoOne, "Motivo", motivBanned);
- DOF2::SetString(ArquivoOne, "Data", formatData);
- DOF2::SetString(ArquivoOne, "Hora", formatHora);
- DOF2::SetString(ArquivoOne, "IP", getIP);
- DOF2::SaveFile();
- format(ArquivoTwo, 64, "iPsBanidos/%s.ini", getIP);
- DOF2::CreateFile(ArquivoTwo);
- DOF2::SetString(ArquivoTwo, "Nick", nomePlayer(idBan));
- DOF2::SetString(ArquivoTwo, "Admin", nomePlayer(playerid));
- DOF2::SetString(ArquivoTwo, "Motivo", motivBanned);
- DOF2::SetString(ArquivoTwo, "Data", formatData);
- DOF2::SetString(ArquivoTwo, "Hora", formatHora);
- DOF2::SaveFile();
- return true ;
- }
- command(agendarban, playerid, params[]) {
- new nicBanned[21], motivBanned[50], ArquivoOne[64], ArquivoTwo[64], formatHora[15], formatData[15];
- if(sscanf(params, "s[21]s[50]", nicBanned, motivBanned))
- return SendClientMessage(playerid, -1, "[ USE ]: /agendarban [Nick] [Motivo]");
- format(ArquivoOne, 64, "Users/%s.ini", nicBanned);
- if(!DOF2::FileExists(ArquivoOne))
- return SendClientMessage(playerid, -1, "[ ERRO ]: Este nick não está registrado!");
- getdate(Ano, Mes, Dia);
- gettime(Hora, Minuto, Segundo);
- format(formatData, 15, "%d/%d/%d", Dia, Mes, Ano);
- format(formatHora, 15, "%d:%d:%d", Hora, Minuto, Segundo);
- format(ArquivoTwo, 64, "Agendados/%s.ini", nicBanned);
- if(!DOF2::FileExists(ArquivoTwo)) {
- DOF2::CreateFile(ArquivoTwo);
- DOF2::SetString(ArquivoTwo, "Admin", nomePlayer(playerid));
- DOF2::SetString(ArquivoTwo, "Motivo", motivBanned);
- DOF2::SetString(ArquivoTwo, "Data", formatData);
- DOF2::SetString(ArquivoTwo, "Hora", formatHora);
- DOF2::SaveFile();
- }
- else return SendClientMessage(playerid, -1, "[ ERRO ]: Este nick já foi agendado!");
- return true;
- }
- command(retiraragendaban, playerid, params[]) {
- new nicBanned[21], ArquivoOne[64], ArquivoTwo[64], String[128];
- if(sscanf(params, "s[21]s[50]", nicBanned))
- return SendClientMessage(playerid, -1, "[ USE ]: /retirarAgendaBan [Nick]");
- format(ArquivoOne, 64, "Users/%s.ini", nicBanned);
- if(!DOF2::FileExists(ArquivoOne))
- return SendClientMessage(playerid, -1, "[ ERRO ]: Este nick não está registrado!");
- format(ArquivoTwo, 64, "Agendados/%s.ini", nicBanned);
- if(DOF2::FileExists(ArquivoTwo)) {
- DOF2::RemoveFile(ArquivoTwo);
- format(String, 128, "Admin %s retirou o agendaBan de %s", nomePlayer(playerid), nicBanned);
- SendClientMessageToAll(-1, String);
- }
- else return SendClientMessage(playerid, -1, "[ ERRO ]: Este nick não está agendado!");
- return true;
- }
- command(desbanirnick, playerid, params[]) {
- new nick[21];
- if(sscanf(params, "s[21]", nick))
- return SendClientMessage(playerid, -1, "[ USE ]: /desbanirnick (Nick)");
- new ArquivoOne[64], String[128];
- format(ArquivoOne, 64, "Banidos/%s.ini", nick);
- if(DOF2::FileExists(ArquivoOne)) {
- DOF2::RemoveFile(ArquivoOne);
- format(String, 128, "Admin %s desbaniu Nick: %s", nomePlayer(playerid), nick);
- SendClientMessageToAll(-1, String);
- }
- else return SendClientMessage(playerid, -1, "[ ERRO ]: Este nick não está banido");
- return true ;
- }
- command(desbanirip, playerid, params[]) {
- new ipBan[21];
- if(sscanf(params, "s[21]", ipBan))
- return SendClientMessage(playerid, -1, "[ USE ]: /desbanirip (IP)");
- new ArquivoOne[64], String[128];
- format(ArquivoOne, 64, "iPsBanidos/%s.ini", ipBan);
- if(DOF2::FileExists(ArquivoOne)) {
- DOF2::RemoveFile(ArquivoOne);
- format(String, 128, "Admin %s desbaniu o IP: %s", nomePlayer(playerid), ipBan);
- SendClientMessageToAll(-1, String);
- }
- else return SendClientMessage(playerid, -1, "[ ERRO ]: Este IP não está banido");
- return true ;
- }
- #else
- public OnPlayerCommandText(playerid, commandid, params[]) {
- switch(commandid) {
- case iscmd ("a,g,e,n,d,a,r,b,a,n") : {
- new nicBanned[21], motivBanned[50], ArquivoOne[64], ArquivoTwo[64], formatHora[15], formatData[15];
- if(sscanf(params, "s[21]s[50]", nicBanned, motivBanned))
- return SendClientMessage(playerid, -1, "[ USE ]: /agendarban [Nick] [Motivo]");
- format(ArquivoOne, 64, "Users/%s.ini", nicBanned);
- if(!DOF2::FileExists(ArquivoOne))
- return SendClientMessage(playerid, -1, "[ ERRO ]: Este nick não está registrado!");
- getdate(Ano, Mes, Dia);
- gettime(Hora, Minuto, Segundo);
- format(formatData, 15, "%d/%d/%d", Dia, Mes, Ano);
- format(formatHora, 15, "%d:%d:%d", Hora, Minuto, Segundo);
- format(ArquivoTwo, 64, "Agendados/%s.ini", nicBanned);
- if(!DOF2::FileExists(ArquivoTwo)) {
- DOF2::CreateFile(ArquivoTwo);
- DOF2::SetString(ArquivoTwo, "Admin", nomePlayer(playerid));
- DOF2::SetString(ArquivoTwo, "Motivo", motivBanned);
- DOF2::SetString(ArquivoTwo, "Data", formatData);
- DOF2::SetString(ArquivoTwo, "Hora", formatHora);
- DOF2::SaveFile();
- }
- else return SendClientMessage(playerid, -1, "[ ERRO ]: Este nick já foi agendado!");
- }
- case iscmd("r,e,t,i,r,a,r,a,g,e,n,d,a,b,a,n"): {
- new ArquivoOne[64], ArquivoTwo[64], String[128];
- if(isnull(params))
- return SendClientMessage(playerid, -1, "[ USE ]: /retirarAgendaBan [Nick]");
- format(ArquivoOne, 64, "Users/%s.ini", params);
- if(!DOF2::FileExists(ArquivoOne))
- return SendClientMessage(playerid, -1, "[ ERRO ]: Este nick não está registrado!");
- format(ArquivoTwo, 64, "Agendados/%s.ini", params);
- if(DOF2::FileExists(ArquivoTwo)) {
- DOF2::RemoveFile(ArquivoTwo);
- format(String, 128, "Admin %s retirou o agendaBan de %s", nomePlayer(playerid), params);
- SendClientMessageToAll(-1, String);
- }
- else return SendClientMessage(playerid, -1, "[ ERRO ]: Este nick não está agendado!");
- }
- case iscmd("d,e,s,b,a,n,i,r,n,i,c,k"): {
- new nick[21];
- if(sscanf(params, "s[21]", nick))
- return SendClientMessage(playerid, -1, "[ USE ]: /desbanirnick (Nick)");
- new ArquivoOne[64], String[128];
- format(ArquivoOne, 64, "Banidos/%s.ini", nick);
- if(DOF2::FileExists(ArquivoOne)) {
- DOF2::RemoveFile(ArquivoOne);
- format(String, 128, "Admin %s desbaniu Nick: %s", nomePlayer(playerid), nick);
- SendClientMessageToAll(-1, String);
- }
- else{ SendClientMessage(playerid, -1, "[ ERRO ]: Este nick não está banido"); return true; }
- return true ;
- }
- case iscmd("d,e,s,b,a,n,i,r,i,p"): {
- new ipBan[21];
- if(sscanf(params, "s[21]", ipBan))
- return SendClientMessage(playerid, -1, "[ USE ]: /desbanirip (IP)");
- new ArquivoOne[64], String[128];
- format(ArquivoOne, 64, "iPsBanidos/%s.ini", ipBan);
- if(DOF2::FileExists(ArquivoOne)) {
- DOF2::RemoveFile(ArquivoOne);
- format(String, 128, "Admin %s desbaniu o IP: %s", nomePlayer(playerid), ipBan);
- SendClientMessageToAll(-1, String);
- }
- else return SendClientMessage(playerid, -1, "[ ERRO ]: Este IP não está banido");
- return true ;
- }
- case iscmd("b,a,n,i,r"): {
- new nicBanned[21], idBan, getIP[16], motivBanned[50], ArquivoOne[64], ArquivoTwo[64], formatHora[15], formatData[15];
- if(sscanf(params, "us[50]", idBan, motivBanned))
- return SendClientMessage(playerid, -1, "[ USE ]: /agendarban [ID] [Motivo]");
- getdate(Ano, Mes, Dia);
- gettime(Hora, Minuto, Segundo);
- GetPlayerIp(idBan, getIP, 16);
- format(formatData, 15, "%d/%d/%d", Dia, Mes, Ano);
- format(formatHora, 15, "%d:%d:%d", Hora, Minuto, Segundo);
- format(ArquivoOne, 64, "Banidos/%s.ini", nomePlayer(idBan));
- DOF2::CreateFile(ArquivoOne);
- DOF2::SetString(ArquivoOne, "Admin", nomePlayer(playerid));
- DOF2::SetString(ArquivoOne, "Motivo", motivBanned);
- DOF2::SetString(ArquivoOne, "Data", formatData);
- DOF2::SetString(ArquivoOne, "Hora", formatHora);
- DOF2::SetString(ArquivoOne, "IP", getIP);
- DOF2::SaveFile();
- format(ArquivoTwo, 64, "iPsBanidos/%s.ini", getIP);
- DOF2::CreateFile(ArquivoTwo);
- DOF2::SetString(ArquivoTwo, "Nick", nomePlayer(idBan));
- DOF2::SetString(ArquivoTwo, "Admin", nomePlayer(playerid));
- DOF2::SetString(ArquivoTwo, "Motivo", motivBanned);
- DOF2::SetString(ArquivoTwo, "Data", formatData);
- DOF2::SetString(ArquivoTwo, "Hora", formatHora);
- DOF2::SaveFile();
- return true ;
- }
- }
- return false;
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement