• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

MySQL запрос на получение ТОП-10 банды

Kick_West

Умник
Код:
enum Fractions
{
    FRACTION_BALLAS = 12,
    FRACTION_VAGOS,
    // .....
    FRACTION_GROVE = 15,
    // .....
    FRACTION_AZTEC = 17,
    FRACTION_RIFA
}
enum _:Dialog_IDs
{
    // .....
    DIALOG_TOP_CAPTURE_PLAYERS = 10000,
    // ......
}

stock ShowCaptureTasher(playerid, listitem)
{
    new Fractions: fraction;

    switch(listitem)
    {
         case 0: fraction = FRACTION_AZTEC;
         case 1: fraction = FRACTION_RIFA;
         case 2: fraction = FRACTION_BALLAS;
         case 3: fraction = FRACTION_GROVE;
         default: fraction = FRACTION_VAGOS;
    }
   
    new query_string[600];

    format(query_string, sizeof(query_string), "SELECT `Name`,`kill_capture` FROM `accounts` WHERE `pMember` = '%d' ORDER BY `kill_capture` DESC LIMIT 10",PlayerInfo[playerid][pMember]);
    mysql_tquery(db_handle, query_string, "ShowTop10Capture", "ii", playerid, fraction);
    return 1;
}

forward ShowTop10Capture(playerid,fraction);
public ShowTop10Capture(playerid,fraction)
{
    new rows,
           fields;

    cache_get_data(rows, fields, db_handle);

    static const fmt_str[] = "{c0c0c0}%i место: "WHITE"%s. Убийств = %i. (Банда: {%06x} %s"WHITE")\n";

    new name[MAX_PLAYER_NAME],
           top_string[(sizeof fmt_str + sizeof name + 15) * 10];

    for(new i = 0, temp_string[sizeof(top_string) / 10]; i < rows; i++)
    {
        cache_get_field_content(i, "Name", name, db_handle);

        format(temp_string, sizeof temp_string, fmt_str, i+1, name, cache_get_field_content_int(i, "kill_capture", db_handle), FractionInfo[fraction][fColor] >>> 8, FractionInfo[fraction][fName]);
        strcat(top_string, temp_string);
    }

    ShowPlayerDialog(playerid, DIALOG_TOP_CAPTURE_PLAYERS, DIALOG_STYLE_MSGBOX, ""SERVER"Топ 10 лучших каптурщиков банды:", top_string, "Принять", "");
    return 1;
}

Проблема в том что, топ-лист показывает даже тех игроков которые не состояли в гетто и не состояет, а должно показывать только тех кто состоит в определённой банде!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
 
Последнее редактирование модератором:
Сверху Снизу