SidneiJR Posted May 26, 2018 Posted May 26, 2018 (edited) Jogador X mira com uma M4 em jogador Y e executa C função, para isso seria utilizado o onPlayerTarget. Quais argumentos devo utilizar para fazer o mesmo com ped? (Seria o jogador X mirando em ped Y) Edited May 26, 2018 by SidneiJR
Moderators Lord Henry Posted May 26, 2018 Moderators Posted May 26, 2018 Hum, belo enigma. Mas não existe essa função para NPCs, pois quando o NPC mira em algo, ele já está sendo controlado por algum script usando setPedAimTarget, e para obter a posição de tiro da mira, usa-se getPedTargetStart e getPedTargetEnd. Para fazer um NPC atirar, usa-se setPedControlState. (funciona com localPlayer tbm) Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
SidneiJR Posted May 26, 2018 Author Posted May 26, 2018 Não quero que o ped mire ou faça algo do tipo, o que eu quero é que quando um jogador mirar no ped execute uma função.
Moderators Lord Henry Posted May 27, 2018 Moderators Posted May 27, 2018 Já tentou onClientPlayerTarget? Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
SidneiJR Posted May 27, 2018 Author Posted May 27, 2018 (edited) --Client addEventHandler( "onClientPlayerTarget", root, function (targetElem) if (targetElem and getElementType(targetElem) == ("ped") ) then local px, py, pz = getElementPosition(targetElem) local bx, by, bz = getElementPosition(localPlayer) local d = getDistanceBetweenPoints3D(px, py, pz, bx, by, bz) if (d > 2) then return exports["notices"]:addNotification("Chegue mais perto",'info') end return exports["notices"]:addNotification("Sucess",'info') end end ) Tentei dessa forma e deu certo. Agora preciso verificar se o player está mirando corretamente. Alguma dica de como posso fazer isso? Forma correta: print Forma incorreta: print A forma incorreta seria apenas apontar a arma sem algum tipo de mira e executar a função. Edited May 27, 2018 by SidneiJR
Moderators Lord Henry Posted May 27, 2018 Moderators Posted May 27, 2018 Tente usando esta função útil: IsPedAiming (client-side) Que verifica se o jogador está mirando com uma arma ou não. 1 Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
SidneiJR Posted May 27, 2018 Author Posted May 27, 2018 --Client addEventHandler( "onClientPlayerTarget", root, function (targetElem) if ( targetElem and getElementType(targetElem) == ("ped") )then local px, py, pz = getElementPosition(targetElem) local bx, by, bz = getElementPosition(localPlayer) local d = getDistanceBetweenPoints3D(px, py, pz, bx, by, bz) local task = getPedTask ( localPlayer, "secondary", 3 ) if task then if (d > 2) then return exports["notices"]:addNotification("Chegue mais perto",'info') end return exports["notices"]:addNotification("Sucess",'info') end end end ) Ficou assim. Obrigado @Lord Henry
Moderators Lord Henry Posted May 27, 2018 Moderators Posted May 27, 2018 Só tem que arrumar essa indentação ae. Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
SidneiJR Posted May 27, 2018 Author Posted May 27, 2018 Como esse script será de assalto a lojas, irei utilizar bastante, alguma dica de como melhorar?
Moderators Lord Henry Posted May 27, 2018 Moderators Posted May 27, 2018 (edited) Uma dica: Evite fazer ele depender de outros scripts. Vc está usando a função call (exports), que irá receber de outro script esses dados. Se o outro script não existir ou estiver com problemas, este script também terá problemas. Prefira fazer cada resource independente. Edited May 27, 2018 by Lord Henry Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now