O.G Kash Posted May 19, 2019 Share Posted May 19, 2019 Estou querendo fazer com que o player inicie uma animação e ele fique congelado. Isso foi o que eu fiz: function anim (player) local animation = setPedAnimation (player, "int_house", "wash_up", 10000, true, false, false, false) if animation then setElementFrozen (player, true) setTimer (setElementFrozen, 10000, 1, player, false) end end addEventHandler ("onMarkerHit", m1, anim) Link to comment
Jonas^ Posted May 19, 2019 Share Posted May 19, 2019 Eu fiz um teste aqui e por algum motivo a animação só executa depois que digita o comando pela segunda vez, não sei se é uma falha da função, se quiser testar: addCommandHandler ("teste", function (thePlayer, cmd) setPedAnimation (thePlayer, "int_house", "wash_up", 1000, false, false, nil, false) setElementFrozen (thePlayer, true) outputChatBox ("@TRAVADO", thePlayer, 255, 0, 0) setTimer (function () outputChatBox ("@DESTRAVADO", thePlayer, 0, 255, 0) setElementFrozen (thePlayer, false) setPedAnimation (thePlayer) end, 1000, 1) end) Sobre o ficar travado esta funcionando, só não entendi realmente o porque da animação não funcionar. Link to comment
Other Languages Moderators Lord Henry Posted May 19, 2019 Other Languages Moderators Share Posted May 19, 2019 O 7º argumento da animação (interruptable) é um booleano e não nil. Link to comment
Jonas^ Posted May 19, 2019 Share Posted May 19, 2019 Sim, eu fiz um teste com bool e mesmo assim ele continuou funcionando após a segunda execução do comando, acho que é alguma falha na função. @Lord Henry Link to comment
Other Languages Moderators Lord Henry Posted May 19, 2019 Other Languages Moderators Share Posted May 19, 2019 Testou com marker também? @Jonas^ Link to comment
Jonas^ Posted May 19, 2019 Share Posted May 19, 2019 Sim, testei agora e não funciona de qualquer maneira. local myMarker = createMarker (-2511, -481, 90, "cylinder", 1.5, 255, 255, 0, 170) addEventHandler ("onMarkerHit", myMarker, function (hitElement, matchingDimension) setPedAnimation (hitElement, "int_house", "wash_up", 1000, false, false, false, false) setElementFrozen (hitElement, true) outputChatBox ("@TRAVADO", hitElement, 255, 0, 0) setTimer (function () outputChatBox ("@DESTRAVADO", hitElement, 0, 255, 0) setElementFrozen (hitElement, false) setPedAnimation (hitElement) end, 1000, 1) end) Já vi gente falar disso do setPedAnimation mas nunca havia testado e realmente parece que tem uma falha. Link to comment
O.G Kash Posted May 19, 2019 Author Share Posted May 19, 2019 Então, esse é meu problema, quando o jogador passa pelo marker ele freeza primeiro e nem inicia a animação (apenas se der restart no resource em cima do marker) Link to comment
Other Languages Moderators Lord Henry Posted May 20, 2019 Other Languages Moderators Share Posted May 20, 2019 (edited) Então cara. Eu testei aqui. Solução: Do jeito que está, com setElementFrozen DEPOIS da animação, ele não funciona. Com setElementFrozen ANTES da animação, ele funciona. Aparentemente o setElementFrozen é capaz de cancelar animações. Quando vc anima o personagem na linha anterior, ao dar freeze na linha seguinte, cancela a animação. Trocando as linhas de lugar, corrige o problema. local m1 = createMarker (-2511, -481, 90, "cylinder", 1.5, 255, 255, 0, 170) -- Marker do Jonas^ substitua pelo seu. addEventHandler ("onMarkerHit", m1, function (hitElement, matchingDimension) setElementFrozen (hitElement, true) setPedAnimation (hitElement, "int_house", "wash_up", 10000, true, false, false, false) setTimer (setElementFrozen, 10000, 1, hitElement, false) end) Edited May 20, 2019 by Lord Henry 1 Link to comment
Jonas^ Posted May 20, 2019 Share Posted May 20, 2019 11 minutes ago, Lord Henry said: Então cara. Eu testei aqui. Solução: Do jeito que está, com setElementFrozen DEPOIS da animação, ele não funciona. Com setElementFrozen ANTES da animação, ele funciona. Aparentemente o setElementFrozen é capaz de cancelar animações. Quando vc anima o personagem na linha anterior, ao dar freeze na linha seguinte, cancela a animação. Trocando as linhas de lugar, corrige o problema. local m1 = createMarker (-2511, -481, 90, "cylinder", 1.5, 255, 255, 0, 170) -- Marker do Jonas^ substitua pelo seu. addEventHandler ("onMarkerHit", m1, function (hitElement, matchingDimension) setElementFrozen (hitElement, true) setPedAnimation (hitElement, "int_house", "wash_up", 10000, true, false, false, false) setTimer (setElementFrozen, 10000, 1, hitElement, false) end) Estranho na wiki deveria informar que o frozen cancelava qualquer tipo de animação. Link to comment
Other Languages Moderators Lord Henry Posted May 20, 2019 Other Languages Moderators Share Posted May 20, 2019 Sim, acabei de testar colocando o setElementFrozen após 1 segundo de animação, ele realmente cancela a animação ao ser chamado, no caso, a animação durou só aquele 1 segundo antes do freeze. Link to comment
Jonas^ Posted May 20, 2019 Share Posted May 20, 2019 Interessante descoberta uashasuas, o certo era a página da wiki do frozen ser atualizada informando isso. Link to comment
Other Languages Moderators Lord Henry Posted May 20, 2019 Other Languages Moderators Share Posted May 20, 2019 9 minutes ago, Jonas^ said: o certo era a página da wiki do frozen ser atualizada informando isso Leia a página novamente. Link to comment
Jonas^ Posted May 20, 2019 Share Posted May 20, 2019 7 minutes ago, Lord Henry said: Leia a página novamente. Agora sim aeuhafueefa Link to comment
Other Languages Moderators Lord Henry Posted May 20, 2019 Other Languages Moderators Share Posted May 20, 2019 Se me permitem, eu faria um upgrade nesse script de congelar, ficaria assim: local m1 = createMarker (-2511, -481, 90, "cylinder", 1.5, 255, 255, 0, 170) -- Marker do Jonas^ Brothers addEventHandler ("onMarkerHit", m1, function (hitElement, matchingDimension) if hitElement and getElementType (hitElement) == "player" and matchingDimension then setElementFrozen (hitElement, true) toggleAllControls (hitElement, false) setTimer (function () setPedAnimation (hitElement, "int_house", "wash_up", 10000, true, false, false, false) setTimer (function () setElementFrozen (hitElement, false) toggleAllControls (hitElement, true) end, 10000, 1) end, 1000, 1) end end) 2 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