Диалоги

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

pwned

Участник
Автор темы
142
5
Как сделать диалог
Чтобы в диалоге был текст, ты его выбираешь и тебе вылезает окно с вводом ид, ты вводишь ид и это сообщение из диалога присылается ему
 

KR∆M

Новичок
6
1
Как пример - держи

Код:
{$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 // буфер для хранения введенего текста

while true
    wait 0
    if 0ab0: key_down 66
    then
        while 0ab0: key_down 66
            wait 0
            if 0ab0: key_down 51
            then
                0ac8: alloc 0@ size 64
                0AC6: 30@ = label @Buffer offset
                0B3B: samp show_dialog id 47 caption "Помощь" text 30@ button_1 "Выбрать" button_2 "" style DIALOG_STYLE_LIST
                0B43: samp cmd_ret
                break
            end
        end

        while 0ab0: key_down 66
            wait 0
        end
    end 
////////////////////////////////////////////////////////////////////////////////////////////////////// Функции вывода
  
    if 0B3C: samp is_dialog_responded id 47 button 1@ list_item 3@ input_text 0 // Логгируем нажатие кнопки диалога и выбранного элемента из списка диалога 47
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
            if 3@ == 0
            then
                0B3B: samp show_dialog id 49 caption "GPS" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT
            end

            if 3@ == 1
            then
                0B3B: samp show_dialog id 50 caption "GPS" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT 
            end

            if 3@ == 2
            then
                0AC6: 30@ = label @Buffer1 offset
                0B3B: samp show_dialog id 61 caption "Цены" text 30@ button_1 "Выбрать" button_2 "" style DIALOG_STYLE_LIST
                0B43: samp cmd_ret
            end
           
            if 3@ == 3
            then
                0B3B: samp show_dialog id 51 caption "Перенаправить" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT 
            end
           
            if 3@ == 4
            then
                0B3B: samp show_dialog id 52 caption "Продажа рыбы" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT 
            end
        else
            0af8: chat "Была нажата вторая кнопка: {ffffff}Закрыть" -1
        end
    end 
////////////////////////////////////////////////////////////////////////////////////////////////////// Цены
   if 0B3C: samp is_dialog_responded id 61 button 1@ list_item 3@ input_text 0 // Логгируем нажатие кнопки диалога и выбранного элемента из списка диалога 47
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
            if 3@ == 0
            then
                0B3B: samp show_dialog id 62 caption "Цена на маты" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT
            end

            if 3@ == 1
            then
                0B3B: samp show_dialog id 63 caption "Цена на нарко" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT 
            end

            if 3@ == 2
            then
                0B3B: samp show_dialog id 64 caption "Цена на дома" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT 
            end
        else
            0af8: chat "Была нажата вторая кнопка: {ffffff}Закрыть" -1
        end
    end     
////////////////////////////////////////////////////////////////////////////////////////////////////// Функции ответов
   
    if 0B3C: samp is_dialog_responded id 49 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm  %s /gps" 2@
        end
    end
   
    if 0B3C: samp is_dialog_responded id 50 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm  %s /gps" 2@
        end
    end
   
    if 0B3C: samp is_dialog_responded id 51 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm  %s" 2@
        end
    end
   
    if 0B3C: samp is_dialog_responded id 52 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm  %s /gps" 2@
        end
    end
   
   
    if 0B3C: samp is_dialog_responded id 62 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm %s 10к - $150.000" 2@
        end
    end
   
    if 0B3C: samp is_dialog_responded id 63 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm %s 1кг - $300.000" 2@
        end
    end
   
    if 0B3C: samp is_dialog_responded id 64 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm %s Не знаем цен на недвижимость" 2@
        end
    end
   
   
   
end
      
:Buffer
HEX
"Трудоустройство (GPS)\n"  
"Доп.Заработок (GPS)\n"
"Цены\n"
"Перенаправить\n"
"Продажа рыбы\0"
END
 
  • Нравится
Реакции: pwned

pwned

Участник
Автор темы
142
5
Как пример - держи

Код:
{$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 // буфер для хранения введенего текста

while true
    wait 0
    if 0ab0: key_down 66
    then
        while 0ab0: key_down 66
            wait 0
            if 0ab0: key_down 51
            then
                0ac8: alloc 0@ size 64
                0AC6: 30@ = label @Buffer offset
                0B3B: samp show_dialog id 47 caption "Помощь" text 30@ button_1 "Выбрать" button_2 "" style DIALOG_STYLE_LIST
                0B43: samp cmd_ret
                break
            end
        end

        while 0ab0: key_down 66
            wait 0
        end
    end
////////////////////////////////////////////////////////////////////////////////////////////////////// Функции вывода
 
    if 0B3C: samp is_dialog_responded id 47 button 1@ list_item 3@ input_text 0 // Логгируем нажатие кнопки диалога и выбранного элемента из списка диалога 47
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
            if 3@ == 0
            then
                0B3B: samp show_dialog id 49 caption "GPS" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT
            end

            if 3@ == 1
            then
                0B3B: samp show_dialog id 50 caption "GPS" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT
            end

            if 3@ == 2
            then
                0AC6: 30@ = label @Buffer1 offset
                0B3B: samp show_dialog id 61 caption "Цены" text 30@ button_1 "Выбрать" button_2 "" style DIALOG_STYLE_LIST
                0B43: samp cmd_ret
            end
          
            if 3@ == 3
            then
                0B3B: samp show_dialog id 51 caption "Перенаправить" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT
            end
          
            if 3@ == 4
            then
                0B3B: samp show_dialog id 52 caption "Продажа рыбы" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT
            end
        else
            0af8: chat "Была нажата вторая кнопка: {ffffff}Закрыть" -1
        end
    end
////////////////////////////////////////////////////////////////////////////////////////////////////// Цены
   if 0B3C: samp is_dialog_responded id 61 button 1@ list_item 3@ input_text 0 // Логгируем нажатие кнопки диалога и выбранного элемента из списка диалога 47
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
            if 3@ == 0
            then
                0B3B: samp show_dialog id 62 caption "Цена на маты" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT
            end

            if 3@ == 1
            then
                0B3B: samp show_dialog id 63 caption "Цена на нарко" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT
            end

            if 3@ == 2
            then
                0B3B: samp show_dialog id 64 caption "Цена на дома" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_INPUT
            end
        else
            0af8: chat "Была нажата вторая кнопка: {ffffff}Закрыть" -1
        end
    end    
////////////////////////////////////////////////////////////////////////////////////////////////////// Функции ответов
  
    if 0B3C: samp is_dialog_responded id 49 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm  %s /gps" 2@
        end
    end
  
    if 0B3C: samp is_dialog_responded id 50 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm  %s /gps" 2@
        end
    end
  
    if 0B3C: samp is_dialog_responded id 51 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm  %s" 2@
        end
    end
  
    if 0B3C: samp is_dialog_responded id 52 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm  %s /gps" 2@
        end
    end
  
  
    if 0B3C: samp is_dialog_responded id 62 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm %s 10к - $150.000" 2@
        end
    end
  
    if 0B3C: samp is_dialog_responded id 63 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm %s 1кг - $300.000" 2@
        end
    end
  
    if 0B3C: samp is_dialog_responded id 64 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
    then
        if 1@ == 1 // Была нажата первая кнопка
        then
        0AF9: samp say_msg "/pm %s Не знаем цен на недвижимость" 2@
        end
    end
  
  
  
end
     
:Buffer
HEX
"Трудоустройство (GPS)\n" 
"Доп.Заработок (GPS)\n"
"Цены\n"
"Перенаправить\n"
"Продажа рыбы\0"
END

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