[Ajuda] Loop
#1

Olб pessoal, as vezes pode ser nobice a minha de vim abrir um tуpico com este problema, as vezes possa ser algo simples para resolve-lo.

Seguinte pessoal, quando crio o loop a partir do valor "50" para verificar a "listitem" selecionada no dialog, o loop nгo й iniciado, agora se eu colocar o valor inicial "0" o loop й iniciado e percorrido corretamente porem, eu nгo necessito dos id 0 а 50, somente de 51 atй 100.

O comando que pega as informaзхes para mostrar no dialog estб da mesma maneira, loop iniciando no valor "50" e й exibido corretamente, sу a maldita dialog nгo й executada no valor "50" em diante..

Nгo sei se consegui explicar corretamente oque estб acontecendo, mais espero que alguйm dк ideias a respeito.

CODE:

pawn Код:
if(dialogid == DIALOG_CASA2)
{
    if(!response) return SendClientMessage(playerid, -1, "CLOSED LIST!");
    if(response)
    {
        for(new i = 50; i < MAX_CASAS; ++i)
        {
            if(i == 100) break;
            if(listitem == i)
            {
                new SetID = i;
                if(PlayerData[i][tCasa] > 0)
                {
                    SendClientMessage(playerid, -1, "CASA INDISPONНVEL!");
                }
                else
                {
                    SendClientMessage(playerid, -1, "CASA DISPONНVEL!");
                }
            }
        }
    }
}
OBS: Voltei a pouco tempo para o PAWN e talvez eu nгo esteja enxergando meu erro.
Reply
#2

A sua condicional poderia ser melhor trabalhada nesse exemplo, ficou estranho.

pawn Код:
for (new i = 50; i < 100; ++i)
Analise e veja se vocк entendeu bem, pois nгo faz sentido mandar o loop rodar o valor mбximo de casas e ficar verificando toda rodada se й igual a 100 e se й menor que o valor mбximo.

Quanto ao erro, nгo consegui entender bem sua explicaзгo, mas se ele nгo estava rodando o loop, te recomendaria fazer um debug nesse trecho para saber se ele atende todos os if's que vocк inseriu.

Por enquanto й sу, responde ai quando tiver feito o debug, com os devidos resultados.
Reply
#3

Eu queria que o loop desse inicio a partir de 50 atй 100(Valor mбx) ou seja, percorrer do 50 atй o 100.

Pois de 0 atй 50 й no mйtodo tradicional, agora iniciar o loop a partir de 50 atй 100 й oq quero fazer..
Reply
#4

Vocк jб fez o debug ? Nгo esqueзa de atentar ao que eu falei sobre a condicional do loop.
Reply
#5

O meu problema й que o "if(listitem == i) " nгo estб criando as listas do dialog, entendeu?

eu fiz debug e percebe-se que o listitem nгo ta sendo executado..
Reply
#6

Alguйm?
Reply
#7

Tenta algo nesse sentido:
pawn Код:
if(dialogid == DIALOG_CASA2)
{
    if(!response) return SendClientMessage(playerid, -1, "CLOSED LIST!");

    for(new i = 50; i < 100; ++i)
    {
        if(listitem+50 == i)
        {
            if(PlayerData[i][tCasa] > 0)
                SendClientMessage(playerid, -1, "CASA INDISPONНVEL!");
            else
                SendClientMessage(playerid, -1, "CASA DISPONНVEL!");
        }
    }
}
Reply
#8

Resultou, obrigado vini.

rp++;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)