Jump to content

Target ped


Recommended Posts

Posted (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 by SidneiJR
  • Moderators
Posted

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 getPedTargetStartgetPedTargetEnd.

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 Thanksspacer.png

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.

  • Moderators
Posted

Já tentou onClientPlayerTarget?

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

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.

Posted (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 by SidneiJR
  • Moderators
Posted

Tente usando esta função útil: IsPedAiming (client-side)

Que verifica se o jogador está mirando com uma arma ou não.

  • Thanks 1

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

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.

Posted
--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
Posted

Só tem que arrumar essa indentação ae.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

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.

  • Moderators
Posted (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 by Lord Henry

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

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.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...