ber Posted December 25, 2020 Share Posted December 25, 2020 (edited) Estou com um problema em meu servidor, onde as vezes (bem raro) quando o player entra em um interior, ele fica caindo no limbo infinitamente, e não para mesmo se relogar, a única maneira de parar é puxar ele através do painel P. Como meu servidor é focado para ser super leve, imagino que o problema seja que o setElementPosition acaba sendo mais rápido que a renderização do interior, fazendo com que ele passe do chão e fique caindo sem parar, acho bem provável ser isso pois o PC da maioria dos players é bem fraco. Atualmente, essa é a função que eu uso para mover o player para um interior: function Enter(playerSource) if getElementType(playerSource) == "player" then if getElementDimension(playerSource) == 0 and getElementInterior(playerSource) == 0 then if not isPedInVehicle(playerSource) then fadeCamera(playerSource, false, 0.5) setTimer(function(playerSource) setElementInterior(playerSource, 0) setElementDimension(playerSource, 0) setElementPosition(playerSource, 1040.612, -1015.891, -47.559) setElementRotation(playerSource, 0, 0, 90) setCameraTarget(playerSource, playerSource) fadeCamera(playerSource, true, 0.5) end, 1000, 1, playerSource) end end end end addEventHandler("onMarkerHit", enterMarker, Enter) Edited December 25, 2020 by ber Link to comment
HiroShi Posted December 26, 2020 Share Posted December 26, 2020 9 hours ago, ber said: Estou com um problema em meu servidor, onde as vezes (bem raro) quando o player entra em um interior, ele fica caindo no limbo infinitamente, e não para mesmo se relogar, a única maneira de parar é puxar ele através do painel P. Como meu servidor é focado para ser super leve, imagino que o problema seja que o setElementPosition acaba sendo mais rápido que a renderização do interior, fazendo com que ele passe do chão e fique caindo sem parar, acho bem provável ser isso pois o PC da maioria dos players é bem fraco. Atualmente, essa é a função que eu uso para mover o player para um interior: function Enter(playerSource) if getElementType(playerSource) == "player" then if getElementDimension(playerSource) == 0 and getElementInterior(playerSource) == 0 then if not isPedInVehicle(playerSource) then fadeCamera(playerSource, false, 0.5) setTimer(function(playerSource) setElementInterior(playerSource, 0) setElementDimension(playerSource, 0) setElementPosition(playerSource, 1040.612, -1015.891, -47.559) setElementRotation(playerSource, 0, 0, 90) setCameraTarget(playerSource, playerSource) fadeCamera(playerSource, true, 0.5) end, 1000, 1, playerSource) end end end end addEventHandler("onMarkerHit", enterMarker, Enter) A própria função setElementInterior, ja bota o player em um determinada posição. Tente assim: function Enter(playerSource) if getElementType(playerSource) == "player" then if getElementDimension(playerSource) == 0 and getElementInterior(playerSource) == 0 then if not isPedInVehicle(playerSource) then fadeCamera(playerSource, false, 0.5) setElementInterior(playerSource, 0, 1040.612, -1015.891, -47.559+0.2) setElementDimension(playerSource, 0) setElementRotation(playerSource, 0, 0, 90) setTimer(function(playerSource) setCameraTarget(playerSource, playerSource) fadeCamera(playerSource, true, 0.5) end, 1000, 1, playerSource) end end end end addEventHandler("onMarkerHit", enterMarker, Enter) 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