Вопросы

elishanky
Новичок

привет, как сделать действие если в диалоге есть такие предметы ?? Нажимай на них хочу делать действие 

CMD:flowerinfo(playerid)
{
    new txt[52],yashik[320];
    format(yashik, sizeof(yashik), "Вид:\Кол-Во\n");
    if(PlayerInfo[playerid][pCveti] != 0) { format(txt, 52"Тюльпаны\t%d\n", PlayerInfo[playerid][pCveti]), strcat(yashik, txt); }
    if(PlayerInfo[playerid][pRoses] != 0) { format(txt, 52"Розы\t%d\n", PlayerInfo[playerid][pRoses]); strcat(yashik, txt); }
    if(PlayerInfo[playerid][pCveti2] != 0) { format(txt, 52"Гвоздика\t%d\n", PlayerInfo[playerid][pCveti2]); strcat(yashik, txt); }
    ShowPlayerDialog(playerid,8585,DIALOG_STYLE_TABLIST_HEADERS,"Ящик с цветами",yashik,"Ok","Cancel");

 

Поделиться сообщением


Ссылка на сообщение

4 ответа на этот вопрос

  • 0
trevison
Активный

в OnDialogResponse

case 8585:
{
    if(!response) return true;
    switch(listitem) 
    {
        case 0:
        {
            // тюльпаны
        }
        case 1:
        {
            // розы
        }
        case 2:
        {
            // гвоздики
        }
    }
    return true;
}

 

Отредактировано пользователем trevison

Поделиться сообщением


Ссылка на сообщение
  • 0
elishanky
Новичок

@trevison Так не б

  В 12/3/2023 в 15:17, trevison сказал:

в OnDialogResponse

case 8585:
{
    if(!response) return true;
    switch(listitem) 
    {
        case 0:
        {
            // тюльпаны
        }
        case 1:
        {
            // розы
        }
        case 2:
        {
            // гвоздики
        }
    }
    return true;
}

 

Читать далее...  

Так не работает . внимательней гляньте команду . Там цветы показывается когда есть, а если нет, то не показывает, а вместо case 0 может быть не тюльпаны, а другие цветы

Поделиться сообщением


Ссылка на сообщение
  • 0
break
Новичок

@elishanky 
 

// Stock's

stock GetString(const param1[], const param2[]) 
{
    return !strcmp(param1, param2, false);
}

// OnDialogResponse

case 8585:
{
    if(response)
    {
        if(GetString(inputtext, "Тюльпаны")) 
        {
            //  
        }
        else if(GetString(inputtext, "Розы"))
        {
            //  
        }
    }
    return 1;
}

 

Отредактировано пользователем break

Поделиться сообщением


Ссылка на сообщение
  • 0
Евгений Алексеев
Новичок

Для обработки действий при нажатии на определенные элементы в диалоге с использованием TABLIST_HEADERS, вам нужно использовать коллбэк-функцию `OnPlayerSelectedMenuRow`. В этой функции вы можете проверять выбранный элемент и выполнять соответствующие действия.

Примерный код может выглядеть следующим образом:
 

public OnPlayerSelectedMenuRow(playerid, row)
{
    if (row == 1// Тюльпаны
    {
        // Ваш код для обработки выбора "Тюльпаны"
        SendClientMessage(playerid, -1"Вы выбрали тюльпаны!");
    }
    else if (row == 2// Розы
    {
        // Ваш код для обработки выбора "Розы"
        SendClientMessage(playerid, -1"Вы выбрали розы!");
    }
    else if (row == 3// Гвоздика
    {
        // Ваш код для обработки выбора "Гвоздика"
        SendClientMessage(playerid, -1"Вы выбрали гвоздику!");
    }

    // Возвращаем 1, чтобы предотвратить закрытие диалога
    return 1;
}

CMD:flowerinfo(playerid)
{
    new txt[52], yashik[320];
    format(yashik, sizeof(yashik), "Вид:\tКол-во\n");

    if (PlayerInfo[playerid][pCveti] != 0) {
        format(txt, sizeof(txt), "Тюльпаны\t%d\n", PlayerInfo[playerid][pCveti]);
        strcat(yashik, txt);
    }
    if (PlayerInfo[playerid][pRoses] != 0) {
        format(txt, sizeof(txt), "Розы\t%d\n", PlayerInfo[playerid][pRoses]);
        strcat(yashik, txt);
    }
    if (PlayerInfo[playerid][pCveti2] != 0) {
        format(txt, sizeof(txt), "Гвоздика\t%d\n", PlayerInfo[playerid][pCveti2]);
        strcat(yashik, txt);
    }

    ShowPlayerDialog(playerid, 8585, DIALOG_STYLE_TABLIST_HEADERS, "Ящик с цветами", yashik, "Ok""Cancel");
    return 1;
}


```

В этом примере, когда игрок выбирает элемент в диалоге, функция `OnPlayerSelectedMenuRow` будет вызвана, и в зависимости от выбранного элемента будет выполнен соответствующий код. Вам нужно добавить свой код обработки для каждого варианта.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • otec
      От otec
      Копия радмира
      ║☑️Название CORVUS CRMP
      ║☑️Сервер у которого есть будущее и будет
      ║☑️Адекватная администрация
      ║☑️Идут наборы в Лидеры, Админы.
      ║☑️Вступайте в Telegram: t.me/corvusgta « Вступай!
      ║☑️Вступайте в ВКонтакте: vk.com/corvus_crmp « Вступай!
      ║☑️Постоянные ПРИЗЫ - МП | Интересный Мод
      ║☑️Все новости - обновления в Telegram и ВКонтакте
      ║☑️Сайт - corvus-crmp.ru
      ║☑️Форум - forum.corvus-crmp.ru
      ║☑️Скачать лаунчер - corvus-crmp.ru
      ║☑️Заходи мы ждем тебя
      ║☑️В случае возможных ошибок пишите сюда:@corvus_help_bot
    • vicegame
      От vicegame
      Доброго времени суток уважаемые форумчане
      Хочу представить наши услуги и цены:
      GTA SAMP от 75руб
      GTA CRMP от 75 руб
      GTA MTA от 120 руб
      Для каждого тарифа неограниченные слоты, оплата только за ресурсы 
      Удобная панель управления и широкий функционал 
      Работаем с 2023 года!
       
      Также имеются БЕСПЛАТНЫЕ тарифы для (ознакомительных целей)
       
      Мощные процессоры Ryzen 5950X (Германия)
       
      Платежная система YooKassa на борту:
      Банковские карты
      SberPay
      TinkoffPay
      Yoomoney

      Ссылка на хостинг: ТЫК
    • hatriyikko
      От hatriyikko
      Требуется мобильная сборка мод + клиент + лаунчер

      Копия Радмира, Блэк Раши или что-то другое с аналогичным функционалом. Основной упор на бизнесы, чтобы всё исправно работало
       
      Напишите сколько это будет стоить?

      В дальнейшем также могут понадобиться какие то доработки мода, если всё ок рассматриваю долгосрочное сотрудничество

      Связь тут или в тг @kovart7