Compartilhe
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21907
Reputação : 674
Desde : 03/05/2012
Idade : 21
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
  • Reputação da mensagem: 100% (1 votos)

#. Uso de animações

em Sex 03 Mar 2017, 10:06


Animações — crucial quando você for criar cenas de missões, assim outros mods de ações/tarefas que você esteja pensando em fazer. Entender como usar animações é altamente importante.

Concluindo este tutorial você vai:
Saber como usar os principais comandos de tarefa de animações em chars, tendo uma introdução sobre animações e diferenças entre eles e uso de seus parâmetros.



Como usar animações?


O uso de IFP já foi explicado no tutorial de como manipular modelos e criar entidades. Só lembrando: Se você for usar o PED.IFP, não precisa carregar!


Comandos


Há realmente vários comandos que pedem animações, e são todos basicamente os mesmos (geralmente alguns que, além de fazer alguma coisa, também pede uma anim etc).

Os principais são:
TASK_PLAY_ANIM — Toca uma animação num char, podendo ser interrompido caso este seja morto, atropelado ou coisa do tipo.
TASK_PLAY_ANIM_NON_INTERRUPTABLE — Mesmo acima, mas agora ele nunca será interrompido, ele fará a animação seja o que for, mesmo que morra.
TASK_PLAY_ANIM_SECONDARY — Usado para animações "parciais" (partials) onde só move parcialmente o corpo. Por exemplo: Fumar só mexe o braço e cabeça, assim você pode fumar e andar ao mesmo tempo.

Há alguns outros, mas você dificilmente usará outro a não ser estes. Escolha dependente da situação.


Argumentos


Os argumentos para os três acima são iguais e você pode ir no "See online reference" (ou clicar aqui mesmo) para ver melhor. Vou repetir, traduzir e explicar diferente:
[char handle] — O handle do char.
[string1] — Nome da animação dentro do .ifp
[string2] — Nome do .ifp
[flt] — Taxa de velocidade (por padrão, "4.0". Você dificilmente vai querer usar outro número a não ser 4.0)
[int1] — Ativa repetição (loop)
[int2] — Faz o char continuar na coordenada X (esquerda-direita) quando a animação termina. Você dificilmente vai querer ativar isso.
[int3] — Faz o char continuar na coordenada Y (frente-atrás) quando a animação termina. Você dificilmente vai querer ativar isso.
[int4] — Trava o char na posição final da animação, assim, quando a animação terminar, ele continuará na mesma pose do frame final dela.
[int5] — Tempo (duração) em milissegundos. Use "-1" para ser o tempo total da animação.

Já está tudo explicado.

Vamos fazer o CJ coçar o saco:

Código copiável:

Código:
SCRIPT_START
{
LVAR_INT scplayer

GET_PLAYER_CHAR 0 scplayer

REQUEST_ANIMATION MISC
LOAD_ALL_MODELS_NOW

main_loop:
WAIT 0
IF IS_KEY_PRESSED VK_KEY_Y
    TASK_PLAY_ANIM scplayer Scratchballs_01 MISC 4.0 0 0 0 0 -1
    WHILE IS_KEY_PRESSED VK_KEY_Y
        WAIT 0
    ENDWHILE
ENDIF
GOTO main_loop
}
SCRIPT_END
Você pode querer digitar este comando de várias maneiras. Como eu já disse, você pode usar os carácteres ( ) , de forma cosmética para melhorar a leitura. Ou usar constantes TRUE/FALSE / ON/OFF, ou maiúsculas/minúsculas, ou aspas... GTA3script deve ser uma das linguagens mais freestyle (as aspas foram incluídas por causa da CLEO, no original GTA3script nem exist aspas).
Código:
TASK_PLAY_ANIM scplayer Scratchballs_01 MISC 4.0 0 0 0 0 -1
TASK_PLAY_ANIM scplayer (Scratchballs_01, MISC) 4.0 0 0 0 0 -1
TASK_PLAY_ANIM scplayer (Scratchballs_01, MISC) 4.0 (0 0 0 0) -1
TASK_PLAY_ANIM scplayer (Scratchballs_01, MISC) 4.0 (FALSE, FALSE, FALSE, FALSE) -1
TASK_PLAY_ANIM scplayer (SCRATCHBALLS_01, MISC) 4.0 (FALSE, FALSE, FALSE, FALSE) -1
TASK_PLAY_ANIM scplayer "SCRATCHBALLS_01" "MISC" 4.0 (0, 0, 0, 0) -1
Tudo funciona.

Tente fazer misturas de argumentos, deixando esta animação em loop durante 10 segundos. Consegue?

Para você forçar a parada de uma animação (útil caso você tenha deixado uma animação em loop infinito), use comandos como CLEAR_CHAR_TASKS ou CLEAR_CHAR_TASKS_IMMEDIATELY.

Quando algum comando pede uma animação mas você não quer usar, como por exemplo TASK_PICK_UP_OBJECT, use "NULL" onde pede o nome da animação e IFP.

Como dito, nas animações parciais use o comando TASK_PLAY_ANIM_SECONDARY
Código:
TASK_PLAY_ANIM_SECONDARY scplayer plyr_shkhead MISC 4.0 0 0 0 0 -1
Neste exemplo, o CJ fará uma animação tipo "FACEPALM", e ao mesmo tempo você pode andar.

Note inclusive que você pode usar animações em objetos! PLAY_OBJECT_ANIM


Como saber os nomes das animações e .ifp?


Para encontrar os nomes das animações e seus .ifp, atualmente recomendo altamente o GTA Anim Manager do Ryosuke839. Baixe aqui.
Se você não sabe usar, dê uma olhada na seção "9. Abrindo uma animação" no tutorial de como criar animações, lá tem uma rápida explicação do GTA Anim Manager.
É tudo muito fácil... Só carregue o anim.img (ele é um arquivo não usado pelo jogo, mas enfim, todas as animações que estão nele estão no gta3.img, e é mais prático abrir ele do que o gta3.img), e vendo as animações você pode escolhê-las. Para saber se uma animação é parcial, você verá que na animação somente por exemplo os braços se movem, e não as pernas (assim, o personagem no GTA Anim Manager pode aparecer virado de lado, bugado).

No caso de um .ifp adicionado, simplesmente instale normalmente e carregue-o. Sem problemas.

______________________________

avatar
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 83
Reputação : 0
Desde : 01/03/2017
Idade : 13
Localização : São João da Boa Vista-SP
Ver perfil do usuário

Re: #. Uso de animações

em Sex 03 Mar 2017, 13:35
Aí sim
avatar
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 14
Reputação : 0
Desde : 12/02/2017
Ver perfil do usuário

Re: #. Uso de animações

em Sab 22 Jul 2017, 23:28
sabe se é possível coverter os peds com as animações originais do gta vc para san ?
Conteúdo patrocinado

Re: #. Uso de animações

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum