Действие скрипта останавливается при отправке ShowMessage()

columbine

Известный
Автор темы
65
5
Версия MoonLoader
.027.0-preview
Использовал эту функцию для вывода сообщений пользователю, но когда это окно открывается, то скрипт не будет продолжать работу, пока окно не будет закрыто.
Мне нужно чтобы даже если пользователь окно не закрыл, то скрипт продолжал работу.

lua:
function ShowMessage(text, title, style)
    ffi.cdef [[
        int MessageBoxA(
            void* hWnd,
            const char* lpText,
            const char* lpCaption,
            unsigned int uType
        );
    ]]
    local hwnd = ffi.cast('void*', readMemory(0x00C8CF88, 4, false))
    ffi.C.MessageBoxA(hwnd, text,  title, style and (style + 0x50000) or 0x50000)
end
 

MrBidloKoder

Известный
425
248
Использовал эту функцию для вывода сообщений пользователю, но когда это окно открывается, то скрипт не будет продолжать работу, пока окно не будет закрыто.
Мне нужно чтобы даже если пользователь окно не закрыл, то скрипт продолжал работу.

lua:
function ShowMessage(text, title, style)
    ffi.cdef [[
        int MessageBoxA(
            void* hWnd,
            const char* lpText,
            const char* lpCaption,
            unsigned int uType
        );
    ]]
    local hwnd = ffi.cast('void*', readMemory(0x00C8CF88, 4, false))
    ffi.C.MessageBoxA(hwnd, text,  title, style and (style + 0x50000) or 0x50000)
end
попробуй поток поставить что-ли? В потоке по идее такой хуйни не будет
 

Hatiko

Известный
Проверенный
1,471
612
Чтобы мороза не было, нужно этому окну отдельный процесс. Через вне игровой скрипт только если, к примеру использовать WScript. Погугли создание окна, один раз баловался. но нужды не было в отдельном процессе, было достаточно стандартного MessageBoxA через ffi.