Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 8 из 8
  1. #1
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±

    Оптимизация /showall! Очень долго открывает диалог..

    Всем привет. Сделал команду /showall, но дело в том, что она очень долго открывается. Если посмотреть на глаз, то ~2-3 секунды. Если открыть на адвансе, то там открывает моментом!

    Команда:
    PHP код:
    CMD:showall(playerid)
    {
        if(
    PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playeridCOLOR_GREY"Вам недоступна данная функция!");
        new 
    string[128];
        
    mysql_format(connectsstringsizeof(string), "SELECT * FROM `accounts` WHERE pMember = '%i' AND `pAlcoInvenxua` = '0' ORDER BY `pRank`",PlayerInfo[playerid][pLeader]);
        
    mysql_function_query(connectsstringtrue"ShowAll""d"playerid);
        return 
    true;

    Паблик showall:
    PHP код:
    publicsShowAll(playerid)
    {
        new 
    rowsfields;
        
    cache_get_data(rowsfields);
        if(
    rows)
        {
            new 
    string[900], str[30];
            new 
    Names[MAX_PLAYER_NAME], result_level[4], result_rank[4], levelrank;
            new 
    full;
            while(--
    rows >= 0)
            {
                if(
    strlen(str) < 2strcat(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(strsizeof(str), "%i\t\t%i\t%s\n"levelrankNames), strcat(stringstr);
                }
                
    full++;
            }
             new 
    total[32];
            
    format(totalsizeof(total), "{FF9900}Показаны %d/40 игроков"full);
            if(
    full == 0) return SendClientMessage(playeridCOLOR_GRAD1"Игроки не найдены.");
            else 
    ShowPlayerDialog(playeriddNull0totalstring"Закрыть""");
        }
        return 
    true;


  2. #2
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±

  3. #3
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от Untonyst Посмотреть сообщение
    Мда. В этой жизни решают только деньги, ясно короче.

  4. #4
    Аватар для CheSToRiA
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.02.2016
    Сообщений
    18
    Репутация:
    1 ±
    Цитата Сообщение от StevenH Посмотреть сообщение
    Мда. В этой жизни решают только деньги, ясно короче.
    Сервер с БД меняй. Запрос очень долго доходит и отдает ответ.

  5. #5
    Аватар для TheOrsini
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.09.2015
    Сообщений
    36
    Репутация:
    3 ±
    PHP код:
    CMD:showall(playerid

        if(
    PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playeridCOLOR_GREY"Вам недоступна данная функция!"); 
        new 
    string[128]; 
        
    mysql_format(connectsstringsizeof(string), "SELECT * FROM `accounts` WHERE pMember = '%i' AND `pAlcoInvenxua` = '0' ORDER BY `pRank` DESC",PlayerInfo[playerid][pLeader]); 
        
    mysql_function_query(connectsstringtrue"ShowAll""d"playerid); 
        return 
    true

    з.ы. В запрос добавил DESC, который загрузит данные в порядке убывания (в данном случае, по убыванию ранга).

  6. #6
    Аватар для Osetin
    •Администратор•

    Статус
    Оффлайн
    Регистрация
    26.03.2013
    Адрес
    ♔Osetia, Vladikavkaz♔
    Сообщений
    3,432
    Репутация:
    1093 ±
    Вы просите помощь, но при этом отказываетесь отвечать в своих же темах.
    http://pro-pawn.ru/showthread.php?13369

    Я вам вчера даже напомнил про эту тему в скайпе, но вы зашли и проигнорировали.

  7. #7
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от Osetin Посмотреть сообщение
    Вы просите помощь, но при этом отказываетесь отвечать в своих же темах.
    http://pro-pawn.ru/showthread.php?13369

    Я вам вчера даже напомнил про эту тему в скайпе, но вы зашли и проигнорировали.
    Я в скайп захожу очень редко. Вот когда был взлом, это был мой последний заход. А так я все время в вк сижу

  8. #8
    Аватар для Seregamil
    Проверенный

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    551
    Репутация:
    274 ±
    зачем делать каждый раз запрос в бд, если есть переменные?

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •