Всем привет. Сделал команду /showall, но дело в том, что она очень долго открывается. Если посмотреть на глаз, то ~2-3 секунды. Если открыть на адвансе, то там открывает моментом!
Команда:
PHP код:
CMD:showall(playerid)
{
if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid, COLOR_GREY, "Вам недоступна данная функция!");
new string[128];
mysql_format(connects, string, sizeof(string), "SELECT * FROM `accounts` WHERE pMember = '%i' AND `pAlcoInvenxua` = '0' ORDER BY `pRank`",PlayerInfo[playerid][pLeader]);
mysql_function_query(connects, string, true, "ShowAll", "d", playerid);
return true;
}
Паблик showall:
PHP код:
publics: ShowAll(playerid)
{
new rows, fields;
cache_get_data(rows, fields);
if(rows)
{
new string[900], str[30];
new Names[MAX_PLAYER_NAME], result_level[4], result_rank[4], level, rank;
new full;
while(--rows >= 0)
{
if(strlen(str) < 2) strcat(string, "{DCDCDC}Уровень\tРанг\tИмя\n\n{FFFFFF}");
if(full < 40)
{
cache_get_field_content(rows, "Name", Names);
cache_get_field_content(rows, "pLevel", result_level); level = strval(result_level);
cache_get_field_content(rows, "pRank", result_rank); rank = strval(result_rank);
format(str, sizeof(str), "%i\t\t%i\t%s\n", level, rank, Names), strcat(string, str);
}
full++;
}
new total[32];
format(total, sizeof(total), "{FF9900}Показаны %d/40 игроков", full);
if(full == 0) return SendClientMessage(playerid, COLOR_GRAD1, "Игроки не найдены.");
else ShowPlayerDialog(playerid, dNull, 0, total, string, "Закрыть", "");
}
return true;
}