Tire o showplayerdialog do loop, deixa ele como return da callback:
Код:
forward Listar(playerid);
public Listar(playerid)
{
for(new r; r < cache_num_rows(); r++)
{
//Aqui vocк pega os campos que quiser
//No exemplo abaixo vou pegar a variбvel nome do usuбrio e formatar a string
new cache_string[24],string[500];
cache_get_field_content(r, cache_string, "Nick");
format(string, 512, "%s%s\n", string, cache_string);
}
return ShowPlayerDialog(playerid, 512, DIALOG_STYLE_MSGBOX, "{FF0000}Lista", string, "Sair", "");
}
Vocк cometeu um erro na criaзгo da variбvel, tб tentnado formatar ela com 512 elementos sendo que vocк a iniciou com 500:
Код:
new cache_string[24], string[500];
Код:
format(string, 512, "%s%s\n", string, cache_string);
Conserta isso, presta atenзгo nas cйlulas na hora de criar uma string.