• 0
Sign in to follow this  
Followers 0
daltwb

Помощь с диалоговым окном

Question

Здравствуйте, надеюсь на вашу помощь.

Дело в том что я создал диалог, около NPC, вот код:
 

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == 262144//если игрок рядом нажмет кнопку H, то вылезет диалоговое окно
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.01182.3719,-2043.5244,69.0078)) return ShowPlayerDialog(playerid, dActor, DIALOG_STYLE_LIST, "{FFFF00}Андрес",
            "Кто ты такой?\n\
            Где я нахожусь?\n\
            Что мне делать?",
         "Выбрать""Закрыть");
    }
    return true;
}

Продолжение:
 

        case dActor:
        {
            if(!response) return true;
            switch(listitem)// выборка
            {
                case 0return ShowPlayerDialog(playerid, dActor0, DIALOG_STYLE_MSGBOX, "{FFFF00}Андрес",
                "{FFFFFF}Приветствую гость. Меня звать - {FFFF00}Андрес.{FFFFFF} Я, вас, приезжих с двух километров вижу!\n\
                Впрочем, не важно откуда ты, я помогу тебе сориентироваться",
                "Ясно""");
                case 1return ShowPlayerDialog(playerid, dActor0, DIALOG_STYLE_MSGBOX, "{FFFF00}Андрес",
                    "{FFFFFF}С штатом ты не ошибся, штат {FFFF00}Reload{FFFFFF} - самый лучший из всех,\n\
                    у тебя есть много возможностей, и ты можешь делать все что тебе захочется,\n\
                    но главное не выходи за рамки закона!",
                "Ясно""");
                case 2return ShowPlayerDialog(playerid, dActor0, DIALOG_STYLE_MSGBOX, "{FFFF00}Андрес",
                    "\t\t\t\t    {FFFF00}[НАЧАЛО]{FFFFFF}\n\
                    Для начала, получи новый паспорт, как раз, тут недалеко мэрия {A1A1A1}\n\
                    (gps - основное - Мэрия LS)\n\
                    \t\t\t\t    {FFFF00}[РАБОТА]{FFFFFF}\n\
                    Можешь даже устроится на какую нибудь подработку!{A1A1A1}\n\
                    (gps - подработка)\n\
                    \t\t\t\t{FFFF00}[ВОД. ПРАВА]{FFFFFF}\n\
                    Как накопишь деньги - дуй в автошколу, тебя научат ездить по нашим правилам.\n\
                    {A1A1A1}(gps - основное - Генеральная Автошкола Штата)",
                "Ясно""");
            }
        }
        case dActor0:
        {
            if(response)// 
            {
                //SendClientMessage(playerid, COLOR_YELLOW, "Нажмите \"ESC\" чтобы выйти из диалогового окна");
                ShowPlayerDialog(playerid, dActor, DIALOG_STYLE_LIST, "{FFFF00}Андрес",
                    "Кто ты такой?\n\
                    Где я нахожусь?\n\
                    Что мне делать?",
                "Закрыть""");
            }
        }

Проблема в том, что при нажатии на кнопку "закрыть", он "выбирает" диалог и показывает его

Share this post


Link to post

1 answer to this question

  • 1

Уже сам понял как.
Надо просто поставить две кнопки в основных диалогах:
 

Цитата

case dActor0:
        {
            if(response)
            {
                ShowPlayerDialog(playerid, dActor, DIALOG_STYLE_LIST, "{FFFF00}Андрес",
                    "Кто ты такой?\n\
                    Где я нахожусь?\n\
                    Что мне делать?",
                 "Выбрать""Закрыть");//Вот тут
            }

 

затем в case следующего диалога вот эту строчку:
 

Цитата

case dActor:
        {
            if(!response) return 1;

 

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Владислав2
      By Владислав2
      Здравствуйте, при компиляции появляется ошибка,

      Ошибка:
      error 017: undefined symbol "REP_KUZIA_TD"

      Строки:
       
          REP_KUZIA_TD[0] = TextDrawCreate(7.499990, 314.444396, "REP: 1");
          TextDrawLetterSize(REP_KUZIA_TD[0], 0.400000, 1.600000);
          TextDrawAlignment(REP_KUZIA_TD[0], 1);
          TextDrawColor(REP_KUZIA_TD[0], -1);
          TextDrawSetShadow(REP_KUZIA_TD[0], 0);
          TextDrawSetOutline(REP_KUZIA_TD[0], 1);
          TextDrawBackgroundColor(REP_KUZIA_TD[0], 255);
          TextDrawFont(REP_KUZIA_TD[0], 1);
          TextDrawSetProportional(REP_KUZIA_TD[0], 1);
          TextDrawSetShadow(REP_KUZIA_TD[0], 0);
          REP_KUZIA_TD[1] = TextDrawCreate(6.249957, 330.518493, "ASK: 0");
          TextDrawLetterSize(REP_KUZIA_TD[1], 0.400000, 1.600000);
          TextDrawAlignment(REP_KUZIA_TD[1], 1);
          TextDrawColor(REP_KUZIA_TD[1], -1);
          TextDrawSetShadow(REP_KUZIA_TD[1], 0);
          TextDrawSetOutline(REP_KUZIA_TD[1], 1);
          TextDrawBackgroundColor(REP_KUZIA_TD[1], 255);
          TextDrawFont(REP_KUZIA_TD[1], 1);
          TextDrawSetProportional(REP_KUZIA_TD[1], 1);
          TextDrawSetShadow(REP_KUZIA_TD[1], 0);
          return 1;
      }

      Буду рад если кто-то поможет