daily pastebin goal
89%
SHARE
TWEET

Ban System DOF2 by Pain Nagato

a guest Aug 14th, 2016 154 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <a_samp>
  2. #include DOF2
  3.  
  4. // configuração
  5. #define PASTA_BANIDOS                   "Banidos/%s.txt"
  6.  
  7. forward KickEx(playerid);
  8.  
  9. public OnGameModeInit()
  10. {
  11.                  print("\n-------------------------------------------------\n");
  12.                  print("Ban System Carregado com sucesso! versão 0.2 By: Pain Nagato");
  13.                  print("\n-------------------------------------------------\n");
  14.                  return CallLocalFunction("PainNagato_OnGameModeInit", "");
  15. }
  16.  
  17. #if defined _ALS_OnGameModeInit
  18.     #undef OnGameModeInit
  19. #else
  20.     #define _ALS_OnGameModeInit
  21. #endif
  22. #define OnGameModeInit PainNagato_OnGameModeInit
  23. #if defined PainNagato_OnGameModeInit
  24.     forward PainNagato_OnGameModeInit();
  25. #endif
  26. public OnPlayerConnect(playerid)
  27. {
  28.                 return OnPlayerCheckBan(playerid);
  29. }
  30. #if defined _ALS_OnPlayerConnect
  31.     #undef OnPlayerConnect
  32. #else
  33.     #define _ALS_OnPlayerConnect
  34. #endif
  35. #define OnPlayerConnect PainNagato_OnPlayerConnect
  36. #if defined PainNagato_OnPlayerConnect
  37.     forward PainNagato_OnPlayerConnect(playerid);
  38. #endif
  39.  
  40. stock SetBanPlayerEx(adminban, banid , days, const reason[]) // banir o player com parametros a mais
  41. {
  42.                  new file[128] , file2[50] , file3[50], a, m , d , h , mi , s;
  43.                  getdate(a,m,d);
  44.                  gettime(h,mi,s);
  45.  
  46.                  format(file , sizeof(file), PASTA_BANIDOS , GetNameId(banid));
  47.  
  48.                  format(file2, sizeof(file2), "%02d/%02d/%d - %02d:%02d:%02d", d , m , a , h , mi , s);
  49.                  format(file3, sizeof(file3), "%s", reason);
  50.  
  51.                  new time = (gettime() + days * 86400);
  52.                  DOF2_CreateFile(file);
  53.                  DOF2_SetString(file , "Admin" , GetNameId(adminban));
  54.                  DOF2_SetString(file , "Banido" , GetNameId(banid));
  55.                  DOF2_SetInt(file, "Dias", time);
  56.                  DOF2_SetString(file, "Data", file2);
  57.                  DOF2_SetString(file, "Motivo", file3);
  58.                  DOF2_SaveFile();
  59.                  GameTextForPlayer(banid, "~r~BANIDO" , 5000 , 5);
  60.                  SetTimerEx("KickEx" , 500 , false , "i" , banid);
  61.                  return 1;
  62. }
  63.  
  64. stock SetBanPlayer(banid, days, const reason[]) // banir o player
  65. {
  66.                  new file[128] , file2[50] , file3[50], a, m , d , h , mi , s;
  67.                  getdate(a,m,d);
  68.                  gettime(h,mi,s);
  69.                  format(file , sizeof(file), PASTA_BANIDOS , GetNameId(banid));
  70.                  format(file2, sizeof(file2), "%02d/%02d/%d - %02d:%02d:%02d", d , m , a , h , mi , s);
  71.                  format(file3, sizeof(file3), "%s", reason);
  72.                  new time = (gettime() + days * 86400);
  73.                  DOF2_CreateFile(file);
  74.                  DOF2_SetString(file , "Admin" , "ADMIN - BOT");
  75.                  DOF2_SetString(file , "Banido" , GetNameId(banid));
  76.                  DOF2_SetInt(file, "Dias", time);
  77.                  DOF2_SetString(file, "Data", file2);
  78.                  DOF2_SetString(file, "Motivo", file3);
  79.                  DOF2_SaveFile();
  80.                  GameTextForPlayer(banid, "~r~BANIDO" , 5000 , 5);
  81.                  SetTimerEx("KickEx" , 500 , false , "i" , banid);
  82.                  return 1;
  83. }
  84.  
  85. stock GetNameId(playerid)
  86. {
  87.                  new name[MAX_PLAYER_NAME+1];
  88.                  GetPlayerName(playerid, name , MAX_PLAYER_NAME+1);
  89.                  return name;
  90. }
  91.  
  92. stock ConverterNumeros(n) // by DanDRT
  93. {
  94.                  new dia, hr, mn, seg, resto;
  95.                  resto = n;
  96.                  seg = resto % 60;
  97.                  resto /= 60;
  98.                  mn = resto % 60;
  99.                  resto /= 60;
  100.                  hr = resto % 24;
  101.                  resto /= 24;
  102.                  dia = resto;
  103.                  new str[50];
  104.                  format(str, sizeof(str), "%ddias, %02dh %02dm %02ds", dia, hr, mn, seg);
  105.                  return str;
  106. }
  107.  
  108. stock OnPlayerCheckBan(playerid) // checar se está banido
  109. {
  110.                 new file[50];
  111.                 format(file , sizeof(file), PASTA_BANIDOS , GetNameId(playerid));
  112.  
  113.                 if(DOF2_FileExists(file))
  114.                 {
  115.  
  116.                 new AdminBan[25] , Days , Data[50] , Motivo[64] , string[200];
  117.                 format(AdminBan, sizeof(AdminBan), DOF2_GetString(file, "Admin"));
  118.                 Days = DOF2_GetInt(file , "Dias");
  119.                 format(Data, sizeof(Data), DOF2_GetString(file, "Data"));
  120.                 format(Motivo, sizeof(Motivo), DOF2_GetString(file, "Motivo"));
  121.                 if(gettime() > Days) DOF2_RemoveFile(file);
  122.                 else
  123.                 {
  124.                 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);
  125.                 ShowPlayerDialog(playerid, 9898 , DIALOG_STYLE_MSGBOX , "{FFFFFF}Conta {FF0000}Banida", string , "Fechar" , "");
  126.                 SetTimerEx("KickEx", 500 , false , "i" , playerid);
  127.                 }
  128.                 }
  129.                 return 1;
  130. }
  131.  
  132. stock RemoveBanPlayer(const bannick[]) // remover o ban
  133. {
  134.                new file[50];
  135.                format(file , sizeof(file), PASTA_BANIDOS , bannick);
  136.                if(DOF2_FileExists(file)) DOF2_RemoveFile(file);
  137.                else printf("Essa conta %s não está banida", bannick);
  138.                return 1;
  139. }
  140.  
  141. stock EditBanPlayer(const bannick[] , days , const reason[]) // editar o ban
  142. {
  143.                  new file[50] , file2[50];
  144.                  format(file , sizeof(file), PASTA_BANIDOS , bannick);
  145.                  if(DOF2_FileExists(file))
  146.                  {
  147.                  format(file2, sizeof(file2), "%s", reason);
  148.                  new time = (gettime() + days * 86400);
  149.                  DOF2_SetInt(file, "Dias" , time);
  150.                  DOF2_SetString(file, "Motivo" , file2);
  151.                  }
  152.                  else print("Essa Conta não está banida");
  153.                  return 1;
  154. }
  155.  
  156. stock ScheduleBanPlayer(adminban, const bannick[] , days , const reason[]) // agendar ban
  157. {
  158.                  new file[50] , file2[50] , file3[50] , file4[50], a, m , d , h , mi , s;
  159.                  format(file , sizeof(file), PASTA_BANIDOS , bannick);
  160.                  getdate(a,m,d);
  161.                  gettime(h,mi,s);
  162.                  if(!DOF2_FileExists(file))
  163.                  DOF2_CreateFile(file);
  164.                  format(file2, sizeof(file2), "%02d/%02d/%d - %02d:%02d:%02d", d , m , a , h , mi , s);
  165.                  format(file3, sizeof(file3), "%s", bannick); // player banido
  166.                  format(file4, sizeof(file4), "%s", reason); // motivo
  167.  
  168.                  new time = (gettime() + days * 86400);
  169.                  DOF2_CreateFile(file);
  170.                  DOF2_SetString(file , "Admin" , GetNameId(adminban));
  171.                  DOF2_SetString(file , "Banido" , file3);
  172.                  DOF2_SetInt(file, "Dias", time);
  173.                  DOF2_SetString(file, "Data", file2);
  174.                  DOF2_SetString(file, "Motivo", file4);
  175.                  DOF2_SaveFile();
  176.                  return 1;
  177. }
  178.  
  179. public KickEx(playerid) return Kick(playerid);
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top