FeniXMTA Posted July 23, 2019 Share Posted July 23, 2019 (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 July 23, 2019 by FeniXMTA Link to comment
Other Languages Moderators Lord Henry Posted July 23, 2019 Other Languages Moderators Share Posted July 23, 2019 (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 July 23, 2019 by Lord Henry Link to comment
FeniXMTA Posted July 23, 2019 Author Share Posted July 23, 2019 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 ) Link to comment
DNL291 Posted July 23, 2019 Share Posted July 23, 2019 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. Link to comment
FeniXMTA Posted July 23, 2019 Author Share Posted July 23, 2019 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. Link to comment
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