.Dev Posted December 30, 2019 Share Posted December 30, 2019 Olá pessoal, gostaria de uma ajuda, eu estou editando um script de Taser e encontrei os seguintes problemas: - O jogador fica freezado, porem não inicia a animação; - O Jogador inicia a animação porem não fica freezado; Também tentei bloquear as teclas com "onClientKey", e uma tabela com todas as teclas seguido de um cancelEvent(), pra evitar que o mesmo burle a animação, ou simplesmente se mova enquanto está caido. Para fazer isso eu fiz um script para pegar onde foi o tiro no jogador utilizando a função "onClientPlayerDamage" e "onClientPedDamage". Deixando de lado as animações diferentes eu fiz uma função para trigar o evento do lado server: -- Freezar Player que Tomou Taser -- function playerTased(source) setPedFrozen(source, true) toggleAllControls(source, false, false, false) setTimer(function() setPedFrozen(source, false) toggleAllControls(source, true, true, true) end, 5000, 1) end addEvent("onPlayerTased", true) addEventHandler("onPlayerTased", getRootElement(), playerTased) E passei do lado client chamando o evento da seguinte forma: triggerServerEvent("onPlayerTased", localPlayer, source) setPedAnimation(source, "ped", "KO_shot_face", 10000, false, true, false) A minha duvida é a seguinte, tem alguma forma de eu forçar o Freeze com o cara no chão no final da animação? Existe alguma outra função que possa me ajudar, porque sendo um servidor RP, não tem como eu deixar o cara ter a possibilidade de se mover ou até mesmo atirar, que é esse um dos outros problemas, quando a animação não acontece, o jogador ainda consegue atirar, mesmo quando eu usei o cancelEvent() e o For com as keys. Link to comment
Tommy. Posted December 30, 2019 Share Posted December 30, 2019 Se eu não me engano(posso estar enganado.) Quando você freeza um player a animação é cancelada. O que você pode fazer, ao invés de usar freeze você desativar pra ele conseguir andar. toggleControl Link to comment
.Dev Posted December 30, 2019 Author Share Posted December 30, 2019 (edited) 9 hours ago, Tommy. said: Se eu não me engano(posso estar enganado.) Quando você freeza um player a animação é cancelada. O que você pode fazer, ao invés de usar freeze você desativar pra ele conseguir andar. toggleControl Então Tommy, obrigado por responder, mas no exemplo de código acima eu já uso o toggleAllControls e ja tentei usar o toggleControl, porem o jogador continua conseguindo cancelar a animação e se movimentar. Teria alguma outra opção pra frezzar ou proibir o mesmo de realizar qualquer ação, porque eu já tentei bloquear os 3 tipos de controle e mesmo assim não adiantou. Edited December 30, 2019 by .Dev Link to comment
THG Posted March 16, 2020 Share Posted March 16, 2020 (edited) você pode usar no server-side function setTaserAnim(group, anim) for _, player in pairs(getElementsByType("player", root, true)) do setPedAnimation(source, group, anim, -1, false, false, false) setTimer(setPedAnimation, 10000, 1, source) setElementData(source, "Taser", true) setTimer(function() setElementData(player, "Taser", false) end, 10000, 1 ) end end end addEvent("setTaserAnim", true) addEventHandler("setTaserAnim", root, setTaserAnim) e no client addEventHandler("onClientKey", root, function (button, press) if getElementData(getLocalPlayer(),"Taser") then if button == "F1" or button == "F2" or button == "F3" or button == "F4" or button == "F5" or button == "F6" or button == "t" or button == "m" or button == "x" or button == "u" or button == "i" or button == "o" or button == "b" or button == "x" or button == "mouse2" or button == "F9" then cancelEvent() end end end ) cFunc["anim_check"] = function(attacker, wep) if isElement(attacker) and getElementType(attacker) == "player" then if wep == 23 then cancelEvent() triggerServerEvent("setTaserAnim", source, "CRACK", "crckdeth2") end end end addEventHandler("onClientPlayerDamage", root, cFunc["anim_check"]) Edited March 16, 2020 by THG Link to comment
raynner Posted March 17, 2020 Share Posted March 17, 2020 Não vejo erro no seu código mas respondendo a sua pergunta sobre deixar o cara no chão usando um frame da animação é possível usando setPedAnimationProgress 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