noonbr Posted October 19, 2019 Share Posted October 19, 2019 Olá, estou tendo um problema que talvez seja fácil de resolver, quebrei cabeça mas até agora nada. O problema é que mesmo eu verificando com if isPedInVehicle(source) se o jogador estiver realmente em um carro ele não será teleportado, mas parece que não está funcionando, veja: SERVER.Lua local markerInput = createMarker(1555.1072998047, -1675.6097412109, 16.69611, "arrow", 1, 255,255,0, 50) local markerOutput = createMarker(1555.1072998047, -1675.6097412109, 16.69611, "arrow", 1, 255,255,0, 50) function inputPD(source) local isPed = isPedInVehicle(source) if (isPed == false) then if isElementWithinMarker(source, markerInput) then setElementInterior(source, 6) setElementPosition(source, 246.6756439209,65.71768951416,1003.640625, true) outputChatBox("#ffffff| SS | Você entrou na #ff0000Delegacia de Polícia#ffffff.", source, 255,255,255, true) end else outputChatBox("#ffffff| SS | Você não pode entrar com veículo na DP.", source, 255,255,255, true) end end addEventHandler("onMarkerHit", getRootElement(), inputPD) Obs.: A mensagem do else aquela do outputChatBox aparece, mas mesmo assim o jogador é teleportado, veja: https://prnt.sc/plhefn Link to comment
Other Languages Moderators Lord Henry Posted October 19, 2019 Other Languages Moderators Share Posted October 19, 2019 (edited) Já falei da outra vez e vou repetir: Não use source como parâmetro de função. local markerInput = createMarker (1555.1072998047, -1675.6097412109, 16.69611, "arrow", 1, 255, 255, 0, 50) local markerOutput = createMarker (1555.1072998047, -1675.6097412109, 16.69611, "arrow", 1, 255, 255, 0, 50) function inputPD (hitElement) if (hitElement and getElementType (hitElement) == "player") then if (getPedOccupiedVehicle (hitElement)) then outputChatBox ("| SS | Você não pode entrar com veículo na DP.", hitElement, 255, 255, 255) else setElementInterior (hitElement, 6) setElementPosition (hitElement, 246.6756439209, 65.71768951416, 1003.640625, true) outputChatBox ("| SS | Você entrou na #ff0000Delegacia de Polícia#ffffff.", hitElement, 255, 255, 255, true) end end end addEventHandler ("onMarkerHit", markerInput, inputPD) Sobre o problema da mensagem aparecer e o jogador teleportar mesmo assim, é porque sua função estava sendo executada 2x, uma pro carro que colidiu no marker e outra pro jogador que colidiu no marker. Para corrigir esse problema, basta adicionar uma condição para que a função só funcione se o elemento que colidiu for um player. Edited October 19, 2019 by Lord Henry 1 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