Detener Loop despuйs de encontrar varios resultados.
#1

Cree una base de datos en donde se guardan todos los kills que un player realizу, y luego cree un comando que con un Dialog Input busque en la base de datos los resultados encontrados a partir de ese nombre.

Код:
Dialog_Show(playerid, SEARCH_KILLS, DIALOG_STYLE_INPUT, "Buscar asesinatos","Ingresa el nombre que buscarбs.", "Aceptar", "Cancelar");
Pero no se como parar el Loop despuйs de encontrar todos los resultados con ese nombre, ya que si uso continue y break solo buscarб en los primeros datos guardados y si no son iguales me tirarб que ingresй un nombre invбlido.

Si uso return sуlo buscarб el primer dato que encuentre con ese nombre, y si no me floodea el chat con que ingresй un usuario invбlido hasta que lo encuentra, ya no sй que hacer.

Код:
Dialog:SEARCH_KILLS(playerid, response, listitem, inputtext[]) 
{	
	if(response)
	{	
		new string[1000];
		for(new i = 0; i < MAX_KILLS; i ++) 
		{
		    if(kInfo[i][KillExists] && !strcmp(kInfo[i][Name], inputtext, true)) {
				format(string, sizeof(string), "%s%s\t%s\n", string, cInfo[i][Date], cInfo[i][Acts]);
			}
			Dialog_Show(playerid, SHOW_KILLS, DIALOG_STYLE_TABLIST, "Lista de asesinatos", string, "Seleccionar", "Cancelar");	
		}
		else SendClientMessage(playerid, -1, "Ingresaste un nombre invбlido.");
	}
	return true;
}
Reply
#2

pawn Код:
Dialog:SEARCH_KILLS(playerid, response, listitem, inputtext[])
{  
    if(response)
    {  
        new string[1000], count;
        for(new i = 0; i < MAX_KILLS; i ++)
        {
            if(kInfo[i][KillExists] && !strcmp(kInfo[i][Name], inputtext, true))
            {
                format(string, sizeof(string), "%s%s\t%s\n", string, cInfo[i][Date], cInfo[i][Acts]);

                count ++;
            }
        }

        if(count)
        {
            Dialog_Show(playerid, SHOW_KILLS, DIALOG_STYLE_TABLIST, "Lista de asesinatos", string, "Seleccionar", "Cancelar");
        }
        else
        {
            SendClientMessage(playerid, -1, "Ingresaste un nombre invбlido.");
        }
    }
    return true;
}
Reply
#3

Quote:
Originally Posted by SickAttack
Посмотреть сообщение
pawn Код:
Dialog:SEARCH_KILLS(playerid, response, listitem, inputtext[])
{  
    if(response)
    {  
        new string[1000], count;
        for(new i = 0; i < MAX_KILLS; i ++)
        {
            if(kInfo[i][KillExists] && !strcmp(kInfo[i][Name], inputtext, true))
            {
                format(string, sizeof(string), "%s%s\t%s\n", string, cInfo[i][Date], cInfo[i][Acts]);

                count ++;
            }
        }

        if(count)
        {
            Dialog_Show(playerid, SHOW_KILLS, DIALOG_STYLE_TABLIST, "Lista de asesinatos", string, "Seleccionar", "Cancelar");
        }
        else
        {
            SendClientMessage(playerid, -1, "Ingresaste un nombre invбlido.");
        }
    }
    return true;
}
Genial, muchas gracias, anduvo. Ahora me surgiу otro problema.
Estoy tratando de buscar en la tabla de muertes los jugadores que hay a partir de su nombre, es decir, si yo busco "girl", que me aparezcan todos los jugadores que tienen girl en su nombre, pero si hay dos o mбs muertes de un mismo jugador se repite las veces que aparezca en la tabla, ya que el bucle hace eso, їcуmo podrнa hacer para que aparezca cada jugador una sola vez?

Код:
Dialog:SEARCH_PLAYERS(playerid, response, listitem, inputtext[]) 
{
	if(response)
	{
		new string[1000], firstname[24], count;
		format(firstname, sizeof(firstname), "%s_", inputtext);
		
		for(new i = 0; i < MAX_KILLS; i ++) 
		{
		    if(kInfo[i][KillExists] && !strfind(kInfo[i][Name], firstname, true)) 
			{
				format(string, sizeof(string), "%s%s\n", string, kInfo[i][Name]);
				count ++;
		    }
		}

		if(count) {
			Dialog_Show(playerid, SHOW_PLAYERS, DIALOG_STYLE_TABLIST, "Lista de jugadores", string, "Seleccionar", "Cancelar");
		}
		else {
			SendClientMessage(playerid, -1, "Ingresaste un nombre invбlido.");
		}
	}
	return 1;
}
Reply
#4

Pues deberias guardar a los jugadores que ya han sido agregados en un array y checar si estan ahi.

PD. Veo que esta seccion se esta muriendo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)