Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include DOF2
- // configuração
- #define PASTA_BANIDOS "Banidos/%s.txt"
- forward KickEx(playerid);
- public OnGameModeInit()
- {
- print("\n-------------------------------------------------\n");
- print("Ban System Carregado com sucesso! versão 0.2 By: Pain Nagato");
- print("\n-------------------------------------------------\n");
- return CallLocalFunction("PainNagato_OnGameModeInit", "");
- }
- #if defined _ALS_OnGameModeInit
- #undef OnGameModeInit
- #else
- #define _ALS_OnGameModeInit
- #endif
- #define OnGameModeInit PainNagato_OnGameModeInit
- #if defined PainNagato_OnGameModeInit
- forward PainNagato_OnGameModeInit();
- #endif
- public OnPlayerConnect(playerid)
- {
- return OnPlayerCheckBan(playerid);
- }
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #define OnPlayerConnect PainNagato_OnPlayerConnect
- #if defined PainNagato_OnPlayerConnect
- forward PainNagato_OnPlayerConnect(playerid);
- #endif
- stock SetBanPlayerEx(adminban, banid , days, const reason[]) // banir o player com parametros a mais
- {
- new file[128] , file2[50] , file3[50], a, m , d , h , mi , s;
- getdate(a,m,d);
- gettime(h,mi,s);
- format(file , sizeof(file), PASTA_BANIDOS , GetNameId(banid));
- format(file2, sizeof(file2), "%02d/%02d/%d - %02d:%02d:%02d", d , m , a , h , mi , s);
- format(file3, sizeof(file3), "%s", reason);
- new time = (gettime() + days * 86400);
- DOF2_CreateFile(file);
- DOF2_SetString(file , "Admin" , GetNameId(adminban));
- DOF2_SetString(file , "Banido" , GetNameId(banid));
- DOF2_SetInt(file, "Dias", time);
- DOF2_SetString(file, "Data", file2);
- DOF2_SetString(file, "Motivo", file3);
- DOF2_SaveFile();
- GameTextForPlayer(banid, "~r~BANIDO" , 5000 , 5);
- SetTimerEx("KickEx" , 500 , false , "i" , banid);
- return 1;
- }
- stock SetBanPlayer(banid, days, const reason[]) // banir o player
- {
- new file[128] , file2[50] , file3[50], a, m , d , h , mi , s;
- getdate(a,m,d);
- gettime(h,mi,s);
- format(file , sizeof(file), PASTA_BANIDOS , GetNameId(banid));
- format(file2, sizeof(file2), "%02d/%02d/%d - %02d:%02d:%02d", d , m , a , h , mi , s);
- format(file3, sizeof(file3), "%s", reason);
- new time = (gettime() + days * 86400);
- DOF2_CreateFile(file);
- DOF2_SetString(file , "Admin" , "ADMIN - BOT");
- DOF2_SetString(file , "Banido" , GetNameId(banid));
- DOF2_SetInt(file, "Dias", time);
- DOF2_SetString(file, "Data", file2);
- DOF2_SetString(file, "Motivo", file3);
- DOF2_SaveFile();
- GameTextForPlayer(banid, "~r~BANIDO" , 5000 , 5);
- SetTimerEx("KickEx" , 500 , false , "i" , banid);
- return 1;
- }
- stock GetNameId(playerid)
- {
- new name[MAX_PLAYER_NAME+1];
- GetPlayerName(playerid, name , MAX_PLAYER_NAME+1);
- return name;
- }
- stock ConverterNumeros(n) // by DanDRT
- {
- new dia, hr, mn, seg, resto;
- resto = n;
- seg = resto % 60;
- resto /= 60;
- mn = resto % 60;
- resto /= 60;
- hr = resto % 24;
- resto /= 24;
- dia = resto;
- new str[50];
- format(str, sizeof(str), "%ddias, %02dh %02dm %02ds", dia, hr, mn, seg);
- return str;
- }
- stock OnPlayerCheckBan(playerid) // checar se está banido
- {
- new file[50];
- format(file , sizeof(file), PASTA_BANIDOS , GetNameId(playerid));
- if(DOF2_FileExists(file))
- {
- new AdminBan[25] , Days , Data[50] , Motivo[64] , string[200];
- format(AdminBan, sizeof(AdminBan), DOF2_GetString(file, "Admin"));
- Days = DOF2_GetInt(file , "Dias");
- format(Data, sizeof(Data), DOF2_GetString(file, "Data"));
- format(Motivo, sizeof(Motivo), DOF2_GetString(file, "Motivo"));
- if(gettime() > Days) DOF2_RemoveFile(file);
- else
- {
- format(string, sizeof(string), "{FFFF00}Admin: {FFFFFF}%s\n{FFFF00}Conta Banida: {FFFFFF}%s\n{FFFF00}Dias Restante: {FFFFFF}%s\n{FFFF00}Data: {FFFFFF}%s\n{FFFF00}Motivo: {FFFFFF}%s", AdminBan , GetNameId(playerid), ConverterNumeros(Days - gettime()) , Data , Motivo);
- ShowPlayerDialog(playerid, 9898 , DIALOG_STYLE_MSGBOX , "{FFFFFF}Conta {FF0000}Banida", string , "Fechar" , "");
- SetTimerEx("KickEx", 500 , false , "i" , playerid);
- }
- }
- return 1;
- }
- stock RemoveBanPlayer(const bannick[]) // remover o ban
- {
- new file[50];
- format(file , sizeof(file), PASTA_BANIDOS , bannick);
- if(DOF2_FileExists(file)) DOF2_RemoveFile(file);
- else printf("Essa conta %s não está banida", bannick);
- return 1;
- }
- stock EditBanPlayer(const bannick[] , days , const reason[]) // editar o ban
- {
- new file[50] , file2[50];
- format(file , sizeof(file), PASTA_BANIDOS , bannick);
- if(DOF2_FileExists(file))
- {
- format(file2, sizeof(file2), "%s", reason);
- new time = (gettime() + days * 86400);
- DOF2_SetInt(file, "Dias" , time);
- DOF2_SetString(file, "Motivo" , file2);
- }
- else print("Essa Conta não está banida");
- return 1;
- }
- stock ScheduleBanPlayer(adminban, const bannick[] , days , const reason[]) // agendar ban
- {
- new file[50] , file2[50] , file3[50] , file4[50], a, m , d , h , mi , s;
- format(file , sizeof(file), PASTA_BANIDOS , bannick);
- getdate(a,m,d);
- gettime(h,mi,s);
- if(!DOF2_FileExists(file))
- DOF2_CreateFile(file);
- format(file2, sizeof(file2), "%02d/%02d/%d - %02d:%02d:%02d", d , m , a , h , mi , s);
- format(file3, sizeof(file3), "%s", bannick); // player banido
- format(file4, sizeof(file4), "%s", reason); // motivo
- new time = (gettime() + days * 86400);
- DOF2_CreateFile(file);
- DOF2_SetString(file , "Admin" , GetNameId(adminban));
- DOF2_SetString(file , "Banido" , file3);
- DOF2_SetInt(file, "Dias", time);
- DOF2_SetString(file, "Data", file2);
- DOF2_SetString(file, "Motivo", file4);
- DOF2_SaveFile();
- return 1;
- }
- public KickEx(playerid) return Kick(playerid);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement