Portal SAMP
[Ajuda] Problema com Variaveis e Chat Bubble - 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] Problema com Variaveis e Chat Bubble (/showthread.php?tid=3524)



Problema com Variaveis e Chat Bubble - Laura Clout - 16/04/2023

Eu fiz um código bem rápido, porém estou tendo problema ao por no Chat Bubble, ele é feito para aparecer notificações de infos de jogadores em cima da cabeça dele, porém acho que o problema é na forma que fiz para por as variaveis, está assim:

forward EscondeTitulo(playerid);
public EscondeTitulo(playerid)
{
AvisoTitulo[playerid] = 0;
return 1;
}

stock AvisarMsg(playerid, const message[])
{
new stringgg[250];
strcat(stringgg, message);
format(AvisoTitulo[playerid], 120, "%s", stringgg);
SetTimerEx("EscondeTitulo", 15000, false, "i", playerid);
return 1;
}

O problema está quando as vezes aparece no outro jogador, sendo que deveria aparecer apenas para o "playerid" que mandei o AvisarMsg, tentei 5 vezes e algumas vezes aparece do nada o mesmo titulo meio bugado no outro jogador (que tem nada haver com isso)

Estou usando isso no ChatBubble, pode ser por que está como constante? tamanho do ChatBubble? como eu deveria arrumar?


RE: Problema com Variaveis e Chat Bubble - White_Blue - 16/04/2023

Você está usando essa função "AvisarMsg" você está usando no lugar da função nativa SetPlayerChatBubble? E com "Tamanho" você se refere ao parâmetro final da função? Aquele parâmetro não é referente ao tamanho do Chat Bubble, mas sim ao tempo que ele fica visível acima da cabeça do jogador.

Use a função nativa SetPlayerChatBubble ao invés dessa função que você criou.


RE: Problema com Variaveis e Chat Bubble - Laura Clout - 16/04/2023

Olha, estou usando para enviar uma mensagem na cabeça de tal player, usando a stock que criei, porém eu coloco essa informação na cabeça do player usando ChatBubble, porém esse ChatBubble está meio grande, não sei se pode ser isso, mas as vezes eu mando essa função para o player (Setar na cabeça de tal player) e do nada eu vendo pelo pc tá setando no outro também, de uma forma com os textos bugados..

if(TrabalhandoAdmin[playerid] == false && AvisoTitulo[playerid] != 0)
{
format(textstring, sizeof(textstring), "{C032D13}%s\nJogador Comum\n{ff5232}%s (%d)", AvisoTitulo[playerid], nome, playerid);
SetPlayerChatBubble(playerid, textstring, -1, 14.0, 30000);
}


RE: Problema com Variaveis e Chat Bubble - Laura Clout - 18/04/2023

Alguém consegue me ajudar por favor? eu acho que pode até ser o limite do ChatBubble que está grande.. mas buga as vezes em cima do outro player, ai aparece o texto só que uma versão bugada, ai acho que também pode ser na forma que fiz a stock AvisarMsg


RE: Problema com Variaveis e Chat Bubble - White_Blue - 18/04/2023

(16/04/2023 18:33)Laura Clout Escreveu: Olha, estou usando para enviar uma mensagem na cabeça de tal player, usando a stock que criei, porém eu coloco essa informação na cabeça do player usando ChatBubble, porém esse ChatBubble está meio grande, não sei se pode ser isso, mas as vezes eu mando essa função para o player (Setar na cabeça de tal player) e do nada eu vendo pelo pc tá setando no outro também, de uma forma com os textos bugados..

if(TrabalhandoAdmin[playerid] == false && AvisoTitulo[playerid] != 0)
{
format(textstring, sizeof(textstring), "{C032D13}%s\nJogador Comum\n{ff5232}%s (%d)", AvisoTitulo[playerid], nome, playerid);
SetPlayerChatBubble(playerid, textstring, -1, 14.0, 30000);
}

Para que serve essa variável AvisoTitulo e para que você está usando aquela stock? Por que para mim, esse seu código não está fazendo o menor sentido.


RE: Problema com Variaveis e Chat Bubble - Carlos Victor - 18/04/2023

1. Não tem como eu mostrar um SetPlayerChatBubble para o mesmo jogador passado no parâmetro, ele não consegue ver.
2. Ao que eu entendi do que você disse, que por sinal está bem confuso, você quer criar aquelas TAG's em cima dos jogadores para que apareça uma informação ali dele, eu refiz o código e cheguei a essa conclusão:
Código PHP:
public OnGameModeInit()
{
    
SetTimer("UpdateChatBubble"1000true);
    return 
1;
}

forward UpdateChatBubble();
public 
UpdateChatBubble()
{
    for(new 
0GetPlayerPoolSize(); <= ji++) {

        if(
IsPlayerConnected(i))
        {
            
format(stringsizeof(string), "{ff5232}%s (%d)\n{C032D1}Jogador Comum"namei);
            
SetPlayerChatBubble(istring0xFFFFFFFF20.01200);
        }

    }
    return 
1;


3. O código acima irá atualizar a cada um segundo essa TAG do jogador, aí você altera da forma que quiser.

SetPlayerChatBubble