SidneiJR Posted May 23, 2018 Share Posted May 23, 2018 Client: local Ped_Loja1 = createPed( 120, 369.34680175781,-4.4927525520325,1001.8515625 ) setElementInterior(Ped_Loja1, 9 ) setElementDimension(Ped_Loja1, 4) setElementRotation(Ped_Loja1,-0, 0, 178.03739929199) local Entrar_Loja1 = createMarker(2420.4567871094,-1508.8905029297,24+1, "arrow", 1.5, 255, 255, 0, 255) createBlipAttachedTo(Entrar_Loja1, 17 ) local Sair_Loja1 = createMarker(364.90844726563,-11.365772247314,1001.8515625+1, "arrow", 1.5, 255, 255, 0, 255) setElementInterior(Sair_Loja1, 9) setElementDimension(Sair_Loja1, 4) local Marker_Loja1 = createMarker(369.40029907227,-6.3861293792725,1001.8515625-1, "cylinder", 1.5, 255, 0, 0, 255) setElementInterior(Marker_Loja1, 9) setElementDimension(Marker_Loja1, 4) addEventHandler( "onClientMarkerHit", root, function ( Marker1 ) if Marker1 == localPlayer then if source == Entrar_Loja1 and assalta == true and ativo == true and passivo == false then setElementPosition(localPlayer, 364.90844726563,-11.365772247314+2,1001.8515625 ) setElementInterior(localPlayer, 9, 364.90844726563,-11.365772247314+2,1001.8515625) setElementDimension(localPlayer, 4) exports["notices"]:addNotification("Digite /roubar dentro do marker para assaltar a loja",'info') elseif source == Sair_Loja1 then setElementPosition (localPlayer, 2420.4567871094,-1508.8905029297+3,24) setElementInterior (localPlayer, 0, 2420.4567871094,-1508.8905029297+3,24) setElementDimension(localPlayer, 0) end end end ) Em um servidor local com 2 computadores, o computador principal entra no marker Entrar_Loja1 e é movido com sucesso para dimensão 4 interior 9. Já o computador secundário ao entrar no marker Entrar_Loja1 é movido, porém sua dimensão e interior continuam 0. Em um servidor publico com 3 jogadores, o computador principal continua se movendo com sucesso para dimensão e interior. Já os demais jogadores continuam com o problema do computador secundário. O computador principal a que me refiro é o meu. Nenhum erro é gerado no debugscript. Link to comment
DNL291 Posted May 24, 2018 Share Posted May 24, 2018 Porque a dimensão/Interior são setados no lado client. Use o código no lado server que irá funcionar. 1 Link to comment
SidneiJR Posted May 24, 2018 Author Share Posted May 24, 2018 (edited) O script precisa ser do lado client por conta de algumas informações, no caso eu posso utilizar triggerServerEvent somente para setar a dimensão/interior? @Resolvido, Server: function coordenada1() setElementPosition(source, 364.90844726563,-11.365772247314+2,1001.8515625 ) setElementInterior(source, 9, 364.90844726563,-11.365772247314+2,1001.8515625) setElementDimension(source, 4) end addEvent("coordenada1", true) addEventHandler("coordenada1", root, coordenada1) function coordenada2() setElementPosition (source, 2420.4567871094,-1508.8905029297+3,24) setElementInterior (source, 0, 2420.4567871094,-1508.8905029297+3,24) setElementDimension(source, 0) end addEvent("coordenada2", true) addEventHandler("coordenada2", root, coordenada2) Client: local Ped_Loja1 = createPed( 120, 369.34680175781,-4.4927525520325,1001.8515625 ) setElementInterior(Ped_Loja1, 9 ) setElementDimension(Ped_Loja1, 4) setElementRotation(Ped_Loja1,-0, 0, 178.03739929199) local Entrar_Loja1 = createMarker(2420.4567871094,-1508.8905029297,24+1, "arrow", 1.5, 255, 255, 0, 255) createBlipAttachedTo(Entrar_Loja1, 17 ) local Sair_Loja1 = createMarker(364.90844726563,-11.365772247314,1001.8515625+1, "arrow", 1.5, 255, 255, 0, 255) setElementInterior(Sair_Loja1, 9) setElementDimension(Sair_Loja1, 4) local Marker_Loja1 = createMarker(369.40029907227,-6.3861293792725,1001.8515625-1, "cylinder", 1.5, 255, 0, 0, 255) setElementInterior(Marker_Loja1, 9) setElementDimension(Marker_Loja1, 4) addEventHandler( "onClientMarkerHit", root, function ( Marker1 ) if Marker1 == localPlayer then if source == Entrar_Loja1 and assalta == true and ativo == true and passivo == false then triggerServerEvent ("coordenada1", localPlayer) exports["notices"]:addNotification("Digite /roubar dentro do marker para assaltar a loja",'info') elseif source == Sair_Loja1 then triggerServerEvent ("coordenada2", localPlayer) end end end ) Edited May 24, 2018 by SidneiJR Link to comment
DNL291 Posted May 24, 2018 Share Posted May 24, 2018 Isso mesmo. A função setElementInterior já tem os argumentos do teleporte então é desnecessária a função setElementPosition. Também é melhor usar apenas um evento pra isso, tipo assim: --client addEventHandler( "onClientMarkerHit", root, function ( Marker1 ) if Marker1 == localPlayer then if source == Entrar_Loja1 and assalta == true and ativo == true and passivo == false then triggerServerEvent ("doSetPlayerLocation", localPlayer) exports["notices"]:addNotification("Digite /roubar dentro do marker para assaltar a loja",'info') elseif source == Sair_Loja1 then triggerServerEvent ("doSetPlayerLocation", localPlayer, true) end end end ) -- server function setPlayerLocation( exit ) if exit ~= true then setElementInterior(source, 9, 364.90844726563,-11.365772247314+2,1001.8515625) setElementDimension(source, 4) return end setElementInterior (source, 0, 2420.4567871094,-1508.8905029297+3,24) setElementDimension(source, 0) end addEvent("doSetPlayerLocation", true) addEventHandler("doSetPlayerLocation", root, setPlayerLocation) 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