Advertisement
Guest User

Ban System DOF2 by Pain Nagato

a guest
Aug 14th, 2016
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.79 KB | None | 0 0
  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);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement