Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,980
  • Joined

  • Last visited

  • Days Won

    181

Everything posted by Lord Henry

  1. Utilize onClientKey e verifique se a tecla for uma dessas que você quer bloquear. Se for, cancele o evento com cancelEvent().
  2. Cara, eu até iria te mandar um exemplo de dominação mas acabou que é muito mais complexo do que parece. Tem um monte de detalhe pequeno pra fazer e evitar bugs. Eu também fiz com timer global em vez de cada zona ter seu timer, mas mesmo assim é muito complexo.
  3. Dá pra iniciar o timer automaticamente em uma função. Não precisa de comando.
  4. Quando eu digo alterar, quero dizer que vc pode deixar ela quebrada, arrumada ou arrancada.
  5. Os timers que você está usando não possuem um "final" pois são timers infinitos. Então você precisaria iniciar o outro timer no mesmo lugar que você cancela o primeiro.
  6. Postou na seção errada, colega. A seção Tutoriais em Geral é pra você postar seu tutorial ajudando os outros usuários. Para fazer perguntas relacionadas a programação, utilize a seção Programação em Lua. Seu tópico foi movido para a seção adequada.
  7. Alterar pneu específico: setVehicleWheelStates Alterar porta específica do veículo: setVehicleDoorState Alterar para-brisa e parachoques: setVehiclePanelState Ocultar parte específica do veículo (só funciona client-side): setVehicleComponentVisible
  8. O problema do seu resource é que ele está usando timer único pra fazer tudo em vez de timers específicos para cada zona. Isso é bom e ruim ao mesmo tempo. Bom pois é mais leve do que usar vários timers. Ruim pois pode justamente causar conflitos entre as zonas, já que todas usam o mesmo.
  9. Sim, é o que deveria ser feito. O timer que dá dinheiro deve começar só depois que a gangue completa a dominação e passa a ser dona daquela zona.
  10. Pra vc ter uma ideia, o meu inicia dessa forma e funciona normalmente. Sobre o "Compacting accounts e database" é porque o meu só faz essa compactação algumas vezes, não é sempre. O que pode estar acontecendo com vc é problema de rede. Verifique se o MTA e o GTA estão liberados no Firewall do Windows. Também verifique nas configurações do modem se existe algum bloqueio.
  11. Essa mensagem é normal. Ele só está avisando qual a versão do servidor que ele está rodando.
  12. Devem existir 2 timers diferentes. 1 timer é o que determina o tempo de dominação. Ele começa quando o jogador dá o /dominar, dura 60 segundos e quando termina, a dominação é concluída (ou falha). Depois que a dominação é concluída e a zona passa a pertencer a essa gangue, o timer da gangue anterior deve ser cancelado (parando de dar grana pra gangue anterior) e deve-se iniciar um novo timer (para ficar dando dinheiro para a nova gangue).
  13. Você precisa definir o e-mail do proprietário do servidor no mtaserver.conf.
  14. Vc precisa especificar o timer que será cancelado no killTimer. E sim, vc deve parar o que estava dando money para a equipe anterior. Pois não faz sentido a equipe anterior continuar recebendo dinheiro se ela não domina mais aquela zona.
  15. Já tentou fazer server-side e especificar o jogador no primeiro parâmetro?
  16. Tópico movido para a seção Ajudas Relacionadas ao MTA:SA (Cliente/Servidor).
  17. Indexe a tabela. posicoes = { [1] = {1938.35266, -1778.71985, 13.38281, 1940.72449, -1778.48633, 13.39060, 1938.35266, -1778.71985, 13.38281, 0, 1941.72046, -1778.48376, 14.39060, 1939.68616, -1780.47058, 13.39060}, -- Bomba 1 [2] = {1938.33154, -1767.38000, 13.38281, 1940.72351, -1767.32568, 13.39060, 1938.33154, -1767.38000, 13.38281, 0, 1941.72351, -1767.32568, 14.39060, 1939.66479, -1769.13367, 13.38281}, -- Bomba 2 [3] = {1944.55579, -1778.50830, 13.39060, 1942.60840, -1778.49207, 13.39060, 1944.55579, -1778.50830, 13.39060, 180, 1941.72046, -1778.48376, 14.39060, 1943.12683, -1777.12988, 13.39060}, -- Bomba 3 [4] = {1944.43140, -1767.24988, 13.38281, 1942.61975, -1767.30859, 13.39060, 1944.43140, -1767.24988, 13.38281, 180, 1941.72351, -1767.32568, 14.39060, 1942.98450, -1765.54785, 13.39060}, -- Bomba 4 [5] = {1007.95508, -939.53308, 42.17969, 1007.63916, -937.28809, 42.17969, 1007.95508, -939.53308, 42.17969, 90, 1007.53247, -936.54156, 43.32813, 1009.70935, -938.19427, 42.17969}, -- Bomba 5 [6] = {1000.30652, -940.79962, 42.17969, 999.94574, -938.33441, 42.17969, 1000.30652, -940.79962, 42.17969, 90, 999.83368, -937.65015, 42.32813, 1001.94476, -939.39429, 42.17969}, -- Bomba 6 [7] = {1006.94489, -933.30310, 42.17969, 1007.25824, -935.42303, 42.17969, 1006.94489, -933.30310, 42.17969, 270, 1007.53247, -936.54156, 43.32813, 1005.21942, -934.65991, 42.17969}, -- Bomba 7 [8] = {999.42529, -934.40009, 42.17969, 999.77362, -936.40533, 42.17969, 999.42529, -934.40009, 42.17969, 270, 999.83368, -937.65015, 42.32813, 997.68323, -935.75867, 42.17969}, -- Bomba 8 -- E assim por diante. }
  18. Dê killTimer somente se a gangue rival conseguir dominar com sucesso. Criando assim o novo timer pra nova gangue.
  19. Acredito que lá, por ser mais limitado, o pessoal precisa se esforçar mais pra fazer algo legal. Aqui é mais fácil, então o pessoal sai fazendo de qualquer jeito.
  20. Tópico movido para Programação em Lua. Da próxima vez, utilize o botão <> do fórum para postar seu código. Não cole direto no texto.
  21. Se não tem equipe, as zonas dela deveriam ser liberadas para evitar o Warning.
  22. O source é uma variável cujo valor depende diretamente do evento ativador da função. Por exemplo: Se sua função estiver sendo ativada por onPlayerLogin, então o source será o jogador que logou. Mas se a função for ativada por um onVehicleEnter, o source será o veículo que o jogador entrou e não o jogador em si. Ao usar a função setTimer, o source que antes tinha o valor do evento ativador da função passa a ter valor nulo. Por isso que não dá pra usar source dentro do setTimer, pois o valor dele será nulo dentro do setTimer. Para resolver isso, passamos o source por parâmetro do setTimer, colocando ele depois da quantidade de repetições do setTimer. setTimer (function (parametro) -- Parametro vai receber o valor que estiver após o 1 lá em baixo, que no caso é o valor de source. -- CODE end, 1000, 1, source) -- Source será o parâmetro 1 da função que será executada pelo timer, se quiser adicionar outros parâmetros, só ir declarando após o source e assim por diante.
×
×
  • Create New...