SidneiJR Posted May 23, 2018 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.
DNL291 Posted May 24, 2018 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 Please do not PM me with scripting related question nor support, use the forums instead.
SidneiJR Posted May 24, 2018 Author 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
DNL291 Posted May 24, 2018 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) Please do not PM me with scripting related question nor support, use the forums instead.
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