Закрытие диалога не видя его на экране

l-m

Новичок
Автор темы
28
1
Версия MoonLoader
.026-beta
Хочу закрыть диалог с ид 72, нажав на лист (строка 2) так, чтобы не видеть диалог на экране(не создавать помехи игре)
gta_sa_xmkhUDlPb3.png

Как не пытался не получается.
Вот код:
function sampev.onServerMessage(color, text) -- Этот хук ловит сообщения в чате
    lua_thread.create(function() -- создаем поток -- позволяет использовать wait
        if text:find("Сотрудники ФБР взломали дверь Вашего дома!") then
            sampSendChat("/home")               
            sampSendDialogResponse(72, 1, 1, -1)
            --sampCloseCurrentDialogWithButton(1) 
            --wait(1000)
            sampCloseCurrentDialogWithButton(0)
            return false
            --sampCloseCurrentDialogWithButton(0)
            --return false
            --end
        end   
    end)
end
Но, есть у меня код в котором все работает, я стал на пикап, взялись нужные мне листы и я даже не увидел диалога, можно даже просто пробежать через метку. Код ниже
Мой скрипт:
function sampev.onShowDialog(did, style, title, b1, b2, text) -- функция в самп.евентс (диалогид, стиль, титры*то что вверху диалога*, первая кнопка, вторая кнопка, текст)
    if did == 199  then -- если ДиалогИД == 216 то         
        sampSendDialogResponse(did, 1, nil, 28042006) -- ДиалогИД, 1 правая 0 левая кнопки, лист диалога(начинается с 0), что вставить в инпут
        --return false
        --sampCloseCurrentDialogWithButton() -- закрывает диалог, хз зач, не которые для страховки юзают
        --return false -- не показывает диалог
    elseif did == 175 then
        sampSendDialogResponse(did, 1, 1, nil)
        sampSendDialogResponse(did, 1, 3, nil)
        sampSendDialogResponse(did, 1, 4, nil)
        sampSendDialogResponse(did, 1, 5, nil)
        sampSendDialogResponse(did, 1, 6, nil)
        sampSendDialogResponse(did, 1, 7, nil)
        sampSendDialogResponse(did, 1, 10, nil)
        sampSendDialogResponse(did, 0, nil, nil)
        sampCloseCurrentDialogWithButton(1)
        return false   
    end
end
Работает диалог с ид 175, но 199 так же пытался сделать, он не закрывается.
 

YarikVL

Известный
Проверенный
4,766
1,820
Lua:
local sampev = require('lib.samp.events')

function sampev.onServerMessage(color, text) -- Этот хук ловит сообщения в чате
    if text:find("Сотрудники ФБР взломали дверь Вашего дома!") then
        lua_thread.create(function() -- создаем поток -- позволяет использовать wait
            wait(300)
            sampSendChat("/home")
            message = true
            return false -- это относится к потоку
        end)
    end 
end
function sampev.onShowDialog(did, style, title, b1, b2, text)
    if message and title:find("Параметры дома") then
        --тут можешь задержку сделать ток поток создай перед этим     
        sampSendDialogResponse(did, 1, 1, nil)
        sampAddChatMessage("Нажимаю на вторую строку диалога", -1)
        message = false
        return false -- это не показывает твой диалог с заголовком Параметры дома
    end
end
Попробуй так, вроде должно работать
 
Последнее редактирование:

l-m

Новичок
Автор темы
28
1
Lua:
local sampev = require('lib.samp.events')

function sampev.onServerMessage(color, text) -- Этот хук ловит сообщения в чате
    if text:find("Сотрудники ФБР взломали дверь Вашего дома!") then
        lua_thread.create(function() -- создаем поток -- позволяет использовать wait
            wait(300)
            sampSendChat("/home")
            return false -- это относится к потоку
        end)
    end  
end
function sampev.onShowDialog(did, style, title, b1, b2, text)
    if title:find("Параметры дома") then
        --тут можешь задержку сделать ток поток создай перед этим      
        sampSendDialogResponse(did, 1, nil, nil)
        sampAddChatMessage("Нажимаю на вторую строку диалога", -1)
        return false -- это не показывает твой диалог с заголовком Параметры дома
    end
end
Попробуй так, вроде должно работать
sampSendDialogResponse(did, 1, nil, nil), третье значение отвечает за нажатие со списка)
и да, флуд, итог кик + когда я просто открываю иконку home для настройки дома, он как выше сказал, флудит закрытием открытием дома))))

return false у меня почему-то вызывает флуд, за исключением того кода, который я в начале указывал.
 

YarikVL

Известный
Проверенный
4,766
1,820
sampSendDialogResponse(did, 1, nil, nil), третье значение отвечает за нажатие со списка)
Да
и да, флуд, итог кик
Возможно из-за того, что я забыл третий аргумент написать
когда я просто открываю иконку home для настройки дома, он как выше сказал, флудит закрытием открытием дома
Нужно переменную добавлять в таком случае
return false у меня почему-то вызывает флуд, за исключением того кода, который я в начале указывал.
Вызывает флуд командой /home?

Я там подправил код
 

l-m

Новичок
Автор темы
28
1
sampSendDialogResponse(did, 1, nil, nil), третье значение отвечает за нажатие со списка)
Я исправил сразу же
Вызывает флуд командой /home?
флуд производится того потока, в котором указал return false
Возможно из-за того, что я забыл третий аргумент написать
выше уже сказал, сразу добавил ещё не проверяя скрипт в игре)
Я там подправил код
Cp18R4Cpze.png

Вот что происходит при условии, что хук поймал сообщение в чате, не знаю почему.
Мой скрипт:
function sampev.onShowDialog(did, style, title, b1, b2, text) -- функция в самп.евентс (диалогид, стиль, титры*то что вверху диалога*, первая кнопка, вторая кнопка, текст)
    if did == 199  then -- если ДиалогИД == 216 то         
        sampSendDialogResponse(did, 1, nil, 28042006) -- ДиалогИД, 1 правая 0 левая кнопки, лист диалога(начинается с 0), что вставить в инпут
        --return false
        --sampCloseCurrentDialogWithButton() -- закрывает диалог, хз зач, не которые для страховки юзают
        --return false -- не показывает диалог
    elseif did == 175 then
        sampSendDialogResponse(did, 1, 1, nil)
        sampSendDialogResponse(did, 1, 3, nil)
        sampSendDialogResponse(did, 1, 4, nil)
        sampSendDialogResponse(did, 1, 5, nil)
        sampSendDialogResponse(did, 1, 6, nil)
        sampSendDialogResponse(did, 1, 7, nil)
        sampSendDialogResponse(did, 1, 10, nil)
        sampSendDialogResponse(did, 0, nil, nil)
        sampCloseCurrentDialogWithButton(1)
        return false   
    end
end
В этом коде, диалог 175 нормально работает, я пробежал через чекпоинт, в листе взялись все указанные мною строчки, я не увидев диалога побежал дальше.
 

l-m

Новичок
Автор темы
28
1
Последнее редактирование: