Проблемы с dxut

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

makasinuch

Новичок
Автор темы
52
4
Здравствуйте! Кто может написать простой код создания диалога? Что я только не делал, но он почему то у меня не создается. Даже ошибку в логе не выдает. Буду отталкиваться от вашего кода
 

makasinuch

Новичок
Автор темы
52
4
Наверно лучше бы ты приложил свои попытки сделать рабочий код.
Lua:
[/B]
script_name("dislog")
script_version("1")
script_authors("Gambino")

require "lib.moonloader"
require "lib.sampfuncs"

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
    wait(0)
    if isKeyJustPressed() then
    dialog = dxutCreateDialog("aba")
    dxutSetDialogPos("aba", 500, 500, 300, 225)
if isKeyJustPressed() then
    dxutSetDialogVisible("aba", visible)
end
end
end
end
[B]
Это ток моя последняя попытка!
 

makasinuch

Новичок
Автор темы
52
4
Совет. Создавай диалог до цикла вайл тру. Из кей прессед без параметра. В сет диалог пос и сет диалог визибле передается указатель на диалог, а не строка.
Спасибо! Репу кинул. Есть еще 1 вопрос. Почему что бы поставить/снять галочку мне нужно сначало нажать ЛКМ на строку а посне нажать Пробел???Только так поставится/снимется галочка! Можно ли как то сделать что бы ставилось нажатием ЛКМ
Lua:
script_name("dialog")
script_version("1")
script_authors("proba")

require "lib.moonloader"
require "lib.sampfuncs"

EVENT_BUTTON_CLICKED                = 257
EVENT_COMBOBOX_SELECTION_CHANGED    = 513
EVENT_RADIOBUTTON_CHANGED           = 769
EVENT_CHECKBOX_CHANGED              = 1025
EVENT_SLIDER_VALUE_CHANGED          = 1281
EVENT_EDITBOX_STRING                = 1537
EVENT_EDITBOX_CHANGE                = 1538
EVENT_LISTBOX_ITEM_DBLCLK           = 1793
EVENT_LISTBOX_SELECTION             = 1794

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
        dialog = dxutCreateDialog("test")
        dxutSetDialogPos(dialog, 500, 500, 500, 500)
        dxutAddStatic(dialog, 1, "test", 0, 0, 170, 30)
        dxutAddCheckbox(dialog, 2, "test", 0, 30, 180, 20)
        dxutAddCheckbox(dialog, 3, "test", 0, 60, 180, 20)
        dxutAddCheckbox(dialog, 4, "test", 0, 90, 180, 20)
        dxutAddCheckbox(dialog, 5, "test", 0, 120, 180, 20)
    while true do
    wait(0)
result, event, id = dxutPopEvent(dialog)
if event == EVENT_CHECKBOX_CHANGED then
    if id == 2 then
        if dxutIsCheckboxChecked(dialog, 2) then
    sampAddChatMessage("Брррр", 0x00DD00)
end
end
end
end
end
 

makasinuch

Новичок
Автор темы
52
4
Ну хз. То ты уже чет накодил криво.
Нашел ответ в курсор моде. Добавил
Lua:
sampSetCursorMode(3)
и стало все норм! Есть еще 1 вопрос. Как мне значение слайдера перезаписывать? Если весь код делать до цикла while true то значение ставиться 10 и не обновляется как бы я не передвигал слайдер. Я знаю как выводить значение, но не пойму как обновлять! Код ниже
Lua:
dxutAddSlider(dialog, 8, 250, 60, 100, 35, 10)
        local value = dxutGetSliderValue(dialog, 8)
        dxutAddButton(dialog,9, value, 250, 90, 100, 30)
 

makasinuch

Новичок
Автор темы
52
4
В общем только что проверил - значение слайдера меняется, когда я его передвигаю! Но оно не обновляется в кнопке. SetSliderValue не использовал, поскольку даже без него слайдер работает. Проверил с помощью кода
Lua:
if sampTextdrawIsExists(2051) then
        value = dxutGetSliderValue(dialog, 8)
        if isKeyJustPressed(52) then
      for i = 1, value do
         sampSendClickTextdraw(5)
Мне нужно, что бы когда я передвигал слайдер его значение выводилось в кнопку. Поставил на 8 - в кнопке число 8 и т.д.
Lua:
dxutAddButton(dialog,9, value, 250, 90, 100, 30)
 

makasinuch

Новичок
Автор темы
52
4
На кнопке кажется нельзя менять текст, но точно не помню.
На мультичите Opcodexe он на кнопку поставил значение! Когда передвигаешь, то цифра меняется! Там открыт код, но я в клео вообще нууб и не понимаю как он реализовал это
Upd
Нашел решение сам. Надеюсь те, кто будет изучать Lua с 0 не столкнутся с такими проблемами как я
Lua:
while true do
    wait(0)
    value = dxutGetSliderValue(dialog, 8)
    dxutSetControlText(dialog, 9, value)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.