Deniel Posted February 10, 2020 Share Posted February 10, 2020 Tipo a animação é somente o player que faz que consegue ver, eu vejo a minha mais não vejo os outros fazendo. local aberto = false function abrircelular () if aberto == false then aberto = true setPedAnimation (localPlayer, "ped","phone_in", 1000, false, false, false, true) setPedAnimationProgress(localPlayer, "phone_in", 0.8) setPedWeaponSlot(localPlayer, 0) phone = createObject(330, 0, 0, 0, 0, 0, 0) exports.bone_attach:attachElementToBone(phone, localPlayer, 12, 0, 0.01, 0.03, -15, 270, -15) setElementDimension(phone, getElementDimension(localPlayer)) setElementInterior(phone, getElementInterior(localPlayer)) animTimer = setTimer(function() setPedAnimationProgress(localPlayer, "phone_in", 0.8) end, 500, 0) else removePhone() end end bindKey ( "F1", "down", abrircelular) addCommandHandler ( "celular", abrircelular) function removePhone () if aberto == true then if isElement(phone) then destroyElement(phone) end if isTimer(animTimer) then killTimer(animTimer) end aberto = false setPedAnimation (localPlayer, "ped", "phone_out", 50, false, false, false, false) end end addEvent("remover_celular", true) addEventHandler("remover_celular", getRootElement(), removePhone ) Não sei se é por conta da variável. Agradecimento ao member Angelo Pereira que me ajudou. Link to comment
Angelo Pereira Posted February 10, 2020 Share Posted February 10, 2020 Lado do client, a animação não aparece-rá para os demais players, você precisa enviar, a animação para o server-side, para sincronizar a animação com os demais jogadores. 5 hours ago, Deniel said: Agradecimento ao member Angelo Pereira que me ajudou. Por nada, estamos aqui para ajudar-lo Link to comment
Deniel Posted February 11, 2020 Author Share Posted February 11, 2020 3 hours ago, Angelo Pereira said: Lado do client, a animação não aparece-rá para os demais players, você precisa enviar, a animação para o server-side, para sincronizar a animação com os demais jogadores. Por nada, estamos aqui para ajudar-lo Para mim sincronizar, eu utilizo o triggerServerEvent ? Link to comment
Angelo Pereira Posted February 11, 2020 Share Posted February 11, 2020 (edited) 45 minutes ago, Deniel said: Para mim sincronizar, eu utilizo o triggerServerEvent ? A animação só vai sincronizar do lado server, então se você utilizar triggerServerEvent e executa a animação lá, dará certo. Edited February 11, 2020 by Angelo Pereira Link to comment
Deniel Posted February 11, 2020 Author Share Posted February 11, 2020 1 hour ago, Angelo Pereira said: A animação só vai sincronizar do lado server, então se você utilizar triggerServerEvent e executa a animação lá, dará certo. por exemplo assim? -- server-side local aberto = false function abrircelular () if aberto == false then aberto = true setPedAnimation (localPlayer, "ped","phone_in", 1000, false, false, false, true) setPedAnimationProgress(localPlayer, "phone_in", 0.8) setPedWeaponSlot(localPlayer, 0) phone = createObject(330, 0, 0, 0, 0, 0, 0) exports.bone_attach:attachElementToBone(phone, localPlayer, 12, 0, 0.01, 0.03, -15, 270, -15) setElementDimension(phone, getElementDimension(localPlayer)) setElementInterior(phone, getElementInterior(localPlayer)) triggerClientEvent("openPhone", getRootElement()) animTimer = setTimer(function() setPedAnimationProgress(localPlayer, "phone_in", 0.8) end, 500, 0) else removePhone() end end bindKey ( "F1", "down", abrircelular) addCommandHandler ( "celular", abrircelular) ai no client no caso eu teria que criar uma função para os: addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), openPhone) por exemplo? Link to comment
Angelo Pereira Posted February 11, 2020 Share Posted February 11, 2020 -- Client triggerServerEvent("openPhone", localPlayer) -- Server function animacao_open_phone () -- addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone) ---/> Caso não funcionar, tente : -- Client triggerServerEvent("openPhone", getLocalPlayer(), localPlayer) -- Server function animacao_open_phone (source) -- addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone) 1 Link to comment
Deniel Posted February 11, 2020 Author Share Posted February 11, 2020 (edited) 4 hours ago, Angelo Pereira said: -- Client triggerServerEvent("openPhone", localPlayer) -- Server function animacao_open_phone () -- addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone) ---/> Caso não funcionar, tente : -- Client triggerServerEvent("openPhone", getLocalPlayer(), localPlayer) -- Server function animacao_open_phone (source) -- addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone) no debugscript 3 aparece : trigged serverside event openPhone, but event not added serverside. mais a animação ainda funciona Edited February 11, 2020 by Deniel Link to comment
Angelo Pereira Posted February 11, 2020 Share Posted February 11, 2020 9 hours ago, Deniel said: no debugscript 3 aparece : trigged serverside event openPhone, but event not added serverside. mais a animação ainda funciona Como você esta fazendo? Link to comment
Deniel Posted February 11, 2020 Author Share Posted February 11, 2020 20 minutes ago, Angelo Pereira said: Como você esta fazendo? -- client local aberto = false function abrircelular () if aberto == false then aberto = true triggerServerEvent("openPhone", getLocalPlayer(), localPlayer) setPedAnimation (localPlayer, "ped","phone_in", 1000, false, false, false, true) setPedAnimationProgress(localPlayer, "phone_in", 0.8) setPedWeaponSlot(localPlayer, 0) phone = createObject(330, 0, 0, 0, 0, 0, 0) exports.bone_attach:attachElementToBone(phone, localPlayer, 12, 0, 0.01, 0.03, -15, 270, -15) setElementDimension(phone, getElementDimension(localPlayer)) setElementInterior(phone, getElementInterior(localPlayer)) animTimer = setTimer(function() setPedAnimationProgress(localPlayer, "phone_in", 0.8) end, 500, 0) else removePhone() end end bindKey ( "F1", "down", abrircelular) addCommandHandler ( "celular", abrircelular) -- server function animacao_open_phone () if aberto == false then aberto = true setPedAnimation (localPlayer, "ped","phone_in", 1000, false, false, false, true) setPedAnimationProgress(localPlayer, "phone_in", 0.8) setPedWeaponSlot(localPlayer, 0) phone = createObject(330, 0, 0, 0, 0, 0, 0) exports.bone_attach:attachElementToBone(phone, localPlayer, 12, 0, 0.01, 0.03, -15, 270, -15) setElementDimension(phone, getElementDimension(localPlayer)) setElementInterior(phone, getElementInterior(localPlayer)) animTimer = setTimer(function() setPedAnimationProgress(localPlayer, "phone_in", 0.8) end, 500, 0) else removePhone() end end addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone) Link to comment
Angelo Pereira Posted February 11, 2020 Share Posted February 11, 2020 (edited) 37 minutes ago, Deniel said: -- EXEMPLO [1] -- client-side local aberto = false function abrircelular () if aberto == false then aberto = true triggerServerEvent("openPhone", getLocalPlayer(), localPlayer) --setPedAnimation (localPlayer, "ped","phone_in", 1000, false, false, false, true) --setPedAnimationProgress(localPlayer, "phone_in", 0.8) setPedWeaponSlot(localPlayer, 0) phone = createObject(330, 0, 0, 0, 0, 0, 0) exports.bone_attach:attachElementToBone(phone, localPlayer, 12, 0, 0.01, 0.03, -15, 270, -15) setElementDimension(phone, getElementDimension(localPlayer)) setElementInterior(phone, getElementInterior(localPlayer)) --animTimer = setTimer(function() -- setPedAnimationProgress(localPlayer, "phone_in", 0.8) --end, 500, 0) else removePhone() end end bindKey ( "F1", "down", abrircelular) addCommandHandler ( "celular", abrircelular) function removePhone () if aberto == true then if isElement(phone) then destroyElement(phone) end if isTimer(animTimer) then killTimer(animTimer) end aberto = false --setPedAnimation (localPlayer, "ped", "phone_out", 50, false, false, false, false) triggerServerEvent("closePhone", getLocalPlayer(), localPlayer) end end addEvent("remover_celular", true) addEventHandler("remover_celular", getRootElement(), removePhone ) -- server-side ( Você preciar criar outra pasta e não adiciona no client ). local animTimer = {} --/> e disto? function animacao_open_phone ( source ) setPedAnimation (source, "ped","phone_in", 1000, false, false, false, true) setPedAnimationProgress(source, "phone_in", 0.8) animTimer[source] = setTimer(function ( ) --/> Realmente precisa desse tempo em 0,5s?... setPedAnimationProgress(source, "phone_in", 0.8) --/> Disto? end, 500, 0) --/> E disto? end addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone) function desativar_animacao ( source ) if isTimer(animTimer[source]) then killTimer(animTimer[source]) end setPedAnimation ( source , "ped", "phone_out", 50, false, false, false, false) end addEvent("closePhone", true) addEventHandler("closePhone", getRootElement(), desativar_animacao) 1. Você precisa criar outro arquivo server.Lua e então adicionar o server-side e não adicionar isto no client (Obviamente o erro já esta ai). 2. Você esta enviando códigos para o server, não existe mais localPlayer no server-side. 2. Não sou bom com explicações, enfim : Deixarei um 1 exemplo que te ajudará a entender, e você intendera seus erros. -- EXEMPLO [1] -- client-side local aberto = false function abrircelular () if aberto == false then aberto = true triggerServerEvent("openPhone", getLocalPlayer(), localPlayer) --setPedAnimation (localPlayer, "ped","phone_in", 1000, false, false, false, true) --setPedAnimationProgress(localPlayer, "phone_in", 0.8) setPedWeaponSlot(localPlayer, 0) phone = createObject(330, 0, 0, 0, 0, 0, 0) exports.bone_attach:attachElementToBone(phone, localPlayer, 12, 0, 0.01, 0.03, -15, 270, -15) setElementDimension(phone, getElementDimension(localPlayer)) setElementInterior(phone, getElementInterior(localPlayer)) --animTimer = setTimer(function() -- setPedAnimationProgress(localPlayer, "phone_in", 0.8) --end, 500, 0) else removePhone() end end bindKey ( "F1", "down", abrircelular) addCommandHandler ( "celular", abrircelular) function removePhone () if aberto == true then if isElement(phone) then destroyElement(phone) end if isTimer(animTimer) then killTimer(animTimer) end aberto = false --setPedAnimation (localPlayer, "ped", "phone_out", 50, false, false, false, false) triggerServerEvent("closePhone", getLocalPlayer(), localPlayer) end end addEvent("remover_celular", true) addEventHandler("remover_celular", getRootElement(), removePhone ) -- server-side ( Você preciar criar outra pasta e não adiciona no client ). local animTimer = {} --/> e disto? function animacao_open_phone ( source ) setPedAnimation (source, "ped","phone_in", 1000, false, false, false, true) setPedAnimationProgress(source, "phone_in", 0.8) animTimer[source] = setTimer(function ( ) --/> Realmente precisa desse tempo em 0,5s?... setPedAnimationProgress(source, "phone_in", 0.8) --/> Disto? end, 500, 0) --/> E disto? end addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone) function desativar_animacao ( source ) if isTimer(animTimer[source]) then killTimer(animTimer[source]) end setPedAnimation ( source , "ped", "phone_out", 50, false, false, false, false) end addEvent("closePhone", true) addEventHandler("closePhone", getRootElement(), desativar_animacao) -- Esse tempo precisa ser verifica em um onPlayerQuit (Se não o joãozinho sai do servidor com o celular aberto, será 0,5s de floods :( Bom, deixarei explicações, e um melhor jeito de fazer, mais organizado e que não prejudique no desempenho, com os especialista @Lord Henry Edited February 11, 2020 by Angelo Pereira 1 Link to comment
Deniel Posted February 11, 2020 Author Share Posted February 11, 2020 58 minutes ago, Angelo Pereira said: 1. Você precisa criar outro arquivo server.Lua e então adicionar o server-side e não adicionar isto no client (Obviamente o erro já esta ai). 2. Você esta enviando códigos para o server, não existe mais localPlayer no server-side. 2. Não sou bom com explicações, enfim : Deixarei um 1 exemplo que te ajudará a entender, e você intendera seus erros. -- EXEMPLO [1] -- client-side local aberto = false function abrircelular () if aberto == false then aberto = true triggerServerEvent("openPhone", getLocalPlayer(), localPlayer) --setPedAnimation (localPlayer, "ped","phone_in", 1000, false, false, false, true) --setPedAnimationProgress(localPlayer, "phone_in", 0.8) setPedWeaponSlot(localPlayer, 0) phone = createObject(330, 0, 0, 0, 0, 0, 0) exports.bone_attach:attachElementToBone(phone, localPlayer, 12, 0, 0.01, 0.03, -15, 270, -15) setElementDimension(phone, getElementDimension(localPlayer)) setElementInterior(phone, getElementInterior(localPlayer)) --animTimer = setTimer(function() -- setPedAnimationProgress(localPlayer, "phone_in", 0.8) --end, 500, 0) else removePhone() end end bindKey ( "F1", "down", abrircelular) addCommandHandler ( "celular", abrircelular) function removePhone () if aberto == true then if isElement(phone) then destroyElement(phone) end if isTimer(animTimer) then killTimer(animTimer) end aberto = false --setPedAnimation (localPlayer, "ped", "phone_out", 50, false, false, false, false) triggerServerEvent("closePhone", getLocalPlayer(), localPlayer) end end addEvent("remover_celular", true) addEventHandler("remover_celular", getRootElement(), removePhone ) -- server-side ( Você preciar criar outra pasta e não adiciona no client ). local animTimer = {} --/> e disto? function animacao_open_phone ( source ) setPedAnimation (source, "ped","phone_in", 1000, false, false, false, true) setPedAnimationProgress(source, "phone_in", 0.8) animTimer[source] = setTimer(function ( ) --/> Realmente precisa desse tempo em 0,5s?... setPedAnimationProgress(source, "phone_in", 0.8) --/> Disto? end, 500, 0) --/> E disto? end addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone) function desativar_animacao ( source ) if isTimer(animTimer[source]) then killTimer(animTimer[source]) end setPedAnimation ( source , "ped", "phone_out", 50, false, false, false, false) end addEvent("closePhone", true) addEventHandler("closePhone", getRootElement(), desativar_animacao) -- Esse tempo precisa ser verifica em um onPlayerQuit (Se não o joãozinho sai do servidor com o celular aberto, será 0,5s de floods :( Bom, deixarei explicações, e um melhor jeito de fazer, mais organizado e que não prejudique no desempenho, com os especialista @Lord Henry nossa.. isso por um instante passou por minha cabeça de criar outros 2 scripts separados kkkk, to tentando aprender ainda devagar eu vou. agora todos conseguem ver a animação, porém o celular não aparece na mão, mais é o de menos isso. de coração mesmo mano, Muito Obrigado. Link to comment
Angelo Pereira Posted February 11, 2020 Share Posted February 11, 2020 17 minutes ago, Deniel said: nossa.. isso por um instante passou por minha cabeça de criar outros 2 scripts separados kkkk, to tentando aprender ainda devagar eu vou. agora todos conseguem ver a animação, porém o celular não aparece na mão, mais é o de menos isso. de coração mesmo mano, Muito Obrigado. Não dois scripts e sim dois arquivos no mesmo recurso, um para o server, outro para o client. 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