1. Внимание!
    Объявились мошенники, которые представляются администрацией форума и обманывают покупателей. У них есть своя группа ВКонтакте, копирующая нашу, и несколько аккаунтов, маскирующихся под аккаунты администраторов и гарантов форума.
    При проведении любых сделок с администраторами, гарантами и пользователями BlastHack настойчиво требуйте у них написать вам личное сообщение на форуме и ни в коем случае не продолжайте сделку при отказе выполнять это требование или если сообщение не было получено.

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

Тема в разделе "CLEO", создана пользователем PaRaZiTOR, 26 ноя 2016.

Статус темы:
Закрыта.
  1. PaRaZiTOR

    PaRaZiTOR Известный пользователь

    Регистрация:
    18.12.14
    Сообщения:
    120
    Лайки:
    32
    Репутация:
    4
    Всем добра !
    Прошу помочь с проблемой такого рода, создал DXUT диалог
    при нажатии кнопки для отправки команды игра вылетает я думаю ошибка в форматировании текста, подскажите как исправить данную ошибку.
    куски кода:
    выделил память
    
    0AC8: 10@ = allocate_memory_size 128
    0AC8: 11@ = allocate_memory_size 128
    0AC8: 21@ = allocate_memory_size 128
    Тут в диалоговое поле ввожу цифры и выбираю чекбокс

    /////////////////////////////////// ПОЛЕ ВВОДА   //////////////////////////////
        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
       
    Тут после нажатия на кнопку идет отправка сообщения в чат (или команды)
     /////////////////////////////////// КНОПКА ОК  //////////////////////////////
        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
       
     
    #1
  2. legend2360

    legend2360 Лятим в космос
    Всефорумный модератор

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

    PaRaZiTOR Известный пользователь

    Регистрация:
    18.12.14
    Сообщения:
    120
    Лайки:
    32
    Репутация:
    4
    Просто я уже не знаю, перепробовал всяко и все варианты не работают, поэтому и прикрепил какой был, можешь глянуть вот кусок кода..
    суть ввожу текст в поле ввода и выбираю чек бокс
    
    /////////////////////////////////// ПОЛЕ ВВОДА   //////////////////////////////
        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
    
    нажимаю на ОК выводит текст(или команду) в чат
    /////////////////////////////////// КНОПКА ОК  //////////////////////////////
        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
     
    #3
    Последнее редактирование: 27 ноя 2016
Статус темы:
Закрыта.