[Ajuda] TextDraw Loop
#1

bom, vou explicar, o player estб no evento ai eu quero formatar o Nome dele, mais eu quero fazer uma fileira com a text
Mais tipo para baixo.. no eixo Y, ai cada player que entrou vai atualizando Nй... Eu tentei fazer usando tutorial da wiki mesmo, nгo quero por em prбtica agora isso, Quero saber se minha lуgica ta dando certo e se sim, como fazer para criar Mais text dos players..
PHP код:
#include a_samp
new Text:welcomeText;
new 
bool:Participando[MAX_PLAYERS];
new 
PlayerName[MAX_PLAYER_NAME];
new 
stg[128];
public 
OnPlayerConnect(playerid)
{
    for(new 
IMAX_PLAYERSI++)
    {
        
welcomeText TextDrawCreate(240.0,580.0,"Welcome to my SA-MP server"); // Peguei la da Wiki Mesmo para tentar fz.
    
}
    return 
1;
}
public 
OnPlayerUpdate(playerid)
{
     
SetTimerEx("AtualizarEV"100true"i"playerid); // Esqueci que aqui й playerid kk.
     
return 1;
}
forward AtualizarEV(playerid);
public 
AtualizarEV(playerid)
{
    for(new 
IMAX_PLAYERSI++)
    {
        if(
Participando[I] == true)
        {
            
TextDrawShowForPlayer(IwelcomeText);
            
format(stgsizeof(stg), "%s Esta no EVENTO"PlayerName[I]);
            
TextDrawSetString(welcomeTextstg);
            return 
1;
        }
    }
    return 
1;

Reply
#2

Й serio isso??
Vocк ja parou pra pensar oque vocк estб fazendo?

2 erros gravнssimos:

- criando timers no OnPlayerUpdate (essa callback й pode ser chamada 30 vezes por segundo caso nгo saiba)
- criando dezenas de textdraws cada vez que um jogador conecta ao servidor.

Obviamente sua "lуgica" estб completamente errada.
Reply
#3

@TOPIC
Resolvido.
Reply
#4

Quando for usar loop em funзхes assim, exemplo, tu vai mandar 100 mensagens, nгo precisa necessariamente usar MAX_PLAYERS em todos os loops, a nгo ser que seja algo para todos os jogadores, nesse caso te recomendo usar foreach, й muito mais rбpido e vocк economiza tempo tambйm, exemplo se tu for mostrar 100 textdraws nгo use MAX_PLAYERS a nгo ser que seu servidor tenha 100 slots, isso funciona mais ou menos como um #define, vocк apenas substitui um apelido por um valor ou outra coisa, caso for 100 slots daria no mesmo de 100, porйm digamos que teu servidor tem 1000 slots e tu vai mostrar 100 textdraws, aн tu vai dar 900 loops atoa.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)