Advertisement
White_Blue

Untitled

Jul 15th, 2022 (edited)
836
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.64 KB | None | 0 0
  1. /*==========FILTERSCRIPT POR WHITE_BLUE, NÃO RETIRE OS CRÉDITOS!===========*/
  2.  
  3. // Includes
  4. #include <a_samp>
  5. #include <DOF2>
  6. #include <sscanf2>
  7. #include <Pawn.CMD>
  8. #include <foreach>
  9.  
  10. // Pastas
  11. #define PASTA_VIPS "/Vips/%s.ini"
  12. #define PASTA_PREMIUM "/Premium/%s.ini"
  13. #define PASTA_CONTAS "/Contas/%s.ini" // Troque para a pasta onde você armazena os arquivos das contas dos players se for preciso.
  14.  
  15. // Cores
  16. #define Vermelho 0xFF0000AA
  17. #define VerdeClaro 0x00FF00AA
  18. #define Verde 0x2EFE2EAA
  19.  
  20. // Dialogs
  21. #define Dialog 0
  22.  
  23.  
  24.  
  25. // Variáveis
  26. new vip[MAX_PLAYERS];
  27. new godmod[MAX_PLAYERS];
  28. new godcar[MAX_PLAYERS];
  29.  
  30. stock SetPlayerVIP(playerid, days)
  31. {
  32.     if(IsPlayerConnected(playerid))
  33.     {
  34.         new VIPS[128], ACCS[128], STRV[128];
  35.  
  36.         new year, month, day;
  37.         getdate(year, month, day);
  38.  
  39.         format(VIPS, sizeof(VIPS), PASTA_VIPS, GetPlayerNameEx(playerid));
  40.         if(!DOF2_FileExists(VIPS))
  41.         {
  42.             DOF2_CreateFile(VIPS);
  43.         }
  44.         DOF2_SetInt(VIPS, "Dias", DOF2_GetInt(VIPS, "Dias")+days);
  45.         format(STRV, sizeof(STRV), "%d/%d/%d", day, month, year);
  46.         DOF2_SetString(VIPS, "DataSet", STRV);
  47.  
  48.         format(ACCS, sizeof(ACCS), PASTA_CONTAS, GetPlayerNameEx(playerid));
  49.         DOF2_SetInt(ACCS, "VIP", 1);
  50.         vip[playerid] = 1;
  51.     }
  52.     return 1;
  53. }
  54.  
  55. stock UnsetPlayerVIP(playerid) {
  56.     new VIPS[64], ACCS[64];
  57.     format(VIPS, sizeof(VIPS), PASTA_VIPS, GetPlayerNameEx(playerid));
  58.     if(DOF2_FileExists(VIPS)) DOF2_RemoveFile(VIPS);
  59.  
  60.     format(ACCS, sizeof(ACCS), PASTA_CONTAS, GetPlayerNameEx(playerid));
  61.     DOF2_SetInt(ACCS, "VIP", 0);
  62.     vip[playerid] = 0;
  63.     return 1;
  64. }
  65.  
  66. stock CheckPlayerVIP(playerid) {
  67.     new VIPS[128], ACCS[128], STRV[128];
  68.     new year, month, day;
  69.     getdate(year, month, day);
  70.     format(ACCS, sizeof(ACCS), PASTA_CONTAS, GetPlayerNameEx(playerid));
  71.     if(DOF2_FileExists(ACCS)) {
  72.         format(VIPS, sizeof(VIPS), PASTA_VIPS, GetPlayerNameEx(playerid));
  73.         if(DOF2_FileExists(VIPS)) {
  74.             format(STRV, sizeof(STRV), "%d/%d/%d", day, month, year);
  75.             if(strcmp(DOF2_GetString(VIPS, "DataSet"), STRV, true) != 0) {
  76.                 DOF2_SetString(VIPS, "DataSet", STRV);
  77.                 DOF2_SetInt(VIPS, "Dias", DOF2_GetInt(VIPS, "Dias")-1);
  78.             } else if(DOF2_GetInt(VIPS, "Dias") > 0) {
  79.                 DOF2_SetInt(ACCS, "VIP", 1);
  80.                 vip[playerid] = 1;
  81.                 SendClientMessage(playerid, -1, "Você ganhou ou comprou VIP.");
  82.             } else UnsetPlayerVIP(playerid);
  83.         } else {
  84.             DOF2_SetInt(ACCS, "VIP", 0);
  85.             vip[playerid] = 0;
  86.         }
  87.     }
  88.     return 1;
  89. }
  90.  
  91. stock GetVIPDays(playerid) {
  92.     new VIPS[64];
  93.     format(VIPS, sizeof(VIPS), PASTA_VIPS, GetPlayerNameEx(playerid));
  94.     if(DOF2_FileExists(VIPS)) return DOF2_GetInt(VIPS, "Dias");
  95.     return 0;
  96. }
  97.  
  98. IsPlayerVIP(playerid) return vip[playerid];
  99.  
  100. CMD:setarvip(playerid, params[]) {
  101.     if(!IsPlayerAdmin(playerid)) return 1;
  102.     new plid, dias;
  103.     if(sscanf(params, "ud", plid, dias)) return SendClientMessage(playerid, 0x008040AA, "Use: /setarvip [id] [quantidade-de-dias]");
  104.     if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, Vermelho, "Valor inválido, tente novamente!");
  105.     if(IsPlayerVIP(plid) == 2) return SendClientMessage(playerid, Vermelho, "Retire o VIP deste player primeiro!");
  106.     UnsetPlayerVIP(plid);
  107.     SetPlayerVIP(plid, dias);
  108.  
  109.     new string[128];
  110.     format(string, sizeof(string), "O(A) Administrador %s[%d] te deu %d dia(s) de VIP!", GetPlayerNameEx(playerid), playerid, dias);
  111.     SendClientMessage(plid, Verde, string);
  112.     SendClientMessage(playerid, Verde, "VIP setado com sucesso!");
  113.     return 1;
  114. }
  115.  
  116. CMD:tirarvip(playerid,params[]) {
  117.     if(!IsPlayerAdmin(playerid)) return 1;
  118.     new plid;
  119.     if(sscanf(params, "u", plid)) return SendClientMessage(playerid, 0x008040AA, "Use: /tirarvip [id]");
  120.     if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, Vermelho, "Valor inválido, tente novamente!");
  121.  
  122.     UnsetPlayerVIP(plid);
  123.  
  124.     new string[128];
  125.     format(string, sizeof(string), "O(A) Administrador %s[%d] retirou seu VIP.", GetPlayerNameEx(playerid), playerid);
  126.     SendClientMessage(plid, Verde, string);
  127.     SendClientMessage(playerid, Verde, "VIP retirado com sucesso!");
  128.     return 1;
  129. }
  130.  
  131. CMD:vips(playerid)
  132. {
  133.     new str[1000], cont, string[90];
  134.     foreach(Player, i)
  135.     {
  136.         if(vip[i] == 0) continue;
  137.         format(string, sizeof(string), "{FFFFFF}%s  ", GetPlayerNameEx(i));
  138.  
  139.         if(vip[i] == 1) strcat(string, "{FFFF00}[VIP]\n");
  140.         else if(vip[i] == 2) strcat(string, "{FF0000}[VIP PRO]\n");
  141.         strcat(str, string);
  142.         cont++;
  143.     }
  144.     if(!cont) ShowPlayerDialog(playerid, Dialog, DIALOG_STYLE_MSGBOX, "{FFFFFF}VIPS Online", "{FFFFFF}Nenhum VIP está online no momento.", "OK", "");
  145.     else ShowPlayerDialog(playerid, Dialog, DIALOG_STYLE_MSGBOX, "{FF0000}Jogadores VIPS", str, "OK", "");
  146.     return 1;
  147. }
  148.  
  149. stock SetPlayerPremium(playerid, days) {
  150.     new PREMIUM[64], ACCS[64], STRV[64];
  151.  
  152.     new year, month, day;
  153.     getdate(year, month, day);
  154.  
  155.     format(PREMIUM, sizeof(PREMIUM), PASTA_PREMIUM, GetPlayerNameEx(playerid));
  156.     if(!DOF2_FileExists(PREMIUM)) DOF2_CreateFile(PREMIUM);
  157.  
  158.     DOF2_SetInt(PREMIUM, "Dias", DOF2_GetInt(PREMIUM, "Dias")+days);
  159.     format(STRV, sizeof(STRV), "%d/%d/%d", day, month, year);
  160.     DOF2_SetString(PREMIUM, "DataSet", STRV);
  161.  
  162.     format(ACCS, sizeof(ACCS), PASTA_CONTAS, GetPlayerNameEx(playerid));
  163.     DOF2_SetInt(ACCS, "UsouConce", 0);
  164.     DOF2_SetInt(ACCS, "VIP", 2);
  165.     vip[playerid] = 2;
  166.     return 1;
  167. }
  168.  
  169. stock UnsetPlayerPremium(playerid) {
  170.     new PREMIUM[64], ACCS[64];
  171.     format(PREMIUM, sizeof(PREMIUM), PASTA_PREMIUM, GetPlayerNameEx(playerid));
  172.     if(DOF2_FileExists(PREMIUM)) DOF2_RemoveFile(PREMIUM);
  173.  
  174.     format(ACCS, sizeof(ACCS), PASTA_CONTAS, GetPlayerNameEx(playerid));
  175.     DOF2_SetInt(ACCS, "VIP", 0);
  176.     vip[playerid] = 0;
  177.     return 1;
  178. }
  179.  
  180. stock CheckPlayerPremium(playerid) {
  181.     new PREMIUM[128], ACCS[128], STRV[128];
  182.     new year, month, day;
  183.     getdate(year, month, day);
  184.     format(ACCS, sizeof(ACCS), PASTA_CONTAS, GetPlayerNameEx(playerid));
  185.     if(DOF2_FileExists(ACCS)) {
  186.         format(PREMIUM, sizeof(PREMIUM), PASTA_PREMIUM, GetPlayerNameEx(playerid));
  187.         if(DOF2_FileExists(PREMIUM)) {
  188.             format(STRV, sizeof(STRV), "%d/%d/%d", day, month, year);
  189.             if(strcmp(DOF2_GetString(PREMIUM, "DataSet"), STRV, true) != 0) DOF2_SetString(PREMIUM, "DataSet", STRV), DOF2_SetInt(PREMIUM, "Dias", DOF2_GetInt(PREMIUM, "Dias")-1);
  190.             if(DOF2_GetInt(PREMIUM, "Dias") > 0) DOF2_SetInt(ACCS, "VIP", 2), vip[playerid] = 2;
  191.             else CheckPlayerVIP(playerid);
  192.             SendClientMessage(playerid, -1, "{FFFFFF}Você ganhou ou comprou um VIP PRO{6A97AB}.");
  193.             SendClientMessage(playerid, -1, "{FFFFFF}Veja os comandos em {6A97AB}/comandospro{FFFFFF}.");
  194.         }
  195.         else CheckPlayerVIP(playerid);
  196.     }
  197.     return 1;
  198. }
  199.  
  200. stock GetPREMIUMDays(playerid) {
  201.     new PREMIUM[64];
  202.     format(PREMIUM, sizeof(PREMIUM), PASTA_PREMIUM, GetPlayerNameEx(playerid));
  203.     if(DOF2_FileExists(PREMIUM)) return DOF2_GetInt(PREMIUM, "Dias");
  204.     return 0;
  205. }
  206.  
  207. CMD:setarpro(playerid, params[]) {
  208.     if(!IsPlayerAdmin(playerid)) return 1;
  209.     new plid, dias;
  210.     if(sscanf(params, "ud", plid, dias)) return SendClientMessage(playerid, 0x008040AA, "Use: /setarpro [id] [quantidade-de-dias]");
  211.     if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, Vermelho, "Valor inválido, tente novamente!");
  212.     if(IsPlayerVIP(plid) == 1) return SendClientMessage(playerid, Vermelho, "Retire o Vip Comum desse player antes de setar o VIP PRO.");
  213.     UnsetPlayerPremium(plid);
  214.     SetPlayerPremium(plid, dias);
  215.     new string[128];
  216.     format(string, sizeof(string), "%s[%d] foi promovido por %s[%d] para VIP PRO. Dias: %d.", GetPlayerNameEx(plid), plid, GetPlayerNameEx(playerid), playerid, dias);
  217.     SendClientMessageToAll(VerdeClaro, string);
  218.     SendClientMessage(playerid, Verde, "VIP PRO setado com sucesso!");
  219.     return 1;
  220. }
  221.  
  222.  
  223. CMD:vida(playerid) {
  224.   if(!IsPlayerVIP(playerid)) return SendClientMessage(playerid, Vermelho, "Você não é um(a) jogador(a) VIP.");
  225.   SetPlayerHealth(playerid, 100.0);
  226.   SendClientMessage(playerid, VerdeClaro, "Comando efetuado com sucesso!");
  227.   return 1;
  228. }
  229.  
  230. CMD:colete(playerid) {
  231.   if(!IsPlayerVIP(playerid)) return SendClientMessage(playerid, Vermelho, "Você não é um(a) jogador(a) VIP.");
  232.   SetPlayerArmour(playerid, 100.0);
  233.   SendClientMessage(playerid, VerdeClaro, "Comando efetuado com sucesso!");
  234.   return 1;
  235. }
  236.  
  237. CMD:godmod(playerid) {
  238. if(IsPlayerVIP(playerid) != 2) return SendClientMessage(playerid, Vermelho, "Você não é um(a) jogador(a) VIP Premium.");
  239. if(godmod[playerid] == 0) {
  240. SetPlayerHealth(playerid, 9999999.0);
  241. godmod[playerid] = 1;
  242. SendClientMessage(playerid, VerdeClaro, "Godmod desativado com sucesso, digite /godmod novamente para desativar.");
  243. }
  244. else if(godmod[playerid] == 1) {
  245. SetPlayerHealth(playerid, 100.0);
  246. godmod[playerid] = 0;
  247. SendClientMessage(playerid, VerdeClaro, "Godmod desativado com sucesso, digite /godmod novamente para re-ativar.");
  248. }
  249. return 1;
  250. }
  251.  
  252. CMD:equipar(playerid) {
  253.  if(IsPlayerVIP(playerid) != 2) return SendClientMessage(playerid, Vermelho, "Você não é um(a) jogador(a) VIP Premium.");
  254.  GivePlayerWeapon(playerid, 24, 300);
  255.  GivePlayerWeapon(playerid, 26, 300);
  256.  GivePlayerWeapon(playerid, 28, 300);
  257.  GivePlayerWeapon(playerid, 31, 300);
  258.  GivePlayerWeapon(playerid, 34, 300);
  259.  SendClientMessage(playerid, VerdeClaro, "Você equipou-se com sucesso!");
  260.  return 1;
  261. }
  262.  
  263. CMD:jetpack(playerid) {
  264.  if(IsPlayerVIP(playerid) != 2) return SendClientMessage(playerid, Vermelho, "Você não é um(a) jogador(a) VIP Premium.");
  265.  SetPlayerSpecialAction(playerid, 2);
  266.  SendClientMessage(playerid, Verde, "Jetpack foi criada com sucesso.");
  267.  return 1;
  268. }
  269.  
  270. public OnPlayerConnect(playerid) {
  271.  CheckPlayerVIP(playerid);
  272.  CheckPlayerPremium(playerid);
  273.  return 1;
  274. }
  275.  
  276. CMD:reparar(playerid) {
  277.     if(!IsPlayerVIP(playerid)) return SendClientMessage(playerid, Vermelho, "Você não é um(a) jogador(a) VIP.");
  278.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Vermelho, "Você não está em um veículo.");
  279.     RepairVehicle(GetPlayerVehicleID(playerid));
  280.     return 1;
  281. }
  282.  
  283. stock GetPlayerNameEx(playerid) {
  284.  static pNome[MAX_PLAYER_NAME];
  285.  GetPlayerName(playerid, pNome, MAX_PLAYER_NAME);
  286.  return pNome;
  287. }
  288.  
  289. public OnGameModeExit() {
  290.  DOF2_Exit();
  291.  for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) {
  292.  CheckPlayerVIP(playerid);
  293.  }
  294.  return 1;
  295.  }
  296.  
  297. CMD:godcar(playerid) {
  298.  if(IsPlayerVIP(playerid) != 2) return SendClientMessage(playerid, Vermelho, "Você não é um(a) jogador(a) VIP Premium.");
  299.  if(godcar[playerid] == 0) {
  300.  godcar[playerid] = 1;
  301.  SetVehicleHealth(GetPlayerVehicleID(playerid), 999999.0);
  302.  SendClientMessage(playerid, VerdeClaro, "Godcar ativado com sucesso! digite /godcar novamente para desativar.");
  303.  }
  304.  else if(godcar[playerid] == 1) {
  305.  godcar[playerid] = 0;
  306.  SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
  307.  SendClientMessage(playerid, VerdeClaro, "Godcar desativado com sucesso! digite /godcar novamente para re-ativar.");
  308.  }
  309.  return 1;
  310. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement