как выводить messagebox

Salim

Участник
Автор темы
42
12
Версия MoonLoader
.026-beta
Как работает эта херня, помогите пожалуйста.
1689965903015.png
 
  • Эм
Реакции: F0RQU1N and

YarikVL

Известный
Проверенный
4,750
1,815
Как работает эта херня, помогите пожалуйста.
Посмотреть вложение 208881
Ну так пример ниже на скрине, в чем вопрос? Через библиотеку ffi она работает.
Тебе эту строчку вставить в готовый код?
Lua:
local ffi = require "ffi"
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
function main()
    while not isSampAvailable() do wait(0) end
    ShowMessage("text", "title", 0x10)
    while true do
        wait(0)
    
    end
end
 
  • Нравится
Реакции: MLycoris

arpix

Активный
119
32
Как работает эта херня, помогите пожалуйста.
Посмотреть вложение 208881
В начало своего скрипта вставь это:
1689966414437.png

Где то в конце скрипта это:
1689966436537.png

Дальше чтобы вызвать данную функцию вставляет это:
1689966457144.png


Допустим делаешь проверку на что то и вызываешь это, в первых ковычках текст окна, в вторых ковычках заголовок

пример:
Lua:
if razmer.chlen == 23 then
     ShowMessage("Ахуеть, подари 3 см паже", "твой батя F", 0x10)
end
 

Salim

Участник
Автор темы
42
12
Ну так пример ниже на скрине, в чем вопрос? Через библиотеку ffi она работает.
Тебе эту строчку вставить в готовый код?
Lua:
local ffi = require "ffi"
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
function main()
    while not isSampAvailable() do wait(0) end
    ShowMessage("text", "title", 0x10)
    while true do
        wait(0)
   
    end
end
А ее можно как то вне игры использовать?
Типо я хочу сделать, если ты стоишь в афк 10+ минут что бы это оповищение приходило на рабочий стол.
 
  • Эм
Реакции: YarikVL и qdIbp

Lance_Sterling

Известный
978
342
А ее можно как то вне игры использовать?
Типо я хочу сделать, если ты стоишь в афк 10+ минут что бы это оповищение приходило на рабочий стол.
Луа скрипты не работают в афк
 

YarikVL

Известный
Проверенный
4,750
1,815
А ее можно как то вне игры использовать?
Типо я хочу сделать, если ты стоишь в афк 10+ минут что бы это оповищение приходило на рабочий стол.
Ну вообще есть это:

Но можешь посмотреть код как уходит в АФК этот и совместить:
 

ARMOR

011110000111100101101001
Модератор
4,969
6,887
А ее можно как то вне игры использовать?
Типо я хочу сделать, если ты стоишь в афк 10+ минут что бы это оповищение приходило на рабочий стол.
Чтобы сообщение приходило на Раб стол убери в ffi.cast первый параметр hwnd и вместо него 0 поставь.
Вот так:
Lua:
local ffi = require "ffi"
function ShowMessage(text, title, style)
    ffi.cdef [[
        int MessageBoxA(
            void* hWnd,
            const char* lpText,
            const char* lpCaption,
            unsigned int uType
        );
    ]]
    ffi.C.MessageBoxA(0, text,  title, style and (style + 0x50000) or 0x50000)
end
 

Salim

Участник
Автор темы
42
12
Чтобы сообщение приходило на Раб стол убери в ffi.cast первый параметр hwnd и вместо него 0 поставь.
Вот так:
Lua:
local ffi = require "ffi"
function ShowMessage(text, title, style)
    ffi.cdef [[
        int MessageBoxA(
            void* hWnd,
            const char* lpText,
            const char* lpCaption,
            unsigned int uType
        );
    ]]
    ffi.C.MessageBoxA(0, text,  title, style and (style + 0x50000) or 0x50000)
end
Вставляю в скрипт не работает
messagebox:
local ffi = require "ffi"

function main()
    while not isSampAvailable() do wait(0) end
    ShowMessage("text", "title", 0x10)
    while true do
        wait(0)
   
    end
end

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(0, text,  title, style and (style + 0x50000) or 0x50000)
end
 
  • Bug
Реакции: TastyBread123