U-N-K-N-O-W-N Posted August 8, 2019 Share Posted August 8, 2019 Salve rapaziada Entao...eu tenho um script de algemar porem eu n gostei da animação dele, int eu troquei a original pela "gift_give" q é a animaçao do CJ dando flores pra namaorada dele...int essa animaçao começa com o CJ "escondendo" as flores nas costas dele e com isso parece q a mao dele esta algemada...eu queria congelar a animaçao nessa parte, qnd as maos do CJ estao pra tras.......alguem pode me ajudar com isso ? Link to comment
DNL291 Posted August 8, 2019 Share Posted August 8, 2019 setPedAnimation( ped, "kissing", "gift_give", -1, false, false, false ) setPedAnimationProgress( ped, "gift_give", .1 ) @OSKHNAV Link to comment
U-N-K-N-O-W-N Posted August 9, 2019 Author Share Posted August 9, 2019 16 hours ago, DNL291 said: setPedAnimation( ped, "kissing", "gift_give", -1, false, false, false ) setPedAnimationProgress( ped, "gift_give", .1 ) @OSKHNAV Mano n consegui...a animaçao n congelou ☹ Link to comment
Other Languages Moderators Lord Henry Posted August 9, 2019 Other Languages Moderators Share Posted August 9, 2019 Tentou com 0.1 no lugar de .1? Link to comment
DNL291 Posted August 9, 2019 Share Posted August 9, 2019 function setPedFreezedAnimation( ... ) local args = { ... } function animRender( ped ) setPedAnimationProgress( ped, args[3], .1 ) setTimer( animRender, 50, 1, ped ) end setPedAnimation( ... ) setTimer ( animRender, 50, 1, args[1] ) end Apenas substitua os nomes, sePedAnimation com o da função acima. 16 minutes ago, Lord Henry said: Tentou com 0.1 no lugar de .1? Lua vai interpretar como 0.1, o valor assim também é aceito. Por exemplo, .199 será o mesmo que 0.199 Link to comment
U-N-K-N-O-W-N Posted August 9, 2019 Author Share Posted August 9, 2019 54 minutes ago, DNL291 said: function setPedFreezedAnimation( ... ) local args = { ... } function animRender( ped ) setPedAnimationProgress( ped, args[3], .1 ) setTimer( animRender, 50, 1, ped ) end setPedAnimation( ... ) setTimer ( animRender, 50, 1, args[1] ) end Apenas substitua os nomes, sePedAnimation com o da função acima. Lua vai interpretar como 0.1, o valor assim também é aceito. Por exemplo, .199 será o mesmo que 0.199 Eu tentei botar o 0 na frente do ponto mas n deu certo ( oq é esse "args" q vc botou no script ? ) Link to comment
Other Languages Moderators Lord Henry Posted August 9, 2019 Other Languages Moderators Share Posted August 9, 2019 Testei só com isso e já funcionou. Ele fica parado no primeiro frame da animação. setPedAnimation (source, "kissing", "gift_give", -1, false, false, false) Link to comment
U-N-K-N-O-W-N Posted August 9, 2019 Author Share Posted August 9, 2019 5 hours ago, Lord Henry said: Testei só com isso e já funcionou. Ele fica parado no primeiro frame da animação. setPedAnimation (source, "kissing", "gift_give", -1, false, false, false) Eu ja consegui congelar mas n foi desse jeito Link to comment
DNL291 Posted August 9, 2019 Share Posted August 9, 2019 "args" vai retornar uma tabela com os parâmetros passados. Esse código você só vai colar dentro do seu script, só chame a função setPedFreezedAnimation: local pedsAnim = {} function setPedFreezedAnimation( ... ) local args = { ... } function animRender( ped ) setPedAnimationProgress( ped, args[3], .1 ) end if setPedAnimation( ... ) then if #args == 1 then if pedsAnim[ args[1] ] then if isTimer(pedsAnim[ args[1] ]) then killTimer(pedsAnim[ args[1] ]) end pedsAnim[ args[1] ] = nil end elseif #args >= 3 then pedsAnim[ args[1] ] = setTimer ( animRender, 20, 0, args[1] ) end end end Atualizei o código. Você vai precisar parar chamando novamente, aqui está um código completo com um comando para a anim pra parar a anim: addCommandHandler( "animstart", function(p) setPedFreezedAnimation( p, "kissing", "gift_give", -1, false, false, false ) end) addCommandHandler( "animstop", function(p) setPedFreezedAnimation( p ) end) local pedsAnim = {} function setPedFreezedAnimation( ... ) local args = { ... } function animRender( ped ) setPedAnimationProgress( ped, args[3], .1 ) end if setPedAnimation( ... ) then if #args == 1 then if pedsAnim[ args[1] ] then if isTimer(pedsAnim[ args[1] ]) then killTimer(pedsAnim[ args[1] ]) end pedsAnim[ args[1] ] = nil end elseif #args >= 3 then pedsAnim[ args[1] ] = setTimer ( animRender, 20, 0, args[1] ) end end end addEventHandler( "onPlayerQuit", root, function() if pedsAnim[source] then if isTimer(pedsAnim[source]) then killTimer(pedsAnim[source]) end pedsAnim[source] = nil end end ) Corrigi pra parar o timer quando para a animação e adicionai isso no "onPlayerQuit". 5 hours ago, Lord Henry said: Testei só com isso e já funcionou. Ele fica parado no primeiro frame da animação. setPedAnimation (source, "kissing", "gift_give", -1, false, false, false) Eu tentei fazer alguns esquemas mas não funciona, provavelmente funcionou depois de você ter tentando uma vez e esperar a anim terminar, daí se fizer de novo "funciona". Só vai funcionar de verdade setando o progresso da anim com um timer. 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