Portal SAMP
[Ajuda] Dúvidas animações - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Dúvidas animações (/showthread.php?tid=3702)



Dúvidas animações - Usuário Aleatório - 19/06/2023

Estou com uma dúvida,estou várias comandos para diferentes animações,todas seguindo a mesma base:
Código PHP:
CMD:xingar(playerid){
    
ApplyAnimation(playerid"RIOT""RIOT_FUKU"4.000000); 
    return 
1;} 
Mas quando entro no jogo e dou o comando,tenho q escrever o comando 2 VEZES para o personagem fazer a animação,o q estou fazendo de errado?O que eu tenho de acrescentar?


RE: Dúvidas animações - White_Blue - 19/06/2023

Você tem que dar preload na animação antes de tocar.


Código PHP:
#if !defined isnull
    #define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif

stock PreloadAnimLib(playeridanimlib[] = "") {
  if(
isnull(animlib)) {
    PreloadAnimLib(playerid"RIOT"); // Pré-carrega as animações da biblioteca de animações "RIOT".
  
}
    else ApplyAnimation(playeridanimlib"null"0.000000);
    return 1;
}

public 
OnPlayerSpawn(playerid) {
      PreloadAnimLib(playerid);
      return 1;




RE: Dúvidas animações - Usuário Aleatório - 19/06/2023

(19/06/2023 10:29)White_Blue Escreveu: Você tem que dar preload na animação antes de tocar.


Código PHP:
#if !defined isnull
    #define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif

stock PreloadAnimLib(playeridanimlib[] = "") {
  if(isnull(animlib)) {
    PreloadAnimLib(playerid"RIOT"); // Pré-carrega as animações da biblioteca de animações "RIOT".
  }
    else ApplyAnimation(playeridanimlib"null"0.000000);
    return 1;
}

public 
OnPlayerSpawn(playerid) {
      PreloadAnimLib(playerid);
      return 1;

Obrigado pela ajuda mano,mas porquê é q temos de dar preload nas anims,e não pudemos simplesmente fazer como eu tava fazendo (sem dar preload)???Isso q eu n entendi ;-;


RE: Dúvidas animações - White_Blue - 19/06/2023

(19/06/2023 14:08)Usuário Aleatório Escreveu:
(19/06/2023 10:29)White_Blue Escreveu: Você tem que dar preload na animação antes de tocar.


Código PHP:
#if !defined isnull
    #define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif

stock PreloadAnimLib(playeridanimlib[] = "") {
  if(isnull(animlib)) {
    PreloadAnimLib(playerid"RIOT"); // Pré-carrega as animações da biblioteca de animações "RIOT".
  }
    else ApplyAnimation(playeridanimlib"null"0.000000);
    return 1;
}

public 
OnPlayerSpawn(playerid) {
      PreloadAnimLib(playerid);
      return 1;

Obrigado pela ajuda mano,mas porquê é q temos de dar preload nas anims,e não pudemos simplesmente fazer como eu tava fazendo (sem dar preload)???Isso q eu n entendi ;-;

Para a animação funcionar corretamente, você tem que pré-carregá-la, pois antes de ser aplicada, a animação deve ser carregada.


RE: Dúvidas animações - xbruno1000x - 19/06/2023

(19/06/2023 14:08)Usuário Aleatório Escreveu: Obrigado pela ajuda mano,mas porquê é q temos de dar preload nas anims,e não pudemos simplesmente fazer como eu tava fazendo (sem dar preload)???Isso q eu n entendi ;-;

Isso se trata de um problema nativo do SA-MP. A solução descoberta para o problema pela comunidade, foi a de pré-carregar as animações. O seu código em si não tem nenhum problema.