Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,005
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. Mas pra fazer isso, a função mencionada funciona sim.
  2. Sugiro que estude lógica de programação primeiro. Sem ela vc não vai conseguir entender nada de scripts.
  3. Não entendi por quê a função mencionada não serve pra vc. Explique melhor.
  4. Use a função takeWeapon com o evento onPlayerSpawn.
  5. Já vi o nome dessa function em algum lugar. Copiou de outro tópico...
  6. Também tem esse: https://permita.me/?q=mod+de+pegar+arma+mta+sa
  7. É pq algumas funções geram erro no server console quando vc não declara a versão mínima. Mesmo que o servidor esteja na versão mais recente.
  8. Sim. Por isso que deixei 5 segundos no exemplo. Pois no seu código ele demora 5 segundos pra dar o dinheiro.
  9. Não conheço nenhum mod original do MTA que faz isso. Tente dar stop em todos os resources do seu servidor e entre nele novamente verificando se os ícones voltam a aparecer. Se não aparecerem, vá dando start nos mods originais 1 por 1 e reconectando no server a cada start. Faça isso até os ícones aparecerem descobrindo o mod que faz eles aparecerem. Se aparecerem, veja quais mods ainda estão ligados (geralmente os mods do sistema que não podem ser desligados para manter o server funcionando) e entre esses mods, verifique o código deles 1 por 1.
  10. Você pode criar uma função com o player como parâmetro e dentro dessa função você congela ele e seta um timer para descongelar. Exemplo maroto: function freezeMe (thePlayer) if isElement (thePlayer) then setElementFrozen (thePlayer, true) setTimer (setElementFrozen, 5000, 1, thePlayer, false) end end E coloque isso antes do setTimer e depois da mensagem de Recebendo Pagamento: freezeMe (hitElement)
  11. Em relação a isso tenho uma pergunta: É necessário declarar a versão mínima no meta.xml para usar essa função? Pois a versão está declarada na Wiki mas não está dizendo que é necessário declará-la no meta, então fiquei confuso.
  12. Sim, geralmente eles setam a vida em 250 pra fazer sair o fogo. Mas eu curto deixar o fogo pra parecer mais desesperador, kkkkkkkk Mas isso vai da opinião do cara que está desenvolvendo, ele quem sabe se prefere deixar pegando fogo ou não.
  13. Normalmente o veículo não explode enquanto está blindado. Mesmo se estiver com menos do que 250 de vida. O motor vai ficar pegando fogo eternamente enquanto estiver blindado sem explodir. É claro que, ele vai explodir no instante que for desblindado se a vida estiver inferior a 250.
  14. Estude lógica de programação e algorítmos primeiro. Recomendo esse tutorial: https://www.youtube.com/watch?v=M2Af7gkbbro&list=PLHz_AreHm4dmSj0MHol_aoNYCSGFqvfXV&index=2&t=20
  15. Tá, vamos primeiramente entender a lógica do que você precisa fazer. O veículo bate em algo e perde HP. O evento que ativa toda vez que um veículo toma dano é o onVehicleDamage. Nesse evento, verifica quanto de HP o veículo possui com getElementHealth. Se o veículo estiver com menos de 250 de vida, então: Blinda o veículo e desliga o motor. Se o jogador usar algum comando pra ligar o motor, verifica a vida do veículo de novo. Se a vida do veículo ainda estiver com menos de 250, volta a desligar o motor. Se o jogador sair e entrar no veículo novamente, verifica a vida do veículo ao entrar no veículo com o evento onVehicleEnter. Se a vida do veículo ainda estiver com menos de 250, blinda o veículo e desliga o motor novamente. Se a vida do veículo em qualquer um dos casos acima for maior que 250, desblinda o veículo e permite que ligue o motor normalmente. Agora vamos programar isso, em partes. (server-side) function vehicleHPVerify (loss) -- loss é a quantidade de HP que o veículo perdeu nesta batida. Não é a vida que ele possui. local thePlayer = getVehicleController (source) -- thePlayer é o motorista do veículo. Pode ser nulo em casos onde o jogador saiu do veículo antes da batida, portanto deve-se verificar a existencia dele antes de usá-lo. if (getElementHealth (source) < 250) then -- Se o veículo tem menos de 250 de vida, então: setVehicleDamageProof (source, true) -- Blinda o veículo. setVehicleEngineState (source, false) -- Desliga o motor do veículo. if (thePlayer) then -- Se existe um motorista no veículo, então: outputChatBox ("Seu veículo quebrou o motor. Chame um mecânico.", thePlayer) -- Mostra essa mensagem ao jogador. end end end addEventHandler ("onVehicleDamage", root, vehicleHPVerify) -- Executa esse evento sempre que algum veículo tomar dano. function vehicleEngineDisable (thePlayer, seat, jacked) if (getElementHealth (source) < 250) then -- Se o veículo que o jogador entrou tem menos de 250 de vida, então: if (seat == 0) then -- Se o jogador entrou como motorista, então: setVehicleDamageProof (source, true) -- Blinda o veículo. setVehicleEngineState (source, false) -- Desliga o motor do veículo. end else -- Se o veículo não tem menos de 250 de vida, então: setVehicleDamageProof (source, false) -- Desblinda o veículo. Mesmo se o jogador não entrar como motorista. O motor liga sozinho ao entrar em um veículo, não precisa ligá-lo aqui. end end addEventHandler ("onVehicleEnter", root, vehicleEngineDisable) -- A função a seguir só deve ser usada caso você tenha um comando /motor pra ligar/desligar o motor do veículo. function antiVehicleEngine (cmd) if (cmd == "motor") then local theVehicle = getPlayerOccupiedVehicle (source) -- theVehicle é igual ao veículo que o jogador que executou o comando está. Será false se ele estiver a pé. if (theVehicle) then -- Se o jogador que executou o comando está em um veículo, então: if (getPedOccupiedVehicleSeat (source) == 0) then -- Se o jogador que executou o comando for o motorista, então: if (getElementHealth (theVehicle) < 250) then -- Se o veículo que o jogador está tem menos de 250 de vida, então: cancelEvent() -- Cancela o comando /motor. outputChatBox ("O motor falhou.", source) -- Manda essa mensagem ao jogador. setVehicleEngineState (theVehicle, false) -- Desliga o motor do veículo. end end end end end addEventHandler ("onPlayerCommand", root, antiVehicleEngine) -- Executa essa função quando alguém executar algum comando. (mandar mensagens no chat também chama essa função, pois o jogador na verdade está usando /say ao fazer isso) (não testado)
  16. Creio que está no gamemode Play. Também desativei no meu server.
  17. Só vi isso no SAMP. No MTA só tem o sistema normal de casas.
  18. O Brasil Vida Virtual era o nome da segunda versão do Brasil Vida Real by Brasileiros For Fun original. Eles trocaram pra esse nome pois tinha outros servidores roubando o nome Brasil Vida Real pra fingir serem oficiais. Inclusive o dono chegou a pensar em registrar o nome do servidor como empresa pra poder processar os caras que estavam roubando o nome, mas é inviável gastar tanto dinheiro por apenas um server de MTA, dai ele trocou pra Brasil Vida Virtual, que mais tarde virou o Cidade Vida Real by Brasileiros For Fun. Inclusive cheguei a fazer uma vinheta com a logo do Cidade Vida Virtual. Só procurar no meu canal que vc acha.
  19. Eu tenho um script que destrói todos os veículos dos jogadores que não estão sendo usados a cada 30 minutos. E os veículos dos mapas ele respawna pra sua posição original.
  20. A função dxDrawCircle não funciona mais assim. Ela não é capaz de desenhar anel na tela. Vc estava usando uma versão antiga, que usava loops de dxDrawLine.
  21. Setando esse jogador como data no marker. Dai quando alguém colidir nesse marker, verifica se é o mesmo jogador que está na data.
  22. Então algum script desabilitou. Não tem como algo que normalmente está habilitado ficar desabilitado.
  23. Seria fácil resolver se existisse um evento do tipo onVehicleCreate.
×
×
  • Create New...