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

Клавиши "Далее", "Назад" в диалоге

Статус
В этой теме нельзя размещать новые ответы.

Smile*_*

Изучающий
Пользователь
Регистрация
27 Июл 2013
Сообщения
181
Лучшие ответы
0
Репутация
1
Нужна помощь. Решил сделать команду /members, шо тут сложного думал я, но были некоторые нюансы. В диалоге должно показывать 5 игроков, при нажатии первой клавиши "Далее" должно показывать следующие 5 игроков и т.д., и при нажатии второй клавиши "Назад" соответственно должно показывать предыдущие 5 игроков. Собственно беда со второй клавишей, шото я туплю. Если есть мануальчик или что-то похожее дайте пожалуйста)
PHP:
new MaxCount[MAX_PLAYERS];

CMD:members(playerid)
{
    if(GPF(playerid) == 0) return SCM(playerid,GREY,"Ты не состоишь во фракции.");
    
    new string[2210];
    new count;
    for(new i; i < MAX_PLAYERS; i++)
    {
        if(GPF(i) == GPF(playerid) && count < 5)
        {
            format(string,sizeof(string),"%s%s[%d]",string,PlayerInfo[i][pNick],i);
            count ++;
            MaxCount[playerid] = i;
        }
    }
    if(count == 0) return SCM(playerid,GREY,"Никого нет онлайн.");
    SPD(playerid,dMembers,DSM,!"Игроки онлайн",string,!"Далее",!"Закрыть");
    
    return 1;
}
case dMembers:
{
    if(response)
    {
        new string[2210];
        new count;
        for(new i = MaxCount[playerid]; i < MAX_PLAYERS; i++)
        {
            if(GPF(i) == GPF(playerid) && count < 5)
            {
                format(string,sizeof(string),"%s%s[%d]",string,PlayerInfo[i][pNick],i);
                count ++;
                MaxCount[playerid] = i;
            }
        }
        if(count == 0) return SCM(playerid,GREY,"Никого нет онлайн.");
        SPD(playerid,dMembers,DSM,!"Игроки онлайн",string,!"Далее",!"Назад");
    }
    else
    {
        new string[2210];
        new count;
        for(new i = MaxCount[playerid]; i > -1; i--)
        {
            if(i < 0 || i > MaxCount[playerid]) continue;
            if(GPF(i) == GPF(playerid) && count < 5)
            {
                format(string,sizeof(string),"%s%s[%d]",string,PlayerInfo[i][pNick],i);
                count ++;
                MaxCount[playerid] = i;
            }
        }
        if(count == 0) return SCM(playerid,GREY,"Никого нет онлайн.");
        SPD(playerid,dMembers,DSM,!"Игроки онлайн",string,!"Далее",!"Назад");
    }
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу