Проблема с диалоговым окном

Bananious

Известный
Автор темы
238
17
Версия MoonLoader
.026-beta
Бля парни помогите ебусь уже несколько дней! Разными способами делал, но не работает. Нужно что бы само выбирало нужный пункт из диалогового окна. Прикол в том что в других диалоговых окнах всё выбирает, а именно в этом нет.
1643630443140.png
1643630459732.png

Lua:
function sampev.onShowDialog(id, style, title, button1, button2, text)
    if pilot_activate.v then
        local line = -1
        for v in string.gmatch(text, '[^\n]+') do
            line = line + 1
            -- sampAddChatMessage(line..' - '..v, -1)
            -- sampAddChatMessage('find, line - '..line, -1)
            if v:find('AT400') then
                sampSendDialogResponse(id, 1, 1, nil)
                sampCloseCurrentDialogWithButton(1)
            end
        end
    end
end
 

Rice.

Известный
Модератор
1,753
1,612
Lua:
function sampev.onShowDialog(id, style, title, button1, button2, text)
    for line in text:gmatch("[^\n]+") do
        if line:find('AT400') then
            lua_thread.create(function()
                wait(100)
                local con = sampGetListboxItemByText('AT400')
                sampSendDialogResponse(dialogId, 1, con, nil)
            end)
        end
    end
end

function sampGetListboxItemByText(text, plain)
    if not sampIsDialogActive() then return -1 end
        plain = not (plain == false)
    for i = 0, sampGetListboxItemsCount() - 1 do
        if sampGetListboxItemText(i):find(text, 1, plain) then
            return i
        end
    end
    return -1
end
 
  • Нравится
Реакции: Bananious

Bananious

Известный
Автор темы
238
17
Lua:
function sampev.onShowDialog(id, style, title, button1, button2, text)
    for line in text:gmatch("[^\n]+") do
        if line:find('AT400') then
            lua_thread.create(function()
                wait(100)
                local con = sampGetListboxItemByText('AT400')
                sampSendDialogResponse(dialogId, 1, con, nil)
            end)
        end
    end
end

function sampGetListboxItemByText(text, plain)
    if not sampIsDialogActive() then return -1 end
        plain = not (plain == false)
    for i = 0, sampGetListboxItemsCount() - 1 do
        if sampGetListboxItemText(i):find(text, 1, plain) then
            return i
        end
    end
    return -1
end
Спасибо конечно, но я таким же способом делал, и твой проверил, но ничего не работает, на других диалоговых окнах работает, а на этом нет. Я уже не знаю что мне делать)
 

Rice.

Известный
Модератор
1,753
1,612
Спасибо конечно, но я таким же способом делал, и твой проверил, но ничего не работает, на других диалоговых окнах работает, а на этом нет. Я уже не знаю что мне делать)
Скинь полностью текст диалога
 

Bananious

Известный
Автор темы
238
17

SomaGnoma

Известный
436
150
Cyrillic 1251, я же выше написал, что в других диалоговых окнах всё работает, а в этом нет
То есть у тебя находит и текст в диалоге и пишет на какой позиции в листе он находится, но не отсылает респонс?
Мб диалог не успевает появится как у тебя отправляет респонс? Попробуй сделать задержку больше...
 

Bananious

Известный
Автор темы
238
17
То есть у тебя находит и текст в диалоге и пишет на какой позиции в листе он находится, но не отсылает респонс?
Мб диалог не успевает появится как у тебя отправляет респонс? Попробуй сделать задержку больше...
Ну прикол в том что других диалоговых окнах всё срабатывает нормально таких как /mm и т.д.
 

copypaste_scripter

Известный
1,261
234
То есть у тебя находит и текст в диалоге и пишет на какой позиции в листе он находится, но не отсылает респонс?
Мб диалог не успевает появится как у тебя отправляет респонс? Попробуй сделать задержку больше...
не может быть, если хукнул то сразу же без задержки можно ответ отправить, в что то другом дело