Portal SAMP
[Ajuda] ator - 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] ator (/showthread.php?tid=3053)



ator - Tiago Medeiros - 04/12/2022

Boa tarde a todos. Vim aqui, mais uma vez pedir a ajuda de vocês!!  Big Grin
estou com uma dificuldade, em colocar o textlabel sobre a cabeça do Ator. Exemplo:

Ator 1
/vender

Por favor, preciso disso com urgência, desde já, agradeço!


RE: ator - BrunoHenriqueC - 04/12/2022

Tenta criar um timer em gamemode init:

[pnp]
Codigo:

public ongamemodeinit()
{
SetTimer(#TesteNpc, 1000, 1);
return 1;
}

forward TesteNpc()
public TesteNpc()
{
for(new x=0; x < MAX_PLAYERS; x++)
{
if(IsPlayerNPC(x))
{
format(string,sizeof(string),"NPC\n/vender",x);
SetPlayerChatBubble(x, string, 0x66CC66FF, 7.0, 1000);
}
}
return 1;
}

voce pode usar tbm a sua variavel ex:

[php]

#define MAX_NPCVENDA 22
new MeuNpc[MAX_NPCVENDA];
public ongamemodeinit()
{
SetTimer(#TesteNpc, 1000, 1);
return 1;
}

forward TesteNpc()
public TesteNpc()
{
for(new x=0; x < MAX_NPCVENDA; x++)
{
if(MeuNpc[x])
{
format(string,sizeof(string),"NPC\n/vender",x);
SetPlayerChatBubble(x, string, 0x66CC66FF, 7.0, 1000);
}
}
return 1;
}

ai voce seta este MeuNpc[0] em um ator

CODIGO:

MeuNpc[0]= CreateActor(71,2309.1047,-11.0132,26.7422,178.4853); // actor 71 banco
MeuNpc[1]= CreateActor(71,2309.1047,-11.0132,26.7422,178.4853); // actor 71 banco

E ASSIM VAI!!


RE: ator - White_Blue - 04/12/2022

(04/12/2022 14:13)BrunoHenriqueC Escreveu: Tenta criar um timer em gamemode init:

[pnp]
Codigo:

public ongamemodeinit()
{
      SetTimer(#TesteNpc, 1000, 1);
      return 1;
}

forward TesteNpc()
public TesteNpc()
{
    for(new x=0; x < MAX_PLAYERS; x++)
    {
          if(IsPlayerNPC(x))
        {
              format(string,sizeof(string),"NPC\n/vender",x);
      SetPlayerChatBubble(x, string, 0x66CC66FF, 7.0, 1000);
        }
    }
    return 1;
}

voce pode usar tbm a sua variavel ex:

[php]

#define MAX_NPCVENDA 22
new MeuNpc[MAX_NPCVENDA];
public ongamemodeinit()
{
      SetTimer(#TesteNpc, 1000, 1);
      return 1;
}

forward TesteNpc()
public TesteNpc()
{
    for(new x=0; x < MAX_NPCVENDA; x++)
    {
          if(MeuNpc[x])
        {
              format(string,sizeof(string),"NPC\n/vender",x);
      SetPlayerChatBubble(x, string, 0x66CC66FF, 7.0, 1000);
        }
    }
  return 1;
}

ai voce seta este MeuNpc[0] em um ator

[php]
      MeuNpc[0]= CreateActor(71,2309.1047,-11.0132,26.7422,178.4853); // actor 71 banco
      MeuNpc[1]= CreateActor(71,2309.1047,-11.0132,26.7422,178.4853); // actor 71 banco

E ASSIM VAI!!

É muito mais simples e otimizado você colocar a textlabel nas mesmas coordenadas do ator.


RE: ator - BrunoHenriqueC - 04/12/2022

(04/12/2022 14:14)White_Blue Escreveu:
(04/12/2022 14:13)BrunoHenriqueC Escreveu: Tenta criar um timer em gamemode init:

[pnp]
Codigo:

public ongamemodeinit()
{
      SetTimer(#TesteNpc, 1000, 1);
      return 1;
}

forward TesteNpc()
public TesteNpc()
{
    for(new x=0; x < MAX_PLAYERS; x++)
    {
          if(IsPlayerNPC(x))
        {
              format(string,sizeof(string),"NPC\n/vender",x);
      SetPlayerChatBubble(x, string, 0x66CC66FF, 7.0, 1000);
        }
    }
    return 1;
}

voce pode usar tbm a sua variavel ex:

[php]

#define MAX_NPCVENDA 22
new MeuNpc[MAX_NPCVENDA];
public ongamemodeinit()
{
      SetTimer(#TesteNpc, 1000, 1);
      return 1;
}

forward TesteNpc()
public TesteNpc()
{
    for(new x=0; x < MAX_NPCVENDA; x++)
    {
          if(MeuNpc[x])
        {
              format(string,sizeof(string),"NPC\n/vender",x);
      SetPlayerChatBubble(x, string, 0x66CC66FF, 7.0, 1000);
        }
    }
  return 1;
}

ai voce seta este MeuNpc[0] em um ator

[php]
      MeuNpc[0]= CreateActor(71,2309.1047,-11.0132,26.7422,178.4853); // actor 71 banco
      MeuNpc[1]= CreateActor(71,2309.1047,-11.0132,26.7422,178.4853); // actor 71 banco

E ASSIM VAI!!

É muito mais simples e otimizado você colocar a textlabel nas mesmas coordenadas do ator.

Sim eu sei, mas ele pode fazer assim e depois ir otimizando, isso ai que eu postei é para novatos mesmo, alem de que ele vai poder ter menos trabalho de por cordenada por cordenada de ator, isso ja pega td e coloca la


RE: ator - White_Blue - 04/12/2022

(04/12/2022 14:17)BrunoHenriqueC Escreveu:
(04/12/2022 14:14)White_Blue Escreveu:
(04/12/2022 14:13)BrunoHenriqueC Escreveu: Tenta criar um timer em gamemode init:

[pnp]
Codigo:

public ongamemodeinit()
{
      SetTimer(#TesteNpc, 1000, 1);
      return 1;
}

forward TesteNpc()
public TesteNpc()
{
    for(new x=0; x < MAX_PLAYERS; x++)
    {
          if(IsPlayerNPC(x))
        {
              format(string,sizeof(string),"NPC\n/vender",x);
      SetPlayerChatBubble(x, string, 0x66CC66FF, 7.0, 1000);
        }
    }
    return 1;
}

voce pode usar tbm a sua variavel ex:

[php]

#define MAX_NPCVENDA 22
new MeuNpc[MAX_NPCVENDA];
public ongamemodeinit()
{
      SetTimer(#TesteNpc, 1000, 1);
      return 1;
}

forward TesteNpc()
public TesteNpc()
{
    for(new x=0; x < MAX_NPCVENDA; x++)
    {
          if(MeuNpc[x])
        {
              format(string,sizeof(string),"NPC\n/vender",x);
      SetPlayerChatBubble(x, string, 0x66CC66FF, 7.0, 1000);
        }
    }
  return 1;
}

ai voce seta este MeuNpc[0] em um ator

[php]
      MeuNpc[0]= CreateActor(71,2309.1047,-11.0132,26.7422,178.4853); // actor 71 banco
      MeuNpc[1]= CreateActor(71,2309.1047,-11.0132,26.7422,178.4853); // actor 71 banco

E ASSIM VAI!!

É muito mais simples e otimizado você colocar a textlabel nas mesmas coordenadas do ator.

Sim eu sei, mas ele pode fazer assim e depois ir otimizando, isso ai que eu postei é para novatos mesmo, alem de que ele vai poder ter menos trabalho de por cordenada por cordenada de ator, isso ja pega td e coloca la

Não faz sentido você postar um código complexo e que pode ser encurtado em 3 linhas(Ainda mais para novatos).


RE: ator - Vel - 04/12/2022

(04/12/2022 14:13)BrunoHenriqueC Escreveu: Tenta criar um timer em gamemode init:

[pnp]
Codigo:

public ongamemodeinit()
{
      SetTimer(#TesteNpc, 1000, 1);
      return 1;
}

forward TesteNpc()
public TesteNpc()
{
    for(new x=0; x < MAX_PLAYERS; x++)
    {
          if(IsPlayerNPC(x))
        {
              format(string,sizeof(string),"NPC\n/vender",x);
      SetPlayerChatBubble(x, string, 0x66CC66FF, 7.0, 1000);
        }
    }
    return 1;
}

voce pode usar tbm a sua variavel ex:

[php]

#define MAX_NPCVENDA 22
new MeuNpc[MAX_NPCVENDA];
public ongamemodeinit()
{
      SetTimer(#TesteNpc, 1000, 1);
      return 1;
}

forward TesteNpc()
public TesteNpc()
{
    for(new x=0; x < MAX_NPCVENDA; x++)
    {
          if(MeuNpc[x])
        {
              format(string,sizeof(string),"NPC\n/vender",x);
      SetPlayerChatBubble(x, string, 0x66CC66FF, 7.0, 1000);
        }
    }
  return 1;
}

ai voce seta este MeuNpc[0] em um ator

CODIGO:

      MeuNpc[0]= CreateActor(71,2309.1047,-11.0132,26.7422,178.4853); // actor 71 banco
      MeuNpc[1]= CreateActor(71,2309.1047,-11.0132,26.7422,178.4853); // actor 71 banco

E ASSIM VAI!!

Isso não vai funcionar...

É só criar um TextLabel na posição do ator e adicionar um pouco na coordenada Z, pra que o texto fique acima dele.


RE: ator - BrunoHenriqueC - 04/12/2022

olha gente funcionou cmg, mas vcs que sabem


RE: ator - Tiago Medeiros - 04/12/2022

bom, comigo não funcionou, apenas criou o ator. eu quero colocar um textlabel sobre a cabeça dele. não estou conseguindo fazer de jeito nenhum!


RE: ator - White_Blue - 06/12/2022

(04/12/2022 15:01)Tiago Medeiros Escreveu: bom, comigo não funcionou, apenas criou o ator. eu quero colocar um textlabel sobre a cabeça dele. não estou conseguindo fazer de jeito nenhum!

Citar:É só criar um TextLabel na posição do ator e adicionar um pouco na coordenada Z, pra que o texto fique acima dele.

Se tiver dificuldades, me chama Discord.


RE: ator - Carlos Victor - 07/12/2022

Há dois tópicos com o mesmo assunto aberto, acredito que o outro já tem a resposta da dúvida, então presumo que esse esteja já fechado.