Помогите с DXUT диалогом

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

PaRaZiTOR

Новичок
Автор темы
85
31
Всем добра !
Прошу помочь с проблемой такого рода, создал DXUT диалог
при нажатии кнопки для отправки команды игра вылетает я думаю ошибка в форматировании текста, подскажите как исправить данную ошибку.
куски кода:
выделил память
CLEO:
0AC8: 10@ = allocate_memory_size 128
0AC8: 11@ = allocate_memory_size 128
0AC8: 21@ = allocate_memory_size 128

Тут в диалоговое поле ввожу цифры и выбираю чекбокс

CLEO:
/////////////////////////////////// ПОЛЕ ВВОДА   //////////////////////////////
    if 2@ == 4
    then  
        if 1@ == EVENT_EDITBOX_CHANGE
        then
        0C11: memset destination 10@ value 0x0 size 128
        0B89: dialog 0@ get_control 2@ text_to 10@
        format 21@ "%d" 10@
        0AF8: samp add_message_to_chat "Содержимое поля едитбокса: %d" color -1 params 21@
        end
    end
  
    /////////////////////////////////// ЧЕКБОКС 1 //////////////////////////////
    if 1@ == EVENT_CHECKBOX_CHANGED
    then
        if 2@ == 1
        then   
            if 0B92:  dialog 0@ checkbox 2@ is_checked
            then
            0AF8: samp add_message_to_chat " нажат ЧЕКБОКС 1" color -1
            format 11@ "ЧЕКБОКС 1"
            else
            0AF8: samp add_message_to_chat "чекбокс 1 не виден" color -1
            end
        end
    end
Тут после нажатия на кнопку идет отправка сообщения в чат (или команды)
CLEO:
 /////////////////////////////////// КНОПКА ОК  //////////////////////////////
    if 1@ == EVENT_BUTTON_CLICKED
    then
        if 2@ == 5
        then
            0AF8: samp add_message_to_chat "Была нажата кнопка. ОК " color -1 params
            0AF9: samp say_msg "введенный текст: %d выбран %s" color -1 params 21@ 11@
            0BA4: dialog 0@ free
            goto @metka_1
        end
    end
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
CLEO:
format 21@"%d"10@
0AF8: samp add_message_to_chat "Содержимое поля едитбокса: %d" color -1 params 21@
???
Что за махинации и зачем выводить как число при условии того, что у тебя там хранится текст. И в 10@ тоже хранится текст. Запомни, строк как токовых в CLEO нет. В переменных хранятся указатели на память(а он является числом). Для того, чтобы перевести "строку" в число, используй atoi, или даже используя 0AD4 для сканирования, но не этот метод, который ты хотел применить выше, - он бесполезен.
В чём суть: это точно не проблема скрипта. Вылетать бы он не смог, проблема в другой части кода. Здесь просто пояснил какая у тебя ошибка форматирования и вывода.
 

PaRaZiTOR

Новичок
Автор темы
85
31
CLEO:
format 21@"%d"10@
0AF8: samp add_message_to_chat "Содержимое поля едитбокса: %d" color -1 params 21@
???
Что за махинации и зачем выводить как число при условии того, что у тебя там хранится текст......
Просто я уже не знаю, перепробовал всяко и все варианты не работают, поэтому и прикрепил какой был, можешь глянуть вот кусок кода..
суть ввожу текст в поле ввода и выбираю чек бокс
CLEO:
/////////////////////////////////// ПОЛЕ ВВОДА   //////////////////////////////
    if 2@ == 4
    then 
        if 1@ == EVENT_EDITBOX_CHANGE
        0AC8: 10@ = allocate_memory_size 64
        0C11: memset destination 10@ value 0x0 size 128
        0B89: dialog 0@ get_control 2@ text_to 10@
        0AF8: samp add_message_to_chat "Содержимое поля эдитбокса: %s" 10@ // в переменной  10@
    end

    /////////////////////////////////// ЧЕКБОКС 1 //////////////////////////////
    if 1@ == EVENT_CHECKBOX_CHANGED
    then
        if 2@ == 1
        then 
            if 0B92:  dialog 0@ checkbox 2@ is_checked
            then
            0AC8: 11@ = allocate_memory_size 30
            0AF8: samp add_message_to_chat " нажат ЧЕКБОКС 1" color -1
            format 11@ "ЧЕКБОКС 1"
            else
            0AF8: samp add_message_to_chat "чекбокс 1 не виден" color -1
            end
        end
    end
нажимаю на ОК выводит текст(или команду) в чат
CLEO:
/////////////////////////////////// КНОПКА ОК  //////////////////////////////
    if 1@ == EVENT_BUTTON_CLICKED
    then
        if 2@ == 5
        then
            0AC8: 14@ = allocate_memory_size 64
            0AF8: samp add_message_to_chat "Была нажата кнопка. ОК " color -1 params
            format 14@ "введенный текст: %s выбран %s" 10@ 11@       // что тут не так ?????? 
            0AF9: samp say_msg 14@
            0BA4: dialog 0@ free
            free 14@
            free 11@
            free 10@
            goto @metka_1
        end
    end
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.