[Ajuda] Strcat nъmero de cйlulas
#1

Se eu diminuo o nъmero de cйlulas ele corta a mensagem. Se eu aumento aparece duas vezes. Veja



pawn Код:
public OnDialogResponse
PHP код:
if(dialogid == DIALOG_EVENTO_PREMIO3)
{
    if(
response)
    {
         new 
status[200], string[128];
         
format(eventoPremioTerceiroColocado50inputtext);
         
        for(new 
0MAX_PLAYERSi++)
        {
            if(
IsPlayerConnected(i))
            {
                
format(stringsizeof(string), "{FFD700}1є {FFFFFF}- {FFD700}%s\n"eventoPrimeiroColocado);
                 
strcat(status,string);
                
format(stringsizeof(string), "{FFFFFF}Ganhou: %s\n\n",eventoPremioPrimeiroColocado);
                
strcat(status,string);
                
format(stringsizeof(string), "{FFD700}2є {FFFFFF}- {FFD700}%s\n"eventoSegundoColocado);
                
strcat(status,string);
                
format(stringsizeof(string), "{FFFFFF}Ganhou: %s\n\n",eventoPremioSegundoColocado);
                
strcat(status,string);
                
format(stringsizeof(string), "{FFD700}3є {FFFFFF}- {FFD700}%s\n"eventoTerceiroColocado);
                
strcat(status,string);
                
format(stringsizeof(string), "{FFFFFF}Ganhou: %s\n\n",eventoPremioTerceiroColocado);
                
strcat(status,string);
                
ShowPlayerDialog(iDIALOG_EVENTO_PUBLICARDIALOG_STYLE_MSGBOX"{FFD700}» {FFFFFF}RESULTADO DO EVENTO {FFD700}«"status"Fechar""");
            }
        }
    }

Reply
#2

Aconselho a fazer um debug
Reply
#3

tente
pawn Код:
if(dialogid == DIALOG_EVENTO_PREMIO3)
{
    if(response)
    {
         new status[200], string[200];
         format(eventoPremioTerceiroColocado, 50, inputtext);

        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                 format(string,200, " {FFD700}1є {FFFFFF}- {FFD700}%s\n", eventoPrimeiroColocado);
                 strcat(status,string);

                format(string,200, " {FFFFFF}Ganhou: %s\n\n",eventoPremioPrimeiroColocado);
                strcat(status,string);

                format(string,200, " {FFD700}2є {FFFFFF}- {FFD700}%s\n", eventoSegundoColocado);
                strcat(status,string);

                format(string,200, " {FFFFFF}Ganhou: %s\n\n",eventoPremioSegundoColocado);
                strcat(status,string);

                format(string,200, " {FFD700}3є {FFFFFF}- {FFD700}%s\n", eventoTerceiroColocado);
                strcat(status,string);

                format(string,200, " {FFFFFF}Ganhou: %s\n\n",eventoPremioTerceiroColocado);
                strcat(status,string);

                ShowPlayerDialog(i, DIALOG_EVENTO_PUBLICAR, DIALOG_STYLE_MSGBOX, "{FFD700}» {FFFFFF}RESULTADO DO EVENTO {FFD700}«", status, "Fechar", "");
            }
        }
    }
}
Reply
#4

Quote:
Originally Posted by Wellington1999
Посмотреть сообщение
tente
pawn Код:
if(dialogid == DIALOG_EVENTO_PREMIO3)
{
    if(response)
    {
         new status[200], string[200];
         format(eventoPremioTerceiroColocado, 50, inputtext);

        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                 format(string,200, " {FFD700}1є {FFFFFF}- {FFD700}%s\n", eventoPrimeiroColocado);
                 strcat(status,string);

                format(string,200, " {FFFFFF}Ganhou: %s\n\n",eventoPremioPrimeiroColocado);
                strcat(status,string);

                format(string,200, " {FFD700}2є {FFFFFF}- {FFD700}%s\n", eventoSegundoColocado);
                strcat(status,string);

                format(string,200, " {FFFFFF}Ganhou: %s\n\n",eventoPremioSegundoColocado);
                strcat(status,string);

                format(string,200, " {FFD700}3є {FFFFFF}- {FFD700}%s\n", eventoTerceiroColocado);
                strcat(status,string);

                format(string,200, " {FFFFFF}Ganhou: %s\n\n",eventoPremioTerceiroColocado);
                strcat(status,string);

                ShowPlayerDialog(i, DIALOG_EVENTO_PUBLICAR, DIALOG_STYLE_MSGBOX, "{FFD700}» {FFFFFF}RESULTADO DO EVENTO {FFD700}«", status, "Fechar", "");
            }
        }
    }
}
Ainda continua aparecendo mais do que deve.

Acho que nem adianta eu contar o nъmero de cъlulas tendo em vista que as variбveis armazenam o que й digitado no inputtext do dialog anterior.
Reply
#5

Obrigado a todos, resolvi meu problema.

Fiz o Debug e descobri onde estava o erro. Era o seguinte:

Eu estava colocando o format dentro do for(new i = 0; i < MAX_PLAYERS; i++)

Ou seja, ela estava aparecendo de acordo com a quantidade de players, se tivesse 3 players on, a msg iria aparecer 3 vezes.

Coloquei as formats para fora do for e deixei apenas o dialog dentro.

Obrigado abraзos!
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)