FeniXMTA

Função executar apenas perto do Carro !

Recommended Posts

Posted (edited)

Olá, estou com uma dúvida. Quero por uma desejada função que se executa apenas perto do capo do carro.

Ex> chego perto do capo aperto x e solta uma mensagem no Chat.

Alguém consegue me ajudar, TMJ.

Edited by FeniXMTA

Share this post


Link to post
Posted (edited)

Obter a posição do capô em relação ao mundo:

local hoodX, hoodY, hoodZ = getVehicleComponentPosition (theVehicle, "bonnet_dummy", "world")

E dai pra saber a distância do capô e o jogador, usa um getDistanceBetweenPoints3D.

Edited by Lord Henry

Share this post


Link to post
8 minutes ago, Lord Henry said:

Obter a posição do capô em relação ao mundo:


local hoodX, hoodY, hoodZ = getVehicleComponentPosition (theVehicle, "bonnet_dummy", "world")

E dai pra saber a distância do capô e o jogador, usa um getDistanceBetweenPoints3D.

function msgCarro ()

  local theVehicle = getElementType( source ) == "vehicle"
  local hoodX, hoodY, hoodZ = getVehicleComponentPosition (theVehicle, "bonnet_dummy", "world")
  local x, y, z = getElementPosition ( source )
  local distance = getDistanceBetweenPoints3D( hoodX, hoodY, hoodZ, x, y, z ) 
  if distance < 4 then 
  outputChatBox("TESTE_1")
  else
  outputChatBox("TESTE_2")
  end
end

addEventHandler( "onResourceStart", resourceRoot,
	function()
		for _,v in pairs(getElementsByType("player")) do
			bindKey(v, "b" , "down", msgCarro)
		end
	end
)

 

Share this post


Link to post

theVehicle na linha 3 vai retornar uma boolean já que você está fazendo uma verificação.

1 - Use o parâmetro da função bindKey na msgCarro, assim você terá o elemento player.

2 - Obtenha o veículo com getPedOccupiedVehicle(thePlayer) e verifique se ele está com um veículo, caso contrário você terá avisos indesejados em getVehicleComponentPosition.

3 - A bind deve ser adicionada também para novos players no server, no "onResourceStart" irá adicionar apenas para os que estarão no momento que o resource ligar.

Share this post


Link to post
2 hours ago, DNL291 said:

theVehicle na linha 3 vai retornar uma boolean já que você está fazendo uma verificação.

1 - Use o parâmetro da função bindKey na msgCarro, assim você terá o elemento player.

2 - Obtenha o veículo com getPedOccupiedVehicle(thePlayer) e verifique se ele está com um veículo, caso contrário você terá avisos indesejados em getVehicleComponentPosition.

3 - A bind deve ser adicionada também para novos players no server, no "onResourceStart" irá adicionar apenas para os que estarão no momento que o resource ligar.

Sim.

Share this post


Link to post

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.