Advertisement
marcelodell

M-Event

Apr 18th, 2012
2,368
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 36.22 KB | None | 0 0
  1. //INCLUDES
  2.  
  3. #include <a_samp>
  4. #include <ZCMD>
  5. #include <DOF2>
  6. #include <sscanf2>
  7.  
  8. //DEFINES
  9.  
  10. #define             DIALOG_EVENTO               950
  11. #define             DIALOG_ABRIREVENTO          951
  12. #define             DIALOG_NOMEEVENTO           952
  13. #define             DIALOG_PREMIO1              953
  14. #define             DIALOG_PREMIO2              954
  15. #define             DIALOG_PREMIO3              955
  16. #define             DIALOG_CARRO                956
  17. #define             DIALOG_COR1                 957
  18. #define             DIALOG_COR2                 958
  19. #define             DIALOG_ARMA                 959
  20. #define             DIALOG_MUNICAO              960
  21. #define             DIALOG_VIDAVEICULOS         961
  22. #define             DIALOG_KICK                 962
  23. #define             DIALOG_FIM1                 963
  24. #define             DIALOG_FIM2                 964
  25. #define             DIALOG_FIM3                 965
  26. #define             DIALOG_VIDA                 966
  27. #define             DIALOG_COLETE               967
  28. #define             DIALOG_SKIN                 968
  29. #define             DIALOG_BAN1                 969
  30. #define             DIALOG_BAN2                 970
  31. #define             DIALOG_BAN3                 971
  32. #define             DIALOG_DESBAN               972
  33. #define             DIALOG_DESBAN2              973
  34. #define             DIALOG_PUXAR                974
  35. #define             DIALOG_INFOBAN              975
  36. #define             CREDITOS                    976
  37.  
  38. #define             COR_EVENTO                  0xFF8000AA
  39. #define             COR_ERRO                    0xB4B5B7FF
  40. #define             COR_INFO                    0xFFFF00AA
  41.  
  42. new NomePlayer[MAX_PLAYER_NAME],
  43.     Name[64],
  44.     Format[150],
  45.     Float:PosX,
  46.     Float:PosY,
  47.     Float:PosZ,
  48.     Float:PosA;
  49.  
  50. enum eventInfo
  51. {
  52.     Float:X,
  53.     Float:Y,
  54.     Float:Z,
  55.     Float:A,
  56.     VirtualWorld,
  57.     Interior,
  58.     Nome[64],
  59.     Criado,
  60.     Aberto,
  61.     Premio1,
  62.     Premio2,
  63.     Premio3,
  64.     Carro,
  65.     Cor1,
  66.     Cor2,
  67.     Arma,
  68.     Vida,
  69. };
  70.  
  71. enum pInfo
  72. {
  73.     NoEvento,
  74.     Carro,
  75.     Banido,
  76. };
  77.  
  78. enum bInfo
  79. {
  80.     ID,
  81.     Tempo,
  82.     Motivo[64],
  83.     DesbanID,
  84. };
  85.  
  86. //NEW
  87. new EventInfo[eventInfo];
  88. new PlayerInfo[MAX_PLAYERS][pInfo];
  89. new BanInfo[bInfo];
  90.  
  91. #if defined FILTERSCRIPT
  92.  
  93. public OnFilterScriptInit()
  94. {
  95.     print("\n----------------------------------");
  96.     print("------------M-Event System----------");
  97.     print("--By: Spark_DaSantos/Marcelo_Elite--");
  98.     print("---Todos os Direitos Reservados®---");
  99.     print("----------------------------------\n");
  100.     EventInfo[X] = 0;
  101.     EventInfo[Y] = 0;
  102.     EventInfo[Z] = 0;
  103.     EventInfo[A] = 0;
  104.     EventInfo[VirtualWorld] = 0;
  105.     EventInfo[Interior] = 0;
  106.     EventInfo[Criado] = 0;
  107.     EventInfo[Aberto] = 0;
  108.     EventInfo[Premio1] = 0;
  109.     EventInfo[Premio2] = 0;
  110.     EventInfo[Premio3] = 0;
  111.     EventInfo[Carro] = 0;
  112.     EventInfo[Cor1] = 0;
  113.     EventInfo[Cor2] = 0;
  114.     EventInfo[Arma] = 0;
  115.     EventInfo[Vida] = 0;
  116.     BanInfo[ID] = 0;
  117.     BanInfo[Tempo] = 0;
  118.     BanInfo[DesbanID] = 0;
  119.     return 1;
  120. }
  121.  
  122. public OnFilterScriptExit()
  123. {
  124.     return 1;
  125. }
  126. #endif
  127.  
  128. public OnPlayerConnect(playerid)
  129. {
  130.     PlayerInfo[playerid][NoEvento] = 0;
  131.     PlayerInfo[playerid][Carro] = 0;
  132.     ChecarBan(playerid);
  133.     return 1;
  134. }    
  135.  
  136. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  137. {
  138.     if(dialogid == DIALOG_EVENTO)
  139.     {
  140.         if(response)
  141.         {
  142.             switch (listitem)
  143.             {
  144.                 case 0:
  145.                 {
  146.                     if(EventInfo[Criado] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Já existe um evento aberto, destrua-o antes de criar um novo");
  147.                     if(EventInfo[X] == 0 && EventInfo[Y] == 0 && EventInfo[Z] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Você precisa definir o local do evento antes de cria-lo!");
  148.                     if(EventInfo[Premio1] == 0 || EventInfo[Premio2] == 0 || EventInfo[Premio3] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Você precisa definir o valor dos premios!");
  149.                     ShowPlayerDialog(playerid, DIALOG_NOMEEVENTO, DIALOG_STYLE_INPUT, "{FFFF00}Criação de Eventos", "Digite o Nome do seu Evento:", "Continuar", "");
  150.                     return 1;
  151.                 }
  152.                 case 1:
  153.                 {
  154.                     GetPlayerPos(playerid, PosX, PosY, PosZ);
  155.                     GetPlayerFacingAngle(playerid, PosA);
  156.                     EventInfo[X] = PosX;
  157.                     EventInfo[Y] = PosY;
  158.                     EventInfo[Z] = PosZ;
  159.                     EventInfo[A] = PosA;
  160.                     EventInfo[Interior] = GetPlayerInterior(playerid);
  161.                     EventInfo[VirtualWorld] = (GetPlayerVirtualWorld(playerid) + 1);
  162.                     SendClientMessage(playerid, -1, "[INFO] Posição do Evento definida!");
  163.                     return 1;
  164.                 }
  165.                 case 2:
  166.                 {
  167.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  168.                     if(EventInfo[Aberto] == 0)
  169.                     {
  170.                         EventInfo[Aberto] = 1;
  171.                         GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  172.                         format(Format, sizeof(Format), "[EVENTO] O Administrador %s Abriu o Evento!", NomePlayer);
  173.                         SendClientMessageToAll(COR_EVENTO, Format);
  174.                         format(Format, sizeof(Format), "{FFFF00}Nome: {FF0000}%s {FFFF00}| Premio para o 1º Lugar: {FF0000}%d {FFFF00}| Premio para o 2º Lugar: {FF0000}%d {FFFF00}| Premio para o 3º Lugar: {FF0000}%d", EventInfo[Nome], EventInfo[Premio1], EventInfo[Premio2], EventInfo[Premio3]);
  175.                         SendClientMessageToAll(COR_INFO, Format);
  176.                         SendClientMessageToAll(COR_INFO, "Digite /irevento caso queira participar!");
  177.                         return 1;
  178.                     }
  179.                     else
  180.                     {
  181.                         EventInfo[Aberto] = 0;
  182.                         GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  183.                         format(Format, sizeof(Format), "[EVENTO] O Administrador %s Fechou o Evento!", NomePlayer);
  184.                         SendClientMessageToAll(COR_EVENTO, Format);
  185.                         return 1;
  186.                     }
  187.                 }
  188.                 case 3:
  189.                 {
  190.                     if(EventInfo[Criado] == 1)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Você não pode fazer modificações em um evento em andamento!");
  191.                     ShowPlayerDialog(playerid, DIALOG_PREMIO1, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite qual será o Premio para o 1º Colocado no Evento:", "Salvar", "Cancelar");
  192.                     return 1;
  193.                 }
  194.                 case 4:
  195.                 {
  196.                     if(EventInfo[Criado] == 1)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Você não pode fazer modificações em um evento em andamento!");
  197.                     ShowPlayerDialog(playerid, DIALOG_PREMIO2, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite qual será o Premio para o 2º Colocado no Evento:", "Salvar", "Cancelar");
  198.                     return 1;
  199.                 }
  200.                 case 5:
  201.                 {
  202.                     if(EventInfo[Criado] == 1)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Você não pode fazer modificações em um evento em andamento!");
  203.                     ShowPlayerDialog(playerid, DIALOG_PREMIO3, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite qual será o Premio para o 3º Colocado no Evento:", "Salvar", "Cancelar");
  204.                     return 1;
  205.                 }
  206.                 case 6:
  207.                 {
  208.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  209.                     ShowPlayerDialog(playerid, DIALOG_ARMA, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite qual o ID da arma que você quer dar para\ntodos os Jogadores do Evento:", "Continuar", "Cancelar");
  210.                     return 1;
  211.                 }
  212.                 case 7:
  213.                 {
  214.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  215.                     ShowPlayerDialog(playerid, DIALOG_CARRO, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite qual o ID do veiculo que você deseja dar para\ntodos os Jogadores do Evento:\n\n(0 = Nenhum)", "Continuar", "Cancelar");
  216.                     return 1;
  217.                 }
  218.                 case 8:
  219.                 {
  220.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  221.                     ShowPlayerDialog(playerid, DIALOG_FIM1, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite o ID do Primeiro Colocado no Evento:", "Continuar", "Cancelar");
  222.                     return 1;
  223.                 }
  224.                 case 9:
  225.                 {
  226.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  227.                     ShowPlayerDialog(playerid, DIALOG_VIDAVEICULOS, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite a Vida que você deseja Definir para os\nVeiculos do Evento:", "Definir", "Cancelar");
  228.                     return 1;
  229.                 }
  230.                 case 10:
  231.                 {
  232.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  233.                     ShowPlayerDialog(playerid, DIALOG_KICK, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite o ID do jogador que você deseja Kickar do Evento:", "Kickar", "Cancelar");
  234.                     return 1;
  235.                 }
  236.                 case 11:
  237.                 {
  238.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  239.                     ShowPlayerDialog(playerid, DIALOG_VIDA, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite a Vida que você deseja Definir para os\nJogadores do Evento", "Definir", "Cancelar");
  240.                     return 1;
  241.                 }
  242.                 case 12:
  243.                 {
  244.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  245.                     ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite o ID da skin que você\ndeseja aplicar nos Jogadores do Evento:", "Definir", "Cancelar");
  246.                     return 1;
  247.                 }
  248.                 case 13:
  249.                 {
  250.                     if(BanInfo[Tempo] >= 1) return SendClientMessage(playerid, COR_ERRO, "Algum administrador já esta banindo um jogador, aguarde!");
  251.                     ShowPlayerDialog(playerid, DIALOG_BAN1, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite o ID do jogador que você deseja Banir dos Eventos:", "Continuar", "Cancelar");
  252.                     return 1;
  253.                 }
  254.                 case 14:
  255.                 {
  256.                     ShowPlayerDialog(playerid, DIALOG_DESBAN, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite o ID do jogador que você deseja Desbanir dos Eventos:", "Desbanir", "Cancelar");
  257.                     return 1;
  258.                 }
  259.                 case 15:
  260.                 {
  261.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  262.                     ShowPlayerDialog(playerid, DIALOG_PUXAR, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite o ID do jogador que você deseja Puxar:", "Puxar", "Cancelar");
  263.                     return 1;
  264.                 }
  265.                 case 16:
  266.                 {
  267.                     ShowPlayerDialog(playerid, DIALOG_INFOBAN, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite o ID do jogador que você deseja\nvisualizar informções do banimento:", "Continuar", "Cancelar");
  268.                     return 1;
  269.                 }
  270.                 case 17:
  271.                 {
  272.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  273.                     for(new p = 0; p < MAX_PLAYERS; p++)
  274.                     {
  275.                         if(PlayerInfo[p][NoEvento] == 1)
  276.                         {
  277.                             TogglePlayerControllable(p, 0);
  278.                         }
  279.                     }
  280.                     GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  281.                     format(Format, sizeof(Format), "[EVENTO] O Administrador %s congelou todos os jogadores do evento!", NomePlayer);
  282.                     SendEventMessage(COR_INFO, Format);
  283.                     return 1;
  284.                 }
  285.                 case 18:
  286.                 {
  287.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  288.                     for(new p = 0; p < MAX_PLAYERS; p++)
  289.                     {
  290.                         if(PlayerInfo[p][NoEvento] == 1)
  291.                         {
  292.                             TogglePlayerControllable(p, 1);
  293.                         }
  294.                     }
  295.                     GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  296.                     format(Format, sizeof(Format), "[EVENTO] O Administrador %s descongelou todos os jogadores do evento!", NomePlayer);
  297.                     SendEventMessage(COR_INFO, Format);
  298.                     return 1;
  299.                 }
  300.                 case 19:
  301.                 {
  302.                     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  303.                     for(new p = 0; p < MAX_PLAYERS; p++)
  304.                     {
  305.                         if(PlayerInfo[p][NoEvento] == 1)
  306.                         {
  307.                             ResetPlayerWeapons(p);
  308.                         }
  309.                     }
  310.                     EventInfo[Arma] = 0;
  311.                     GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  312.                     format(Format, sizeof(Format), "[EVENTO] O Administrador %s resetou as armas dos jogadores do evento!", NomePlayer);
  313.                     SendEventMessage(COR_INFO, Format);
  314.                     return 1;
  315.                 }
  316.                 case 20:
  317.                 {
  318.                     ShowPlayerDialog(playerid, CREDITOS, DIALOG_STYLE_MSGBOX, "{FFFF00}Creditos do Sistema de Evento", "---------------------------M-Event---------------------------\n\n\n\nAutor de todo o Sistema: Spark_DaSantos ou Marcelo_Play\n\n\n\n--------------------------------------------------------------", "OK", "");
  319.                     return 1;
  320.                 }
  321.             }
  322.         }
  323.         return 1;
  324.     }
  325.     if(dialogid == DIALOG_NOMEEVENTO)
  326.     {
  327.         if(response)
  328.         {
  329.             format(Name, sizeof(Name), "%s", inputtext);
  330.             EventInfo[Nome] = Name;
  331.             ShowPlayerDialog(playerid, DIALOG_ABRIREVENTO, DIALOG_STYLE_MSGBOX, "Criação de Eventos", "Você deseja que o seu Evento seja Criado\nAberto ou Fechado?", "Aberto", "Fechado");
  332.             return 1;
  333.         }
  334.         return 1;
  335.     }
  336.     if(dialogid == DIALOG_PREMIO1)
  337.     {
  338.         if(response)
  339.         {
  340.             if(strval(inputtext) < 1 || strval(inputtext) > 100000) return  SendClientMessage(playerid, COR_ERRO, "[ERRO] O premio deve ser de no minimo 1 real e maximo 100000 reais!");
  341.             EventInfo[Premio1] = strval(inputtext);
  342.             SendClientMessage(playerid, -1, "[INFO] Premio para o 1º Colocado no Evento Salvo!");
  343.             return 1;
  344.         }
  345.         return 1;
  346.     }
  347.     if(dialogid == DIALOG_PREMIO2)
  348.     {
  349.         if(response)
  350.         {
  351.             if(strval(inputtext) < 1 || strval(inputtext) > 100000) return  SendClientMessage(playerid, COR_ERRO, "[ERRO] O premio deve ser de no minimo 1 real e maximo 100000 reais!");
  352.             EventInfo[Premio2] = strval(inputtext);
  353.             SendClientMessage(playerid, -1, "[INFO] Premio para o 2º Colocado no Evento Salvo!");
  354.             return 1;
  355.         }
  356.         return 1;
  357.     }
  358.     if(dialogid == DIALOG_PREMIO3)
  359.     {
  360.         if(response)
  361.         {
  362.             if(strval(inputtext) < 1 || strval(inputtext) > 100000) return  SendClientMessage(playerid, COR_ERRO, "[ERRO] O premio deve ser de no minimo 1 real e maximo 100000 reais!");
  363.             EventInfo[Premio3] = strval(inputtext);
  364.             SendClientMessage(playerid, -1, "[INFO] Premio para o 3º Colocado no Evento Salvo!");
  365.         }
  366.         return 1;
  367.     }
  368.     if(dialogid == DIALOG_ARMA)
  369.     {
  370.         if(response)
  371.         {
  372.             if(strval(inputtext) < 1 || strval(inputtext) > 46) return  SendClientMessage(playerid, COR_ERRO, "[ERRO] ID informado invalido!");
  373.             EventInfo[Arma] = strval(inputtext);
  374.             ShowPlayerDialog(playerid, DIALOG_MUNICAO, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite a Munição que você deseja dar para os Jogadores do Evento:", "Continuar", "");
  375.         }
  376.         return 1;
  377.     }
  378.     if(dialogid == DIALOG_MUNICAO)
  379.     {
  380.         if(response)
  381.         {
  382.             if(strval(inputtext) < 1 || strval(inputtext) > 999)    return  SendClientMessage(playerid, COR_ERRO, "[ERRO] O Número maximo de Balas é de 999");
  383.             for(new p = 0; p < MAX_PLAYERS; p++)
  384.             {
  385.                 if(PlayerInfo[p][NoEvento] == 1)
  386.                 {
  387.                     GivePlayerWeapon(p, EventInfo[Arma], strval(inputtext));
  388.                 }
  389.             }
  390.             GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  391.             format(Format, sizeof(Format), "[EVENTO] O Administrador %s deu a arma ID %d para todos os jogadores do evento!", NomePlayer, EventInfo[Arma]);
  392.             SendEventMessage(COR_INFO, Format);
  393.         }
  394.         return 1;
  395.     }
  396.     if(dialogid == DIALOG_CARRO)
  397.     {
  398.         if(response)
  399.         {
  400.             if(strval(inputtext) < 400 && strval(inputtext) != 0 || strval(inputtext) > 611 && strval(inputtext) != 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] ID informado invalido!");
  401.             EventInfo[Carro] = strval(inputtext);
  402.             if(strval(inputtext) == 0)
  403.             {
  404.                 for(new p = 0; p < MAX_PLAYERS; p++)
  405.                 {
  406.                     if(PlayerInfo[p][NoEvento] == 1)
  407.                     {
  408.                         DestroyVehicle(PlayerInfo[p][Carro]);
  409.                         PlayerInfo[p][Carro] = 0;
  410.                     }
  411.                 }
  412.                 GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  413.                 format(Format, sizeof(Format), "[EVENTO] O Administrador %s retirou o veiculo de todos os jogadores do evento!", NomePlayer);
  414.                 SendEventMessage(COR_INFO, Format);
  415.                 return 1;
  416.             }
  417.             ShowPlayerDialog(playerid, DIALOG_COR1, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite a Primeira Cor que você deseja para os Veiculos:", "Continuar", "");
  418.         }
  419.         return 1;
  420.     }
  421.     if(dialogid == DIALOG_COR1)
  422.     {
  423.         if(response)
  424.         {
  425.             if(strval(inputtext) < 0 || strval(inputtext) > 255)    return  SendClientMessage(playerid, COR_ERRO, "[ERRO] ID informado invalido!");
  426.             EventInfo[Cor1] = strval(inputtext);
  427.             ShowPlayerDialog(playerid, DIALOG_COR2, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite a Segunda Cor que você deseja para os Veiculos:", "Continuar", "");
  428.         }
  429.         return 1;
  430.     }
  431.     if(dialogid == DIALOG_COR2)
  432.     {
  433.         if(response)
  434.         {
  435.             if(strval(inputtext) < 0 || strval(inputtext) > 255)    return  SendClientMessage(playerid, COR_ERRO, "[ERRO] ID informado invalido!");
  436.             EventInfo[Cor2] = strval(inputtext);
  437.             new CarID;
  438.             for(new p = 0; p < MAX_PLAYERS; p++)
  439.             {
  440.                 if(PlayerInfo[p][NoEvento] == 1)
  441.                 {
  442.                     if(PlayerInfo[p][Carro] >= 1)
  443.                     {
  444.                         DestroyVehicle(PlayerInfo[p][Carro]);
  445.                         PlayerInfo[p][Carro] = 0;
  446.                     }
  447.                     GetPlayerPos(p, PosX, PosY, PosZ);
  448.                     GetPlayerFacingAngle(p, PosA);
  449.                     CarID = CreateVehicle(EventInfo[Carro], PosX, PosY, PosZ, PosA, EventInfo[Cor1], EventInfo[Cor2], -1);
  450.                     LinkVehicleToInterior(CarID, EventInfo[Interior]);
  451.                     SetVehicleVirtualWorld(CarID, EventInfo[VirtualWorld]);
  452.                     PutPlayerInVehicle(p, CarID, 0);
  453.                     PlayerInfo[p][Carro] = CarID;
  454.                 }
  455.             }
  456.             GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  457.             format(Format, sizeof(Format), "[EVENTO] O Administrador %s deu o veiculo ID %d para todos os jogadores do evento!", NomePlayer, EventInfo[Carro]);
  458.             SendEventMessage(COR_INFO, Format);
  459.         }
  460.         return 1;
  461.     }
  462.     if(dialogid == DIALOG_VIDAVEICULOS)
  463.     {
  464.         if(response)
  465.         {
  466.             if(strval(inputtext) < 0 || strval(inputtext) > 5000)   return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Use de 0 á 5000!");
  467.             for(new p = 0; p < MAX_PLAYERS; p++)
  468.             {
  469.                 if(PlayerInfo[p][NoEvento] == 1)
  470.                 {
  471.                     if(PlayerInfo[p][Carro] >= 1)
  472.                     {
  473.                         SetVehicleHealth(PlayerInfo[p][Carro], strval(inputtext));
  474.                     }
  475.                 }
  476.             }
  477.             GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  478.             format(Format, sizeof(Format), "[EVENTO] O Administrador %s setou a vida dos veiculos do evento para %d", NomePlayer, strval(inputtext));
  479.             SendEventMessage(COR_INFO, Format);
  480.         }
  481.         return 1;
  482.     }
  483.     if(dialogid == DIALOG_KICK)
  484.     {
  485.         if(response)
  486.         {
  487.             if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado não esta conectado!");
  488.             if(PlayerInfo[strval(inputtext)][NoEvento] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Não é possivel kickar um jogador que não está no evento!");
  489.             new NomePlayer2[MAX_PLAYER_NAME];
  490.             SetPlayerVirtualWorld(strval(inputtext), 0);
  491.             SetPlayerInterior(strval(inputtext), 0);
  492.             SpawnPlayer(strval(inputtext));
  493.             PlayerInfo[strval(inputtext)][NoEvento] = 0;
  494.             if(PlayerInfo[strval(inputtext)][Carro] >= 1)
  495.             {
  496.                 DestroyVehicle(PlayerInfo[strval(inputtext)][Carro]);
  497.                 PlayerInfo[strval(inputtext)][Carro] = 0;
  498.             }
  499.             GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  500.             GetPlayerName(strval(inputtext), NomePlayer2, MAX_PLAYER_NAME);
  501.             format(Format, sizeof(Format), "[EVENTO] O Administrador %s kickou o jogador %s do evento!", NomePlayer, NomePlayer2);
  502.             SendEventMessage(COR_INFO, Format);
  503.         }
  504.         return 1;
  505.     }
  506.     if(dialogid == DIALOG_FIM1)
  507.     {
  508.         if(response)
  509.         {
  510.             if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado não esta conectado!");
  511.             GivePlayerMoney(strval(inputtext), EventInfo[Premio1]);
  512.             GetPlayerName(strval(inputtext), NomePlayer, MAX_PLAYER_NAME);
  513.             format(Format, sizeof(Format), "[EVENTO] 1º Colocado: %s | Premio Pago [%d]", NomePlayer, EventInfo[Premio1]);
  514.             SendClientMessageToAll(COR_INFO, Format);
  515.             ShowPlayerDialog(playerid, DIALOG_FIM2, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite o ID do Segundo Colocado no Evento:", "Continuar", "");
  516.         }
  517.         return 1;
  518.     }
  519.     if(dialogid == DIALOG_FIM2)
  520.     {
  521.         if(response)
  522.         {
  523.             if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado não esta conectado!");
  524.             GivePlayerMoney(strval(inputtext), EventInfo[Premio2]);
  525.             GetPlayerName(strval(inputtext), NomePlayer, MAX_PLAYER_NAME);
  526.             format(Format, sizeof(Format), "[EVENTO] 2º Colocado: %s | Premio Pago [%d]", NomePlayer, EventInfo[Premio2]);
  527.             SendClientMessageToAll(COR_INFO, Format);
  528.             ShowPlayerDialog(playerid, DIALOG_FIM3, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite o ID do Terceiro Colocado no Evento:", "Continuar", "");
  529.         }
  530.         return 1;
  531.     }
  532.     if(dialogid == DIALOG_FIM3)
  533.     {
  534.         if(response)
  535.         {
  536.             if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado não esta conectado!");
  537.             GivePlayerMoney(strval(inputtext), EventInfo[Premio3]);
  538.             GetPlayerName(strval(inputtext), NomePlayer, MAX_PLAYER_NAME);
  539.             format(Format, sizeof(Format), "[EVENTO] 3º Colocado: %s | Premio Pago [%d]", NomePlayer, EventInfo[Premio3]);
  540.             SendClientMessageToAll(COR_INFO, Format);
  541.             DestruirEvento(playerid);
  542.         }
  543.         return 1;
  544.     }
  545.     if(dialogid == DIALOG_VIDA)
  546.     {
  547.         if(response)
  548.         {
  549.             if(strval(inputtext) < 0 || strval(inputtext) > 299)    return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Use de 0 á 100!");
  550.             EventInfo[Vida] = strval(inputtext);
  551.             ShowPlayerDialog(playerid, DIALOG_COLETE, DIALOG_STYLE_INPUT, "{FFFF00}Definições do Evento", "Digite o Colete que você deseja Definir para os\nJogadores do Evento", "Definir", "");
  552.         }
  553.         return 1;
  554.     }
  555.     if(dialogid == DIALOG_COLETE)
  556.     {
  557.         if(response)
  558.         {
  559.             if(strval(inputtext) < 0 || strval(inputtext) > 100)    return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Use de 0 á 100!");
  560.             for(new p = 0; p < MAX_PLAYERS; p++)
  561.             {
  562.                 if(PlayerInfo[p][NoEvento] == 1)
  563.                 {
  564.                     SetPlayerHealth(p, EventInfo[Vida]);
  565.                     SetPlayerArmour(p, strval(inputtext));
  566.                 }
  567.             }
  568.             GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  569.             format(Format, sizeof(Format), "[EVENTO] O Administrador %s setou a vida dos jogadores do evento para %d e o colete para %d", NomePlayer, EventInfo[Vida], strval(inputtext));
  570.             SendEventMessage(COR_INFO, Format);
  571.         }
  572.         return 1;
  573.     }
  574.     if(dialogid == DIALOG_SKIN)
  575.     {
  576.         if(response)
  577.         {
  578.             if(strval(inputtext) < 0 || strval(inputtext) > 100)    return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Use de 0 á 100!");
  579.             for(new p = 0; p < MAX_PLAYERS; p++)
  580.             {
  581.                 if(PlayerInfo[p][NoEvento] == 1)
  582.                 {
  583.                     SetPlayerSkin(p, strval(inputtext));
  584.                 }
  585.             }
  586.             GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  587.             format(Format, sizeof(Format), "[EVENTO] O Administrador %s setou a skin dos jogadores do evento para %d", NomePlayer, strval(inputtext));
  588.             SendEventMessage(COR_INFO, Format);
  589.         }
  590.         return 1;
  591.     }
  592.     if(dialogid == DIALOG_BAN1)
  593.     {
  594.         if(response)
  595.         {
  596.             if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado não esta conectado!");
  597.             BanInfo[ID] = strval(inputtext);
  598.             ShowPlayerDialog(playerid, DIALOG_BAN2, DIALOG_STYLE_INPUT, "{FF0000}Definições do Banimento", "{FFFFFF}Digite a quantidade de Dias que\nvocê deseja que o Jogador seja banido:", "Continuar", "Cancelar");
  599.         }
  600.         else
  601.         {
  602.             BanInfo[ID] = 0;
  603.             BanInfo[Tempo] = 0;
  604.         }
  605.         return 1;
  606.     }
  607.     if(dialogid == DIALOG_BAN2)
  608.     {
  609.         if(response)
  610.         {
  611.             if(strval(inputtext) < 1 || strval(inputtext) > 30) return  SendClientMessage(playerid, COR_ERRO, "[ERRO] É permitido um período minimo de 1 dia e maximo de 30 dias!");
  612.             BanInfo[Tempo] = strval(inputtext);
  613.             ShowPlayerDialog(playerid, DIALOG_BAN3, DIALOG_STYLE_INPUT, "{FF0000}Definições do Banimento", "{FFFFFF}Digite o Motivo do Banimento:", "Continuar", "Cancelar");
  614.         }
  615.         else
  616.         {
  617.             BanInfo[ID] = 0;
  618.             BanInfo[Tempo] = 0;
  619.         }
  620.         return 1;
  621.     }
  622.     if(dialogid == DIALOG_BAN3)
  623.     {
  624.         if(response)
  625.         {
  626.             new Caminho[64], Dia, Mes, Ano, Hora, Minuto, Segundo;
  627.             GetPlayerName(BanInfo[ID], Name, MAX_PLAYER_NAME);
  628.             GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  629.             format(Caminho, sizeof(Caminho), "/BanEvento/%s.ini", Name);
  630.             if(DOF2_FileExists(Caminho)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Esse jogador já está banido dos eventos!");
  631.             DOF2_CreateFile(Caminho);
  632.             getdate(Ano, Mes, Dia);
  633.             gettime(Hora, Minuto, Segundo);
  634.             DOF2_SetString(Caminho, "Administrador", NomePlayer);
  635.             DOF2_SetString(Caminho, "Motivo", inputtext);
  636.             DOF2_SetInt(Caminho, "Dia", Dia);
  637.             DOF2_SetInt(Caminho, "Mes", Mes);
  638.             DOF2_SetInt(Caminho, "Ano", Ano);
  639.             DOF2_SetInt(Caminho, "Hora", Hora);
  640.             DOF2_SetInt(Caminho, "Minuto", Minuto);
  641.             DOF2_SetInt(Caminho, "Segundo", Segundo);
  642.             DOF2_SetInt(Caminho, "Tempo (DIAS)", BanInfo[Tempo]);
  643.             DOF2_SaveFile();
  644.             PlayerInfo[BanInfo[ID]][Banido] = 1;
  645.             if(PlayerInfo[BanInfo[ID]][NoEvento] == 1)
  646.             {
  647.                 SetPlayerVirtualWorld(BanInfo[ID], 0);
  648.                 SetPlayerInterior(BanInfo[ID], 0);
  649.                 SpawnPlayer(BanInfo[ID]);
  650.                 PlayerInfo[BanInfo[ID]][NoEvento] = 0;
  651.                 if(PlayerInfo[BanInfo[ID]][Carro] >= 1)
  652.                 {
  653.                     DestroyVehicle(PlayerInfo[BanInfo[ID]][Carro]);
  654.                     PlayerInfo[BanInfo[ID]][Carro] = 0;
  655.                 }
  656.             }
  657.             format(Format, sizeof(Format), "[EVENTO] O Administrador %s baniu o jogador %s dos eventos por %d dias | Motivo: %s", NomePlayer, Name, BanInfo[Tempo], inputtext);
  658.             SendClientMessageToAll(COR_INFO, Format);
  659.             BanInfo[ID] = 0;
  660.             BanInfo[Tempo] = 0;
  661.         }
  662.         return 1;
  663.     }
  664.     if(dialogid == DIALOG_DESBAN)
  665.     {
  666.         if(response)
  667.         {
  668.             if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado não esta conectado!");
  669.             BanInfo[DesbanID] = strval(inputtext);
  670.             ShowPlayerDialog(playerid, DIALOG_DESBAN2, DIALOG_STYLE_INPUT, "{FF0000}Definições do Desbanimento", "{FFFFFF}Digite o Motivo do Desbanimento:", "Continuar", "Cancelar");
  671.         }
  672.         return 1;
  673.     }
  674.     if(dialogid == DIALOG_DESBAN2)
  675.     {
  676.         if(response)
  677.         {
  678.             GetPlayerName(BanInfo[DesbanID], Name, MAX_PLAYER_NAME);
  679.             GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  680.             format(Format, sizeof(Format), "/BanEvento/%s.ini", Name);
  681.             if(!DOF2_FileExists(Format)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Esse jogador não está banido dos eventos!");
  682.             DOF2_RemoveFile(Format);
  683.             ChecarBan(BanInfo[DesbanID]);
  684.             format(Format, sizeof(Format), "[EVENTO] O Administrador %s desbaniu o Jogador %s dos eventos | Motivo: %s", NomePlayer, Name, inputtext);
  685.             SendClientMessageToAll(COR_INFO, Format);
  686.         }
  687.         return 1;
  688.     }
  689.     if(dialogid == DIALOG_PUXAR)
  690.     {
  691.         if(response)
  692.         {
  693.             if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado não esta conectado!");
  694.             ChecarBan(strval(inputtext));
  695.             if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  696.             if(PlayerInfo[strval(inputtext)][Banido] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado está banido!");
  697.             if(PlayerInfo[strval(inputtext)][NoEvento] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador já está no Evento!");
  698.             SetPlayerVirtualWorld(strval(inputtext), EventInfo[VirtualWorld]);
  699.             SetPlayerInterior(strval(inputtext), EventInfo[Interior]);
  700.             SetPlayerHealth(strval(inputtext), 100);
  701.             SetPlayerArmour(strval(inputtext), 100);
  702.             ResetPlayerWeapons(strval(inputtext));
  703.             SetPlayerPos(strval(inputtext), EventInfo[X], EventInfo[Y], EventInfo[Z]);
  704.             SetPlayerFacingAngle(strval(inputtext), EventInfo[A]);
  705.             PlayerInfo[strval(inputtext)][NoEvento] = 1;
  706.         }
  707.         return 1;
  708.     }
  709.     if(dialogid == DIALOG_INFOBAN)
  710.     {
  711.         if(response)
  712.         {
  713.             if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "O Jogador informado não esta conectado!");
  714.             new Caminho[64];
  715.             GetPlayerName(strval(inputtext), NomePlayer, MAX_PLAYER_NAME);
  716.             format(Caminho, sizeof(Caminho), "/BanEvento/%s.ini", NomePlayer);
  717.             if(!DOF2_FileExists(Caminho)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado não está banido dos eventos!");
  718.             format(Format, sizeof(Format), "Banido pelo Administrador: %s\nDia: %d\nMes: %d\nAno: %d\nHora: %d\nMinuto: %d\nSegundos: %d\nTempo Banido(DIAS): %d\nMotivo: %s", DOF2_GetString(Caminho, "Administrador"), DOF2_GetInt(Caminho, "Dia"), DOF2_GetInt(Caminho, "Mes"), DOF2_GetInt(Caminho, "Ano"), DOF2_GetInt(Caminho, "Hora"), DOF2_GetInt(Caminho, "Minuto"), DOF2_GetInt(Caminho, "Segundo"), DOF2_GetInt(Caminho, "Tempo (DIAS)"), DOF2_GetString(Caminho, "Motivo"));
  719.             ShowPlayerDialog(playerid, 1313, DIALOG_STYLE_MSGBOX, "{FFFF00}Informações do Ban", Format, "Fechar", "");
  720.         }
  721.         return 1;
  722.     }
  723.     if(dialogid == DIALOG_ABRIREVENTO)
  724.     {
  725.         if(response)
  726.         {
  727.             EventInfo[Criado] = 1;
  728.             EventInfo[Aberto] = 1;
  729.             SetPlayerVirtualWorld(playerid, EventInfo[VirtualWorld]);
  730.             SetPlayerInterior(playerid, EventInfo[Interior]);
  731.             SetPlayerHealth(playerid, 100);
  732.             SetPlayerArmour(playerid, 100);
  733.             PlayerInfo[playerid][NoEvento] = 1;
  734.             GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  735.             format(Format, sizeof(Format), "[EVENTO] O Administrador %s criou um Evento Aberto!", NomePlayer);
  736.             SendClientMessageToAll(COR_EVENTO, Format);
  737.             format(Format, sizeof(Format), "{FFFF00}Nome: {FF0000}%s {FFFF00}| Premio para o 1º Lugar: {FF0000}%d {FFFF00}| Premio para o 2º Lugar: {FF0000}%d", EventInfo[Nome], EventInfo[Premio1], EventInfo[Premio2]);
  738.             SendClientMessageToAll(COR_INFO, Format);
  739.             format(Format, sizeof(Format), "{FFFF00}Premio para o 3º Lugar: {FF0000}%d",EventInfo[Premio3]);
  740.             SendClientMessageToAll(COR_INFO, Format);
  741.             SendClientMessageToAll(COR_INFO, "Digite /irevento caso queira participar!");
  742.             return 1;
  743.         }
  744.         else
  745.         {
  746.             EventInfo[Criado] = 1;
  747.             EventInfo[Aberto] = 0;
  748.             SetPlayerVirtualWorld(playerid, EventInfo[VirtualWorld]);
  749.             SetPlayerInterior(playerid, EventInfo[Interior]);
  750.             SetPlayerHealth(playerid, 100);
  751.             SetPlayerArmour(playerid, 100);
  752.             PlayerInfo[playerid][NoEvento] = 1;
  753.             GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  754.             format(Format, sizeof(Format), "[EVENTO] O Administrador %s criou um Evento Fechado, aguarde até que ele o abra!", NomePlayer);
  755.             SendClientMessageToAll(COR_EVENTO, Format);
  756.             format(Format, sizeof(Format), "{FFFF00}Nome: {FF0000}%s {FFFF00}| Premio para o 1º Lugar: {FF0000}%d {FFFF00}| Premio para o 2º Lugar: {FF0000}%d {FFFF00}| Premio para o 3º Lugar: {FF0000}%d", EventInfo[Nome], EventInfo[Premio1], EventInfo[Premio2], EventInfo[Premio3]);
  757.             SendClientMessageToAll(COR_INFO, Format);
  758.         }
  759.         return 1;
  760.     }
  761.     return 1;
  762. }
  763.  
  764. public OnPlayerDeath(playerid, killerid, reason)
  765. {
  766.     if(PlayerInfo[playerid][NoEvento] >= 1)
  767.     {
  768.         SetPlayerVirtualWorld(playerid, 0);
  769.         SetPlayerInterior(playerid, 0);
  770.         PlayerInfo[playerid][NoEvento] = 0;
  771.         if(PlayerInfo[playerid][Carro] >= 1)
  772.         {
  773.             DestroyVehicle(PlayerInfo[playerid][Carro]);
  774.             PlayerInfo[playerid][Carro] = 0;
  775.         }
  776.     }
  777.     return 1;
  778. }
  779.  
  780. CMD:evento(playerid, params[])
  781. {
  782.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Você não está autorizado a usar este comando!");
  783.     new Mensagem[603];
  784.     strcat(Mensagem, "Criar Evento\nSalvar Minha Posição como Local do Evento\nAbrir / Fechar Evento\nDefinir Premio do 1º Colocado\n");
  785.     strcat(Mensagem, "Definir Premio do 2º Colocado\nDefinir Premio do 3º Colocado\nDar Armas para os Jogadores do Evento\nDar um Carro para os Jogador do Evento\nDestruir Evento\nSetar Vida dos Veiculos\nKickar Jogador do Evento\n");
  786.     strcat(Mensagem, "Setar Vida dos Jogadores do Evento\nTrocar Skin dos Jogadores do Evento\nBanir Jogador dos Eventos\nDesbanir Jogador\nPuxar jogador para o evento\nVisualizar informações de um Jogador Banido\nCongelar Jogadores do Evento\nDescongelar Jogadores do Evento\nResetar Armas dos Jogadores do Evento\nCreditos");
  787.     ShowPlayerDialog(playerid, DIALOG_EVENTO, DIALOG_STYLE_LIST, "{FF0000}Painel de Controle do Sistema de Eventos", Mensagem, "Selecionar", "Cancelar");
  788.     return 1;
  789. }
  790.  
  791. CMD:irevento(playerid, params[])
  792. {
  793.     ChecarBan(playerid);
  794.     if(PlayerInfo[playerid][Banido] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Você não pode entrar em um evento pois foi banido!");
  795.     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  796.     if(EventInfo[Aberto] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] O Evento está fechado no momento!");
  797.     if(PlayerInfo[playerid][NoEvento] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Você já está no Evento!");
  798.     SetPlayerVirtualWorld(playerid, EventInfo[VirtualWorld]);
  799.     SetPlayerInterior(playerid, EventInfo[Interior]);
  800.     SetPlayerHealth(playerid, 100);
  801.     SetPlayerArmour(playerid, 100);
  802.     ResetPlayerWeapons(playerid);
  803.     SetPlayerPos(playerid, EventInfo[X], EventInfo[Y], EventInfo[Z]);
  804.     SetPlayerFacingAngle(playerid, EventInfo[A]);
  805.     PlayerInfo[playerid][NoEvento] = 1;
  806.     return 1;
  807. }
  808.  
  809. CMD:ce(playerid, params[])
  810. {
  811.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Você não está autorizado a usar este comando!");
  812.     if(EventInfo[Criado] == 0)  return  SendClientMessage(playerid, COR_ERRO, "[ERRO] Não existe nenhum evento criado!");
  813.     if(PlayerInfo[playerid][NoEvento] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Você não está no Evento!");
  814.     new Mensagem[128];
  815.     if(sscanf(params, "s[128]", Mensagem)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Use /ce (Chat Evento) [Mensagem]");
  816.     GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  817.     format(Format, sizeof(Format), "{FF0000}[EVENTO] %s: {FFFFFF}%s", NomePlayer, Mensagem);
  818.     SendEventMessage(COR_INFO, Format);
  819.     return 1;
  820. }
  821.  
  822. CMD:sairevento(playerid, params[])
  823. {
  824.     if(PlayerInfo[playerid][NoEvento] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Não é possivel sair de um Evento que você não está!");
  825.     SetPlayerVirtualWorld(playerid, 0);
  826.     SetPlayerInterior(playerid, 0);
  827.     SpawnPlayer(playerid);
  828.     PlayerInfo[playerid][NoEvento] = 0;
  829.     if(PlayerInfo[playerid][Carro] >= 1)
  830.     {
  831.         DestroyVehicle(PlayerInfo[playerid][Carro]);
  832.         PlayerInfo[playerid][Carro] = 0;
  833.     }
  834.     SendClientMessage(playerid, COR_INFO, "[INFO] Você saiu do Evento!");
  835.     return 1;
  836. }
  837.  
  838. CMD:infoban(playerid, params[])
  839. {
  840.     new Caminho[64];
  841.     GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  842.     format(Caminho, sizeof(Caminho), "/BanEvento/%s.ini", NomePlayer);
  843.     if(!DOF2_FileExists(Caminho)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Você não está banido dos eventos!");
  844.     format(Format, sizeof(Format), "Banido pelo Administrador: %s\nDia: %d\nMes: %d\nAno: %d\nHora: %d\nMinuto: %d\nSegundos: %d\nTempo Banido(DIAS): %d\nMotivo: %s", DOF2_GetString(Caminho, "Administrador"), DOF2_GetInt(Caminho, "Dia"), DOF2_GetInt(Caminho, "Mes"), DOF2_GetInt(Caminho, "Ano"), DOF2_GetInt(Caminho, "Hora"), DOF2_GetInt(Caminho, "Minuto"), DOF2_GetInt(Caminho, "Segundo"), DOF2_GetInt(Caminho, "Tempo (DIAS)"), DOF2_GetString(Caminho, "Motivo"));
  845.     ShowPlayerDialog(playerid, 1313, DIALOG_STYLE_MSGBOX, "{FFFF00}Informações do Ban", Format, "Fechar", "");
  846.     return 1;
  847. }
  848.  
  849. stock DestruirEvento(playerid)
  850. {
  851.     EventInfo[X] = 0;
  852.     EventInfo[Y] = 0;
  853.     EventInfo[Z] = 0;
  854.     EventInfo[A] = 0;
  855.     EventInfo[VirtualWorld] = 0;
  856.     EventInfo[Interior] = 0;
  857.     EventInfo[Criado] = 0;
  858.     EventInfo[Aberto] = 0;
  859.     EventInfo[Premio1] = 0;
  860.     EventInfo[Premio2] = 0;
  861.     EventInfo[Premio3] = 0;
  862.     EventInfo[Carro] = 0;
  863.     EventInfo[Cor1] = 0;
  864.     EventInfo[Cor2] = 0;
  865.     EventInfo[Arma] = 0;
  866.     EventInfo[Vida] = 0;
  867.     for(new p = 0; p < MAX_PLAYERS; p++)
  868.     {
  869.         if(PlayerInfo[p][NoEvento] == 1)
  870.         {
  871.             SetPlayerVirtualWorld(p, 0);
  872.             SetPlayerInterior(p, 0);
  873.             SpawnPlayer(p);
  874.             PlayerInfo[p][NoEvento] = 0;
  875.             if(PlayerInfo[p][Carro] >= 1)
  876.             {
  877.                 DestroyVehicle(PlayerInfo[p][Carro]);
  878.                 PlayerInfo[p][Carro] = 0;
  879.             }
  880.         }
  881.     }
  882.     GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  883.     format(Format, sizeof(Format), "[EVENTO] O Administrador %s destruiu o evento!", NomePlayer);
  884.     SendClientMessageToAll(COR_EVENTO, Format);
  885.     return 1;
  886. }
  887.  
  888. stock SendEventMessage(color, string[])
  889. {
  890.     for(new p = 0; p < MAX_PLAYERS; p++)
  891.     {
  892.         if(IsPlayerConnected(p))
  893.         {
  894.             if(PlayerInfo[p][NoEvento] == 1)
  895.             {
  896.                 SendClientMessage(p, color, string);
  897.             }
  898.         }
  899.     }
  900.     return 1;
  901. }
  902.  
  903. stock ChecarBan(playerid)
  904. {
  905.     new Caminho[64], Dia, Mes, Ano, Hora, Minuto, Segundo;
  906.     GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
  907.     format(Caminho, sizeof(Caminho), "/BanEvento/%s.ini", NomePlayer);
  908.     if(!DOF2_FileExists(Caminho)) return PlayerInfo[playerid][Banido] = 0;
  909.     if(DOF2_FileExists(Caminho))
  910.     {  
  911.         getdate(Ano, Mes, Dia);
  912.         gettime(Hora, Minuto, Segundo);
  913.         if(Dia >= (DOF2_GetInt(Caminho, "Dia") + DOF2_GetInt(Caminho, "Tempo (DIAS)")))
  914.         {
  915.             DOF2_RemoveFile(Caminho);
  916.             PlayerInfo[playerid][Banido] = 0;
  917.         }
  918.         else
  919.         {
  920.             PlayerInfo[playerid][Banido] = 1;
  921.         }
  922.     }
  923.     return 1;
  924. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement