#Gubiani Posted July 31, 2018 Share Posted July 31, 2018 (edited) E ai gurizada! Bom eu to fazendo marker de teleporte para as prefeituras em: LS, SF e LV, porém estou enfrentando um problema... Quando eu entro na prefeitura de LS e quero sair de dentro dela, ela me teleporta pra frente da prefeitura de SF , mesma coisa funciona para o de LV me teleporta para SF, também já mexi nos argumentos e nada, eu fiquei em dúvida para bloquear o teleporte com o veiculo usando a função "isPedInVehicle" mas também não consegui se poder me ajudar com algum exemplo, ficarei grato. Obs: debugscript 3 sem erros -- Prefeitura de Los Santos mEnCenLS = createMarker (1481.12158, -1771.80811, 17.79576, "cylinder", 1.5, 255, 0, 0) mSaiCenLS = createMarker (390.03101, 173.79352, 1007.38281, "cylinder", 1.5, 255, 0, 0) mEmpLS = createMarker (362.47623, 173.74311, 1007.38281, "cylinder", 1.25, 255, 255, 0) -- Marker para o painel de empregos setElementInterior (mEmpLS, 3) setElementDimension (mEmpLS, 1) setElementInterior (mSaiCenLS, 3) setElementDimension (mSaiCenLS, 1) createBlipAttachedTo (mEnCenLS, 40, 2, 255, 0, 0, 255, 0, 2000) function entradaCenLS (ThePlayer) if source == mEnCenLS then fadeCamera (ThePlayer, false) setTimer (fadeCamera, 1000, 1, ThePlayer, true) setTimer (setElementInterior, 1000, 1, ThePlayer, 3) setTimer (setElementDimension, 1000, 1, ThePlayer, 1) setTimer (setElementPosition, 1000, 1, ThePlayer, 384.808624, 173.804992, 1008.382812, true) setTimer (setPedRotation, 1000, 1, ThePlayer, 90) end end addEventHandler ("onMarkerHit", root, entradaCenLS) function saidaCenLS (ThePlayer) if source == mSaiCenLS then fadeCamera (ThePlayer, false) setTimer (fadeCamera, 1000, 1, ThePlayer, true) setTimer (setElementInterior, 1000, 1, ThePlayer, 0) setTimer (setElementDimension, 1000, 1, ThePlayer, 0) setTimer (setElementPosition, 1000, 1, ThePlayer, 1480.92151, -1769.21472, 18.79576, true) setTimer (setPedRotation, 1000, 1, ThePlayer, 0) end end addEventHandler ("onMarkerHit", root, saidaCenLS) -- Prefeitura de San Fierro mEnCenSF = createMarker (-2765.90918, 375.61075, 5.33468, "cylinder", 1.5, 255, 0, 0) mSaiCenSF = createMarker (390.03101, 173.79352, 1007.38281, "cylinder", 1.5, 255, 0, 0) mEmpSF = createMarker (362.47623, 173.74311, 1007.38281, "cylinder", 1.25, 255, 255, 0) -- Marker para o painel de empregos setElementInterior (mEmpSF, 3) setElementDimension (mEmpSF, 2) setElementInterior (mSaiCenSF, 3) setElementDimension (mSaiCenSF, 2) createBlipAttachedTo (mEnCenSF, 40, 2, 255, 0, 0, 255, 0, 2000) function entradaCenSF (ThePlayer) if source == mEnCenSF then fadeCamera (ThePlayer, false) setTimer (fadeCamera, 1000, 1, ThePlayer, true) setTimer (setElementInterior, 1000, 1, ThePlayer, 3) setTimer (setElementDimension, 1000, 1, ThePlayer, 2) setTimer (setElementPosition, 1000, 1, ThePlayer, 384.808624, 173.804992, 1008.382812, true) setTimer (setPedRotation, 1000, 1, ThePlayer, 90) end end addEventHandler ("onMarkerHit", root, entradaCenSF) function saidaCenSF (ThePlayer) if source == mSaiCenSF then fadeCamera (ThePlayer, false) setTimer (fadeCamera, 1000, 1, ThePlayer, true) setTimer (setElementInterior, 1000, 1, ThePlayer, 0) setTimer (setElementDimension, 1000, 1, ThePlayer, 0) setTimer (setElementPosition, 1000, 1, ThePlayer, -2758.36792, 375.67731, 4.33452, true) setTimer (setPedRotation, 1000, 1, ThePlayer, 265) end end addEventHandler ("onMarkerHit", root, saidaCenSF) -- Prefeitura de Las Venturas mEnCenLV = createMarker (2375.59912, 2307.55103, 7.14063, "cylinder", 1.5, 255, 0, 0) mSaiCenLV = createMarker (390.03101, 173.79352, 1007.38281, "cylinder", 1.5, 255, 0, 0) mEmpLV = createMarker (362.47623, 173.74311, 1007.38281, "cylinder", 1.25, 255, 255, 0) -- Marker para o painel de empregos setElementInterior (mEmpLV, 3) setElementDimension (mEmpLV, 3) setElementInterior (mSaiCenLV, 3) setElementDimension (mSaiCenLV, 3) createBlipAttachedTo (mEnCenLV, 40, 2, 255, 0, 0, 255, 0, 2000) function entradaCenLV (ThePlayer) if source == mEnCenLV then fadeCamera (ThePlayer, false) setTimer (fadeCamera, 1000, 1, ThePlayer, true) setTimer (setElementInterior, 1000, 1, ThePlayer, 3) setTimer (setElementDimension, 1000, 1, ThePlayer, 3) setTimer (setElementPosition, 1000, 1, ThePlayer, 384.808624, 173.804992, 1008.382812, true) setTimer (setPedRotation, 1000, 1, ThePlayer, 90) end end addEventHandler ("onMarkerHit", root, entradaCenLV) function saidaCenLV (ThePlayer) if source == mSaiCenLV then fadeCamera (ThePlayer, false) setTimer (fadeCamera, 1000, 1, ThePlayer, true) setTimer (setElementInterior, 1000, 1, ThePlayer, 0) setTimer (setElementDimension, 1000, 1, ThePlayer, 0) setTimer (setElementPosition, 1000, 1, ThePlayer, 2375.73682, 2311.94019, 8.14063, true) setTimer (setPedRotation, 1000, 1, ThePlayer, 0) end end addEventHandler ("onMarkerHit", root, saidaCenLV) Edited July 31, 2018 by #Gubiani Obs: debuscript sem erro Link to comment
Other Languages Moderators Lord Henry Posted July 31, 2018 Other Languages Moderators Share Posted July 31, 2018 (edited) Isso acontece pois você está usando a mesma posição para todos os markers de saída, ao colidir em um, está ativando nos demais também. Você precisa usar o parâmetro de matchingDimension para que só funcione se o jogador estiver na mesma dimensão que o marker. Ta ae, deixei comentários pra ficar melhor de entender e algumas observações. -- Prefeitura de Los Santos mEnCenLS = createMarker (1481.12, -1771.81, 17.8, "cylinder", 1.5, 255, 0, 0) -- Evite posições muito decimadas. Prefira no máximo 2 casas decimais. mSaiCenLS = createMarker (390.03, 173.8, 1007.38, "cylinder", 1.5, 255, 0, 0) -- Saiba que esse tipo de marker possui colisão igual ao de tipo checkpoint. mEmpLS = createMarker (362.48, 173.74, 1007.38, "cylinder", 1.25, 255, 255, 0) -- Marker para o painel de empregos setElementInterior (mEmpLS, 3) setElementDimension (mEmpLS, 1) setElementInterior (mSaiCenLS, 3) setElementDimension (mSaiCenLS, 1) createBlipAttachedTo (mEnCenLS, 40, 2, 255, 0, 0, 255, 0, 600) -- Distância não deve ser grande demais para evitar excesso de blips no radar. -- Prefeitura de San Fierro mEnCenSF = createMarker (-2765.90918, 375.61075, 5.33468, "cylinder", 1.5, 255, 0, 0) mSaiCenSF = createMarker (390.03101, 173.79352, 1007.38281, "cylinder", 1.5, 255, 0, 0) mEmpSF = createMarker (362.47623, 173.74311, 1007.38281, "cylinder", 1.25, 255, 255, 0) -- Marker para o painel de empregos setElementInterior (mEmpSF, 3) setElementDimension (mEmpSF, 2) setElementInterior (mSaiCenSF, 3) setElementDimension (mSaiCenSF, 2) createBlipAttachedTo (mEnCenSF, 40, 2, 255, 0, 0, 255, 0, 600) -- Prefeitura de Las Venturas mEnCenLV = createMarker (2375.6, 2307.55, 7.14, "cylinder", 1.5, 255, 0, 0) mSaiCenLV = createMarker (390, 173.8, 1007.38, "cylinder", 1.5, 255, 0, 0) mEmpLV = createMarker (362.48, 173.74, 1007.38, "cylinder", 1.25, 255, 255, 0) -- Marker para o painel de empregos setElementInterior (mEmpLV, 3) setElementDimension (mEmpLV, 3) setElementInterior (mSaiCenLV, 3) setElementDimension (mSaiCenLV, 3) createBlipAttachedTo (mEnCenLV, 40, 2, 255, 0, 0, 255, 0, 2000) function fadeMe (thePlayer) fadeCamera (thePlayer, false) setTimer (fadeCamera, 2000, 1, thePlayer, true) -- Optei por demorar mais pra voltar a câmera para não pegar o interior sendo carregado. end function telesPref (hitElement, matchingDimension) -- Função de todos os markers. Pois vc colocou root no addEventHandler. if source == mEnCenLS then -- Entrada da Prefeitura de LS. if matchingDimension then -- Se o elemento que colidiu está na mesma dimensão do marker, então: if hitElement and getElementType (hitElement) == "player" then -- Se o elemento que colidiu for um player, então: if not getPedOccupiedVehicle (hitElement) then -- Se o jogador que colidiu não estiver em um veículo, então: fadeMe (hitElement) -- Escurece a câmera do player e volta ao normal depois de 2 segundos. setTimer (setElementInterior, 1000, 1, hitElement, 3) -- Depois de escurecer, seta o jogador no interior 3. setTimer (setElementDimension, 1000, 1, hitElement, 1) -- Depois de escurecer, seta o jogador na dimensão 1. setTimer (setElementPosition, 1000, 1, hitElement, 384.8, 173.8, 1008.38, true) -- Depois de escurecer, seta o jogador na posição de dentro. setTimer (setPedRotation, 1000, 1, hitElement, 90) -- Depois de escurecer, aponta o jogador para oeste. -- 1 segundo depois, volta a câmera ao normal. end end end elseif source == mSaiCenLS then -- Saída da Prefeitura de LS. if matchingDimension then if hitElement and getElementType (hitElement) == "player" then if not getPedOccupiedVehicle (hitElement) then fadeMe (hitElement) setTimer (setElementInterior, 1000, 1, hitElement, 0) setTimer (setElementDimension, 1000, 1, hitElement, 0) setTimer (setElementPosition, 1000, 1, hitElement, 1480.92, -1769.21, 18.79, true) setTimer (setPedRotation, 1000, 1, hitElement, 0) -- Aponta o jogador para o norte. end end end elseif source == mEnCenSF then -- Entrada da Prefeitura de SF. if matchingDimension then if hitElement and getElementType (hitElement) == "player" then if not getPedOccupiedVehicle (hitElement) then fadeMe (hitElement) setTimer (setElementInterior, 1000, 1, hitElement, 3) setTimer (setElementDimension, 1000, 1, hitElement, 2) setTimer (setElementPosition, 1000, 1, hitElement, 384.8, 173.8, 1008.38, true) setTimer (setPedRotation, 1000, 1, hitElement, 90) end end end elseif source == mSaiCenSF then -- Saída da Prefeitura de SF. if matchingDimension then if hitElement and getElementType (hitElement) == "player" then if not getPedOccupiedVehicle (hitElement) then fadeMe (hitElement) setTimer (setElementInterior, 1000, 1, hitElement, 0) setTimer (setElementDimension, 1000, 1, hitElement, 0) setTimer (setElementPosition, 1000, 1, hitElement, -2758.37, 375.68, 4.33, true) setTimer (setPedRotation, 1000, 1, hitElement, 270) end end end elseif source == mEnCenLV then -- Entrada da Prefeitura de LV. if matchingDimension then if hitElement and getElementType (hitElement) == "player" then if not getPedOccupiedVehicle (hitElement) then fadeMe (hitElement) setTimer (setElementInterior, 1000, 1, hitElement, 3) setTimer (setElementDimension, 1000, 1, hitElement, 3) setTimer (setElementPosition, 1000, 1, hitElement, 384.8, 173.8, 1008.38, true) setTimer (setPedRotation, 1000, 1, hitElement, 90) end end end elseif source == mSaiCenLV then -- Saída da Prefeitura de LV. if matchingDimension then if hitElement and getElementType (hitElement) == "player" then if not getPedOccupiedVehicle (hitElement) then fadeMe (hitElement) setTimer (setElementInterior, 1000, 1, hitElement, 0) setTimer (setElementDimension, 1000, 1, hitElement, 0) setTimer (setElementPosition, 1000, 1, hitElement, 2375.74, 2311.94, 8.14, true) setTimer (setPedRotation, 1000, 1, hitElement, 0) end end end end end addEventHandler ("onMarkerHit", root, telesPref) -- Executa essa função ao colidir com qualquer marker. Edited July 31, 2018 by Lord Henry 1 Link to comment
#Gubiani Posted August 1, 2018 Author Share Posted August 1, 2018 Muito obrigado, @Lord Henry vou estudar seu script. 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