Другое Работа с диалогами

Kaktyc007

Известный
Автор темы
166
11
При нажатии на num7 открывается диалог, я в нем выбираю элемент, а дальше почему то не работает. Не выводиться в чат, какой элемент был нажат. Вопрос почему?
конструкция
IF AND
0C89: key_just_pressed 103
11@==0
THEN
wait 10
11@+=1
END
необходима


CLEO:
{$CLEO}

const
    DIALOG_STYLE_MSGBOX = 0 // С текстом
    DIALOG_STYLE_INPUT = 1 // С полем для ввода текста
    DIALOG_STYLE_LIST = 2 // Со списком
    DIALOG_STYLE_PASSWORD = 3 // С полем для ввода текста, текст заменяется точками
end

0000:

while not SAMP.Available()
    wait 400
end

0ac8: alloc 2@ size 64 // буфер для хранения введенего текста
11@=0
while true
    wait 0
        while 11@==1
            wait 0
                0ac8: alloc 0@ size 64
                0AC6: 0@ = label @Buffer offset
                0B3B: samp show_dialog id 47 caption "Третий диалог" text 0@ button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_LIST
                0ac9: free 0@
                break
        end
        while 11@==1
            wait 0
        end


 
    // DIALOG_STYLE_LIST
    if 0B3C: samp is_dialog_responded id 47 button 10@ list_item 3@ input_text 0 // Логгируем нажатие кнопки диалога и выбранного элемента из списка диалога 47
    then
        if 10@ == 1 // Была нажата первая кнопка
        then
            if 3@ == 0
            then
                0af8: chat "Был выбран элемент: {ffff00}Первый пункт" -1
                11@=0
            end

            if 3@ == 1
            then
                0af8: chat "Был выбран элемент: {ffff00}Второй пункт" -1
            end

            if 3@ == 2
            then
                0af8: chat "Был выбран элемент: {ffff00}Третий пункт" -1
            end
            if 3@ == 3
            then
                0af8: chat "Был выбран элемент: {ffff00}4й пункт" -1
            end
            if 3@ == 4
            then
                0af8: chat "Был выбран элемент: {ffff00}5й пункт" -1
            end
        else
            0af8: chat "Была нажата вторая кнопка: {ffff00}Закрыть" -1
        end
    end
    IF AND
    0C89: key_just_pressed 103
    11@==0
    THEN
        wait 10
        11@+=1
    END
end

:Buffer
HEX
"1\n"
"2\n"
"3\n"
"4\n"
"5\0"
END
как я понял, не заходит в условие: if 0B3C: samp is_dialog_responded id 47 button 10@ list_item 3@ input_text 0
если в место while 11@==1 поставить кнопку, то все работает. Что за магия?
 
Последнее редактирование:
  • Нравится
Реакции: DMTDEV