noonbr Posted October 19, 2019 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
Moderators Lord Henry Posted October 19, 2019 Moderators 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 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