не работает скрипт (прописывание команды + выбор пункта диалога)

лион из бровл сторс

Участник
Автор темы
140
13
Хочу сделать скрипт, чтобы при посадке в авто он автоматически прописывал "/hydraulics" и выбирал 2 пункт (Сделать подвеску ниже), но в случае если пункт выбран итак на 2-ом (Пишется рядом - Активна), то выбирался 3 пункт, а после 10 секунд снова прописывалась команда "/hydraulics" и выбирался уже 2 пункт:
2lDuUO7.png



Код скрипта, который не работает:

Lua:
function sampev.onShowDialog(id, style, title, b1, b2, text)
    if true and text == "~n~~n~~n~~n~~n~~n~~n~~n~~w~Style: ~g~Comfort!" then
        sampSendChat('/hydraulics')
        if id == 25691 then
            lua_thread.create(function()
            wait(50)
            sampSendDialogResponse(25691, 2, 1, nil) end)
            sampCloseCurrentDialogWithButton(2)
        elseif text:find("У вас уже выбран данный тип подвески") then
            sampSendDialogResponse(25691, 3, 1, nil)
            sampCloseCurrentDialogWithButton(2)
            wait(10000)
            sampSendDialogResponse(25691, 2, 1, nil)
            sampCloseCurrentDialogWithButton(2)
        end
    else if true and text == "~n~~n~~n~~n~~n~~n~~n~~n~~w~Style: ~r~Sport!" then
        if id == 25691 then
            lua_thread.create(function()
            wait(50)
            sampSendDialogResponse(25691, 2, 1, nil)
            sampCloseCurrentDialogWithButton(2) end)
        elseif text:find("У вас уже выбран данный тип подвески") then
            sampSendDialogResponse(25691, 3, 1, nil)
            sampCloseCurrentDialogWithButton(2)
            wait(10000)
            sampSendDialogResponse(25691, 2, 1, nil)
            sampCloseCurrentDialogWithButton(2)
        end
    end
end
 

лион из бровл сторс

Участник
Автор темы
140
13

plalkeo

Известный
523
192
это проверка на то человек сел в машину или нет (на арз пишется стиль геймтекса при посадке в авто)
но это не диалог

Lua:
function sampev.onDisplayGameText(style, time, text)

1705596405387.png

Каким образом нажмется и отправятся данные в диалог который уже закрыт?
делаешь какую-нибудь переменную
Lua:
step = 2
И при открытии диалога проверяешь, если step = 2, то меняешь на "Ниже"
И в целом проверку по диалогу делай а не ГеймТексту
 

лион из бровл сторс

Участник
Автор темы
140
13
но это не диалог

Lua:
function sampev.onDisplayGameText(style, time, text)

Посмотреть вложение 229282
Каким образом нажмется и отправятся данные в диалог который уже закрыт?
делаешь какую-нибудь переменную
Lua:
step = 2
И при открытии диалога проверяешь, если step = 2, то меняешь на "Ниже"
И в целом проверку по диалогу делай а не ГеймТексту
дак мне надо чтобы я сел и автоматически пропмсалась команда, и в этом диалоге выбрался 2 пункт
 

plalkeo

Известный
523
192
Lua:
local sampev = require('lib.samp.events')
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if title:find('Настройка гидравлики авто') then
        for line in text:gmatch('[^\n]+') do
            if line:find('Активна') and line:find('Сделать подвеску ниже') then
                sampSendDialogResponse(dialogId, 1, 2, nil)
                lua_thread.create(function() -- Ну на счет этого хз, я точно хз как и врубить wait, и скрыть диалог
                    wait(10500)
                    sampSendChat('/hydraulics')
                end)
                return false
            end
            if line:find('Сделать подвеску ниже') and not line:find('Активна') then
                sampSendDialogResponse(dialogId, 1, 1, nil)
                sampCloseCurrentDialogWithButton(1)
                return false
            end
        end
    end
end
function sampev.onDisplayGameText(style, time, text)
    if text:find("~n~~n~~n~~n~~n~~n~~n~~n~~w~Style: ~r~Sport!") or text:find("~n~~n~~n~~n~~n~~n~~n~~n~~w~Style: ~g~Comfort!") then
        sampSendChat('/hydraulics')
    end
end
1705597534128.png

1705597542749.png

1705597562576.png


Разве что будут приколы - при смене ТТ на /style или 2
 

лион из бровл сторс

Участник
Автор темы
140
13
Lua:
local sampev = require('lib.samp.events')
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if title:find('Настройка гидравлики авто') then
        for line in text:gmatch('[^\n]+') do
            if line:find('Активна') and line:find('Сделать подвеску ниже') then
                sampSendDialogResponse(dialogId, 1, 2, nil)
                lua_thread.create(function() -- Ну на счет этого хз, я точно хз как и врубить wait, и скрыть диалог
                    wait(10500)
                    sampSendChat('/hydraulics')
                end)
                return false
            end
            if line:find('Сделать подвеску ниже') and not line:find('Активна') then
                sampSendDialogResponse(dialogId, 1, 1, nil)
                sampCloseCurrentDialogWithButton(1)
                return false
            end
        end
    end
end
function sampev.onDisplayGameText(style, time, text)
    if text:find("~n~~n~~n~~n~~n~~n~~n~~n~~w~Style: ~r~Sport!") or text:find("~n~~n~~n~~n~~n~~n~~n~~n~~w~Style: ~g~Comfort!") then
        sampSendChat('/hydraulics')
    end
end
Посмотреть вложение 229283
Посмотреть вложение 229284
Посмотреть вложение 229286

Разве что будут приколы - при смене ТТ на /style или 2
Не работает. Открывается диалог смены гидравлики и все