Исходник Гайд Lua jmp hook

RTD

Потужно
Автор темы
Модератор
399
470
Как я понял, крашить может из-за того, что в секунду сервер посылает сразу несколько пакетов сообщений. Если честно, сам не понимаю, как это можно исправить.
Тогда используй трамплин
 
D

deleted-user-164854

Гость
Попробовал трамплином - та же проблема.

Я носился с такой же проблемой. Вариант ниже прошел длительный тест (чисто "собирал" строки для проверки крашнет или нет) на основной сборке и ни разу не крашнул игру/не крашнулся скрипт. Проблемы, что я описывал в этой же теме, в постах выше, которые ТАК ЖЕ были связаны с хуком чата и были вызваны тем, что я накосячил с match в функции коллбека. В ней любая ошибка вызывает не краш скрипта с причиной в moonloader.log, а краш самой игры без лога.

Lua:
local ffi = require 'ffi'
local hook = {hooks = {}}
addEventHandler('onScriptTerminate', function(scr)
    if scr == script.this then
        for i, hook in ipairs(hook.hooks) do
            if hook.status then
                hook.stop()
            end
        end
    end
end)

ffi.cdef [[
    int VirtualProtect(void* lpAddress, unsigned long dwSize, unsigned long flNewProtect, unsigned long* lpflOldProtect);
]]

function hook.new(cast, callback, hook_addr, size)
    local size = size or 5
    local new_hook = {}
    local detour_addr = tonumber(ffi.cast('intptr_t', ffi.cast('void*', ffi.cast(cast, callback))))
    local void_addr = ffi.cast('void*', hook_addr)
    local old_prot = ffi.new('unsigned long[1]')
    local org_bytes = ffi.new('uint8_t[?]', size)
    ffi.copy(org_bytes, void_addr, size)
    local hook_bytes = ffi.new('uint8_t[?]', size, 0x90)
    hook_bytes[0] = 0xE9
    ffi.cast('uint32_t*', hook_bytes + 1)[0] = detour_addr - hook_addr - 5
    new_hook.call = ffi.cast(cast, hook_addr)
    new_hook.status = false
    local function set_status(bool)
        new_hook.status = bool
        ffi.C.VirtualProtect(void_addr, size, 0x40, old_prot)
        ffi.copy(void_addr, bool and hook_bytes or org_bytes, size)
        ffi.C.VirtualProtect(void_addr, size, old_prot[0], old_prot)
    end
    new_hook.stop = function() set_status(false) end
    new_hook.start = function() set_status(true) end
    new_hook.start()
    table.insert(hook.hooks, new_hook)
    return setmetatable(new_hook, {
        __call = function(self, ...)
            self.stop()
            local res = self.call(...)
            self.start()
            return res
        end
    })
end

function main()
    while not isSampAvailable() do
        wait(0)
    end   
    sampChatHook = hook.new('void(__thiscall *)(void *this, uint32_t type, const char* text, const char* prefix, uint32_t color, uint32_t pcolor)', ChatHook, getModuleHandle('samp.dll') + 0x64010)
    wait(-1)
end

function ChatHook(HOOKED_CHAT_THIS, HOOKED_CHAT_TYPE, HOOKED_CHAT_TEXT, HOOKED_CHAT_PREFIX, HOOKED_CHAT_COLOR, HOOKED_CHAT_PCOLOR)
    print(tostring(HOOKED_CHAT_COLOR).." \\\\\\\\\\ "..ffi.string(HOOKED_CHAT_TEXT))
    sampChatHook(HOOKED_CHAT_THIS, HOOKED_CHAT_TYPE, HOOKED_CHAT_TEXT, HOOKED_CHAT_PREFIX, HOOKED_CHAT_COLOR, HOOKED_CHAT_PCOLOR)
end

Так что попробуй сделать вот такой скрипт и расскажи про результаты.
 
  • Нравится
Реакции: CaJlaT и Babayka2016

Babayka2016

Известный
51
2
Я носился с такой же проблемой. Вариант ниже прошел длительный тест (чисто "собирал" строки для проверки крашнет или нет) на основной сборке и ни разу не крашнул игру/не крашнулся скрипт. Проблемы, что я описывал в этой же теме, в постах выше, которые ТАК ЖЕ были связаны с хуком чата и были вызваны тем, что я накосячил с match в функции коллбека. В ней любая ошибка вызывает не краш скрипта с причиной в moonloader.log, а краш самой игры без лога.

Lua:
local ffi = require 'ffi'
local hook = {hooks = {}}
addEventHandler('onScriptTerminate', function(scr)
    if scr == script.this then
        for i, hook in ipairs(hook.hooks) do
            if hook.status then
                hook.stop()
            end
        end
    end
end)

ffi.cdef [[
    int VirtualProtect(void* lpAddress, unsigned long dwSize, unsigned long flNewProtect, unsigned long* lpflOldProtect);
]]

function hook.new(cast, callback, hook_addr, size)
    local size = size or 5
    local new_hook = {}
    local detour_addr = tonumber(ffi.cast('intptr_t', ffi.cast('void*', ffi.cast(cast, callback))))
    local void_addr = ffi.cast('void*', hook_addr)
    local old_prot = ffi.new('unsigned long[1]')
    local org_bytes = ffi.new('uint8_t[?]', size)
    ffi.copy(org_bytes, void_addr, size)
    local hook_bytes = ffi.new('uint8_t[?]', size, 0x90)
    hook_bytes[0] = 0xE9
    ffi.cast('uint32_t*', hook_bytes + 1)[0] = detour_addr - hook_addr - 5
    new_hook.call = ffi.cast(cast, hook_addr)
    new_hook.status = false
    local function set_status(bool)
        new_hook.status = bool
        ffi.C.VirtualProtect(void_addr, size, 0x40, old_prot)
        ffi.copy(void_addr, bool and hook_bytes or org_bytes, size)
        ffi.C.VirtualProtect(void_addr, size, old_prot[0], old_prot)
    end
    new_hook.stop = function() set_status(false) end
    new_hook.start = function() set_status(true) end
    new_hook.start()
    table.insert(hook.hooks, new_hook)
    return setmetatable(new_hook, {
        __call = function(self, ...)
            self.stop()
            local res = self.call(...)
            self.start()
            return res
        end
    })
end

function main()
    while not isSampAvailable() do
        wait(0)
    end  
    sampChatHook = hook.new('void(__thiscall *)(void *this, uint32_t type, const char* text, const char* prefix, uint32_t color, uint32_t pcolor)', ChatHook, getModuleHandle('samp.dll') + 0x64010)
    wait(-1)
end

function ChatHook(HOOKED_CHAT_THIS, HOOKED_CHAT_TYPE, HOOKED_CHAT_TEXT, HOOKED_CHAT_PREFIX, HOOKED_CHAT_COLOR, HOOKED_CHAT_PCOLOR)
    print(tostring(HOOKED_CHAT_COLOR).." \\\\\\\\\\ "..ffi.string(HOOKED_CHAT_TEXT))
    sampChatHook(HOOKED_CHAT_THIS, HOOKED_CHAT_TYPE, HOOKED_CHAT_TEXT, HOOKED_CHAT_PREFIX, HOOKED_CHAT_COLOR, HOOKED_CHAT_PCOLOR)
end

Так что попробуй сделать вот такой скрипт и расскажи про результаты.

Как ни странно, это заработало! Огромное спасибо)
 

Double Tap Inside

Известный
Проверенный
1,916
1,255
Подыхает часто-иногда-невсегда при открытии диалога.
Паралельно в другом скрипте работают хуки от samp.lua, и тоже на диалоги. Шо делать? Почему дохнет скрипт?



Код:
[20:08:35.588000] (system)    Session started.
[20:08:35.589000] (debug)    Module handle: 5C4E0000

MoonLoader v.026.5-beta loaded.
Developers: FYP, hnnssy, EvgeN 1137

Copyright (c) 2016, BlastHack Team
https://www.blast.hk/moonloader/

[20:08:35.589000] (info)    Working directory: C:\GTA SA-MP\moonloader
[20:08:35.589000] (debug)    FP Control: 0009001F
[20:08:35.589000] (debug)    Game: GTA SA 1.0.0.0 US
[20:08:35.589000] (system)    Installing pre-game hooks...
[20:08:35.593000] (system)    Hooks installed.
[20:08:36.334000] (debug)    Initializing opcode handler table
[20:08:36.334000] (debug)    package.path = C:\GTA SA-MP\moonloader\lib\?.lua;C:\GTA SA-MP\moonloader\lib\?\init.lua;C:\GTA SA-MP\moonloader\?.lua;C:\GTA SA-MP\moonloader\?\init.lua;.\?.lua;C:\GTA SA-MP\moonloader\lib\?.luac;C:\GTA SA-MP\moonloader\lib\?\init.luac;C:\GTA SA-MP\moonloader\?.luac;C:\GTA SA-MP\moonloader\?\init.luac;.\?.luac
[20:08:36.334000] (debug)    package.cpath = C:\GTA SA-MP\moonloader\lib\?.dll;
[20:08:36.346000] (system)    Loading script 'C:\GTA SA-MP\moonloader\AutoReboot.lua'...
[20:08:36.347000] (debug)    New script: 01919E64
[20:08:36.348000] (system)    ML-AutoReboot: Loaded successfully.
[20:08:36.348000] (system)    Loading script 'C:\GTA SA-MP\moonloader\check-moonloader-updates.lua'...
[20:08:36.348000] (debug)    New script: 01869524
[20:08:36.351000] (system)    Check MoonLoader Updates: Loaded successfully.
[20:08:36.351000] (system)    Loading script 'C:\GTA SA-MP\moonloader\I N T E L L I G E N C Y.luac'...
[20:08:36.351000] (debug)    New script: 0191BFF4
[20:08:36.538000] (system)    I N T E L L I G E N C Y.luac: Loaded successfully.
[20:08:36.538000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Mini-Pig.lua'...
[20:08:36.538000] (debug)    New script: 0191B00C
[20:08:36.562000] (system)    Mini-Pig.lua: Loaded successfully.
[20:08:36.562000] (system)    Loading script 'C:\GTA SA-MP\moonloader\reload_all.lua'...
[20:08:36.562000] (debug)    New script: 0191B194
[20:08:36.564000] (system)    ML-ReloadAll: Loaded successfully.
[20:08:36.564000] (system)    Loading script 'C:\GTA SA-MP\moonloader\SF Integration.lua'...
[20:08:36.564000] (debug)    New script: 0191B4A4
[20:08:36.568000] (system)    SF Integration: Loaded successfully.
[20:08:36.568000] (system)    Loading script 'C:\GTA SA-MP\moonloader\specadm 1.5 ebal rot.lua'...
[20:08:36.568000] (debug)    New script: 0191B62C
[20:08:36.577000] (system)    specadm 1.5 ebal rot.lua: Loaded successfully.
[20:08:36.577000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Sweet Connect.lua'...
[20:08:36.577000] (debug)    New script: 0191B7B4
[20:08:36.603000] (system)    Sweet Connect.lua: Loaded successfully.
[20:08:36.603000] (system)    Loading script 'C:\GTA SA-MP\moonloader\[ARZ] Mr.Robot.lua'...
[20:08:36.603000] (debug)    New script: 0191B93C
[20:08:36.618000] (system)    [ARZ] Mr.Robot.lua: Loaded successfully.
[20:08:36.618000] (system)    Loading script 'C:\GTA SA-MP\moonloader\АРЗ Тпшер.lua'...
[20:08:36.618000] (debug)    New script: 0191BAC4
[20:08:36.623000] (system)    АРЗ Тпшер.lua: Loaded successfully.
[20:08:47.900000] (system)    Installing post-load hooks...
[20:08:47.900000] (system)    Hooks installed.
[20:36:10.700000] (script)    ML-AutoReboot: Reloading "Sweet Connect.lua"...
[20:36:10.757000] (system)    Sweet Connect.lua: Script terminated. (0191B7B4)
[20:36:10.777000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Sweet Connect.lua'...
[20:36:10.777000] (debug)    New script: 0191B7B4
[20:36:10.829000] (system)    Sweet Connect.lua: Loaded successfully.
[20:38:33.307000] (system)    ML-AutoReboot: Script terminated. (01919E64)
[20:38:33.309000] (system)    Check MoonLoader Updates: Script terminated. (01869524)
[20:38:33.310000] (system)    I N T E L L I G E N C Y.luac: Script terminated. (0191BFF4)
[20:38:33.311000] (system)    Mini-Pig.lua: Script terminated. (0191B00C)
[20:38:33.343000] (system)    ML-ReloadAll: Script terminated. (0191B194)
[20:38:33.344000] (system)    SF Integration: Script terminated. (0191B4A4)
[20:38:33.345000] (system)    specadm 1.5 ebal rot.lua: Script terminated. (0191B62C)
[20:38:33.346000] (system)    [ARZ] Mr.Robot.lua: Script terminated. (0191B93C)
[20:38:33.364000] (system)    АРЗ Тпшер.lua: Script terminated. (0191BAC4)
[20:38:33.367000] (system)    Sweet Connect.lua: Script terminated. (0191B7B4)
[20:38:33.370000] (system)    Loading script 'C:\GTA SA-MP\moonloader\AutoReboot.lua'...
[20:38:33.370000] (debug)    New script: 0191B7B4
[20:38:33.372000] (system)    ML-AutoReboot: Loaded successfully.
[20:38:33.372000] (system)    Loading script 'C:\GTA SA-MP\moonloader\check-moonloader-updates.lua'...
[20:38:33.372000] (debug)    New script: 0191BAC4
[20:38:33.376000] (system)    Check MoonLoader Updates: Loaded successfully.
[20:38:33.376000] (system)    Loading script 'C:\GTA SA-MP\moonloader\I N T E L L I G E N C Y.luac'...
[20:38:33.376000] (debug)    New script: 0191B93C
[20:38:33.562000] (system)    I N T E L L I G E N C Y.luac: Loaded successfully.
[20:38:33.562000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Mini-Pig.lua'...
[20:38:33.562000] (debug)    New script: 0191B62C
[20:38:33.603000] (system)    Mini-Pig.lua: Loaded successfully.
[20:38:33.603000] (system)    Loading script 'C:\GTA SA-MP\moonloader\reload_all.lua'...
[20:38:33.603000] (debug)    New script: 0191B4A4
[20:38:33.604000] (system)    ML-ReloadAll: Loaded successfully.
[20:38:33.604000] (system)    Loading script 'C:\GTA SA-MP\moonloader\SF Integration.lua'...
[20:38:33.604000] (debug)    New script: 0191B194
[20:38:33.607000] (system)    SF Integration: Loaded successfully.
[20:38:33.607000] (system)    Loading script 'C:\GTA SA-MP\moonloader\specadm 1.5 ebal rot.lua'...
[20:38:33.607000] (debug)    New script: 0191B00C
[20:38:33.613000] (system)    specadm 1.5 ebal rot.lua: Loaded successfully.
[20:38:33.613000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Sweet Connect.lua'...
[20:38:33.613000] (debug)    New script: 11F8E31C
[20:38:33.629000] (system)    Sweet Connect.lua: Loaded successfully.
[20:38:33.629000] (system)    Loading script 'C:\GTA SA-MP\moonloader\[ARZ] Mr.Robot.lua'...
[20:38:33.629000] (debug)    New script: 11F8E4A4
[20:38:33.644000] (system)    [ARZ] Mr.Robot.lua: Loaded successfully.
[20:38:33.644000] (system)    Loading script 'C:\GTA SA-MP\moonloader\АРЗ Тпшер.lua'...
[20:38:33.644000] (debug)    New script: 11F8D864
[20:38:33.650000] (system)    АРЗ Тпшер.lua: Loaded successfully.
[20:47:25.632000] (error)    Sweet Connect.lua: C:\GTA SA-MP\moonloader\Sweet Connect.lua:66: cannot convert 'table' to 'void (*)()'
stack traceback:
    [C]: in function 'cast'
    C:\GTA SA-MP\moonloader\Sweet Connect.lua:66: in function 'new'
    C:\GTA SA-MP\moonloader\Sweet Connect.lua:902: in function <C:\GTA SA-MP\moonloader\Sweet Connect.lua:898>
    [C]: in function 'wait'
    C:\GTA SA-MP\moonloader\Sweet Connect.lua:949: in function <C:\GTA SA-MP\moonloader\Sweet Connect.lua:898>
[20:47:25.635000] (error)    Sweet Connect.lua: Script died due to an error. (11F8E31C)


ссылка на тему Sweet Connect, для библиотек итд если вдруг надо.
 

Вложения

  • moonloader.log
    6.8 KB · Просмотры: 3
  • Sweet Connect.lua
    24.6 KB · Просмотры: 11

imring

Ride the Lightning
Всефорумный модератор
2,361
2,546
Подыхает часто-иногда-невсегда при открытии диалога.
Паралельно в другом скрипте работают хуки от samp.lua, и тоже на диалоги. Шо делать? Почему дохнет скрипт?



Код:
[20:08:35.588000] (system)    Session started.
[20:08:35.589000] (debug)    Module handle: 5C4E0000

MoonLoader v.026.5-beta loaded.
Developers: FYP, hnnssy, EvgeN 1137

Copyright (c) 2016, BlastHack Team
https://www.blast.hk/moonloader/

[20:08:35.589000] (info)    Working directory: C:\GTA SA-MP\moonloader
[20:08:35.589000] (debug)    FP Control: 0009001F
[20:08:35.589000] (debug)    Game: GTA SA 1.0.0.0 US
[20:08:35.589000] (system)    Installing pre-game hooks...
[20:08:35.593000] (system)    Hooks installed.
[20:08:36.334000] (debug)    Initializing opcode handler table
[20:08:36.334000] (debug)    package.path = C:\GTA SA-MP\moonloader\lib\?.lua;C:\GTA SA-MP\moonloader\lib\?\init.lua;C:\GTA SA-MP\moonloader\?.lua;C:\GTA SA-MP\moonloader\?\init.lua;.\?.lua;C:\GTA SA-MP\moonloader\lib\?.luac;C:\GTA SA-MP\moonloader\lib\?\init.luac;C:\GTA SA-MP\moonloader\?.luac;C:\GTA SA-MP\moonloader\?\init.luac;.\?.luac
[20:08:36.334000] (debug)    package.cpath = C:\GTA SA-MP\moonloader\lib\?.dll;
[20:08:36.346000] (system)    Loading script 'C:\GTA SA-MP\moonloader\AutoReboot.lua'...
[20:08:36.347000] (debug)    New script: 01919E64
[20:08:36.348000] (system)    ML-AutoReboot: Loaded successfully.
[20:08:36.348000] (system)    Loading script 'C:\GTA SA-MP\moonloader\check-moonloader-updates.lua'...
[20:08:36.348000] (debug)    New script: 01869524
[20:08:36.351000] (system)    Check MoonLoader Updates: Loaded successfully.
[20:08:36.351000] (system)    Loading script 'C:\GTA SA-MP\moonloader\I N T E L L I G E N C Y.luac'...
[20:08:36.351000] (debug)    New script: 0191BFF4
[20:08:36.538000] (system)    I N T E L L I G E N C Y.luac: Loaded successfully.
[20:08:36.538000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Mini-Pig.lua'...
[20:08:36.538000] (debug)    New script: 0191B00C
[20:08:36.562000] (system)    Mini-Pig.lua: Loaded successfully.
[20:08:36.562000] (system)    Loading script 'C:\GTA SA-MP\moonloader\reload_all.lua'...
[20:08:36.562000] (debug)    New script: 0191B194
[20:08:36.564000] (system)    ML-ReloadAll: Loaded successfully.
[20:08:36.564000] (system)    Loading script 'C:\GTA SA-MP\moonloader\SF Integration.lua'...
[20:08:36.564000] (debug)    New script: 0191B4A4
[20:08:36.568000] (system)    SF Integration: Loaded successfully.
[20:08:36.568000] (system)    Loading script 'C:\GTA SA-MP\moonloader\specadm 1.5 ebal rot.lua'...
[20:08:36.568000] (debug)    New script: 0191B62C
[20:08:36.577000] (system)    specadm 1.5 ebal rot.lua: Loaded successfully.
[20:08:36.577000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Sweet Connect.lua'...
[20:08:36.577000] (debug)    New script: 0191B7B4
[20:08:36.603000] (system)    Sweet Connect.lua: Loaded successfully.
[20:08:36.603000] (system)    Loading script 'C:\GTA SA-MP\moonloader\[ARZ] Mr.Robot.lua'...
[20:08:36.603000] (debug)    New script: 0191B93C
[20:08:36.618000] (system)    [ARZ] Mr.Robot.lua: Loaded successfully.
[20:08:36.618000] (system)    Loading script 'C:\GTA SA-MP\moonloader\АРЗ Тпшер.lua'...
[20:08:36.618000] (debug)    New script: 0191BAC4
[20:08:36.623000] (system)    АРЗ Тпшер.lua: Loaded successfully.
[20:08:47.900000] (system)    Installing post-load hooks...
[20:08:47.900000] (system)    Hooks installed.
[20:36:10.700000] (script)    ML-AutoReboot: Reloading "Sweet Connect.lua"...
[20:36:10.757000] (system)    Sweet Connect.lua: Script terminated. (0191B7B4)
[20:36:10.777000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Sweet Connect.lua'...
[20:36:10.777000] (debug)    New script: 0191B7B4
[20:36:10.829000] (system)    Sweet Connect.lua: Loaded successfully.
[20:38:33.307000] (system)    ML-AutoReboot: Script terminated. (01919E64)
[20:38:33.309000] (system)    Check MoonLoader Updates: Script terminated. (01869524)
[20:38:33.310000] (system)    I N T E L L I G E N C Y.luac: Script terminated. (0191BFF4)
[20:38:33.311000] (system)    Mini-Pig.lua: Script terminated. (0191B00C)
[20:38:33.343000] (system)    ML-ReloadAll: Script terminated. (0191B194)
[20:38:33.344000] (system)    SF Integration: Script terminated. (0191B4A4)
[20:38:33.345000] (system)    specadm 1.5 ebal rot.lua: Script terminated. (0191B62C)
[20:38:33.346000] (system)    [ARZ] Mr.Robot.lua: Script terminated. (0191B93C)
[20:38:33.364000] (system)    АРЗ Тпшер.lua: Script terminated. (0191BAC4)
[20:38:33.367000] (system)    Sweet Connect.lua: Script terminated. (0191B7B4)
[20:38:33.370000] (system)    Loading script 'C:\GTA SA-MP\moonloader\AutoReboot.lua'...
[20:38:33.370000] (debug)    New script: 0191B7B4
[20:38:33.372000] (system)    ML-AutoReboot: Loaded successfully.
[20:38:33.372000] (system)    Loading script 'C:\GTA SA-MP\moonloader\check-moonloader-updates.lua'...
[20:38:33.372000] (debug)    New script: 0191BAC4
[20:38:33.376000] (system)    Check MoonLoader Updates: Loaded successfully.
[20:38:33.376000] (system)    Loading script 'C:\GTA SA-MP\moonloader\I N T E L L I G E N C Y.luac'...
[20:38:33.376000] (debug)    New script: 0191B93C
[20:38:33.562000] (system)    I N T E L L I G E N C Y.luac: Loaded successfully.
[20:38:33.562000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Mini-Pig.lua'...
[20:38:33.562000] (debug)    New script: 0191B62C
[20:38:33.603000] (system)    Mini-Pig.lua: Loaded successfully.
[20:38:33.603000] (system)    Loading script 'C:\GTA SA-MP\moonloader\reload_all.lua'...
[20:38:33.603000] (debug)    New script: 0191B4A4
[20:38:33.604000] (system)    ML-ReloadAll: Loaded successfully.
[20:38:33.604000] (system)    Loading script 'C:\GTA SA-MP\moonloader\SF Integration.lua'...
[20:38:33.604000] (debug)    New script: 0191B194
[20:38:33.607000] (system)    SF Integration: Loaded successfully.
[20:38:33.607000] (system)    Loading script 'C:\GTA SA-MP\moonloader\specadm 1.5 ebal rot.lua'...
[20:38:33.607000] (debug)    New script: 0191B00C
[20:38:33.613000] (system)    specadm 1.5 ebal rot.lua: Loaded successfully.
[20:38:33.613000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Sweet Connect.lua'...
[20:38:33.613000] (debug)    New script: 11F8E31C
[20:38:33.629000] (system)    Sweet Connect.lua: Loaded successfully.
[20:38:33.629000] (system)    Loading script 'C:\GTA SA-MP\moonloader\[ARZ] Mr.Robot.lua'...
[20:38:33.629000] (debug)    New script: 11F8E4A4
[20:38:33.644000] (system)    [ARZ] Mr.Robot.lua: Loaded successfully.
[20:38:33.644000] (system)    Loading script 'C:\GTA SA-MP\moonloader\АРЗ Тпшер.lua'...
[20:38:33.644000] (debug)    New script: 11F8D864
[20:38:33.650000] (system)    АРЗ Тпшер.lua: Loaded successfully.
[20:47:25.632000] (error)    Sweet Connect.lua: C:\GTA SA-MP\moonloader\Sweet Connect.lua:66: cannot convert 'table' to 'void (*)()'
stack traceback:
    [C]: in function 'cast'
    C:\GTA SA-MP\moonloader\Sweet Connect.lua:66: in function 'new'
    C:\GTA SA-MP\moonloader\Sweet Connect.lua:902: in function <C:\GTA SA-MP\moonloader\Sweet Connect.lua:898>
    [C]: in function 'wait'
    C:\GTA SA-MP\moonloader\Sweet Connect.lua:949: in function <C:\GTA SA-MP\moonloader\Sweet Connect.lua:898>
[20:47:25.635000] (error)    Sweet Connect.lua: Script died due to an error. (11F8E31C)


ссылка на тему Sweet Connect, для библиотек итд если вдруг надо.
в 902 строке измени название для переменной вывода
и не забудь в 611-613 изменить
 
  • Влюблен
Реакции: Double Tap Inside

RTD

Потужно
Автор темы
Модератор
399
470
Подыхает часто-иногда-невсегда при открытии диалога.
Паралельно в другом скрипте работают хуки от samp.lua, и тоже на диалоги. Шо делать? Почему дохнет скрипт?



Код:
[20:08:35.588000] (system)    Session started.
[20:08:35.589000] (debug)    Module handle: 5C4E0000

MoonLoader v.026.5-beta loaded.
Developers: FYP, hnnssy, EvgeN 1137

Copyright (c) 2016, BlastHack Team
https://www.blast.hk/moonloader/

[20:08:35.589000] (info)    Working directory: C:\GTA SA-MP\moonloader
[20:08:35.589000] (debug)    FP Control: 0009001F
[20:08:35.589000] (debug)    Game: GTA SA 1.0.0.0 US
[20:08:35.589000] (system)    Installing pre-game hooks...
[20:08:35.593000] (system)    Hooks installed.
[20:08:36.334000] (debug)    Initializing opcode handler table
[20:08:36.334000] (debug)    package.path = C:\GTA SA-MP\moonloader\lib\?.lua;C:\GTA SA-MP\moonloader\lib\?\init.lua;C:\GTA SA-MP\moonloader\?.lua;C:\GTA SA-MP\moonloader\?\init.lua;.\?.lua;C:\GTA SA-MP\moonloader\lib\?.luac;C:\GTA SA-MP\moonloader\lib\?\init.luac;C:\GTA SA-MP\moonloader\?.luac;C:\GTA SA-MP\moonloader\?\init.luac;.\?.luac
[20:08:36.334000] (debug)    package.cpath = C:\GTA SA-MP\moonloader\lib\?.dll;
[20:08:36.346000] (system)    Loading script 'C:\GTA SA-MP\moonloader\AutoReboot.lua'...
[20:08:36.347000] (debug)    New script: 01919E64
[20:08:36.348000] (system)    ML-AutoReboot: Loaded successfully.
[20:08:36.348000] (system)    Loading script 'C:\GTA SA-MP\moonloader\check-moonloader-updates.lua'...
[20:08:36.348000] (debug)    New script: 01869524
[20:08:36.351000] (system)    Check MoonLoader Updates: Loaded successfully.
[20:08:36.351000] (system)    Loading script 'C:\GTA SA-MP\moonloader\I N T E L L I G E N C Y.luac'...
[20:08:36.351000] (debug)    New script: 0191BFF4
[20:08:36.538000] (system)    I N T E L L I G E N C Y.luac: Loaded successfully.
[20:08:36.538000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Mini-Pig.lua'...
[20:08:36.538000] (debug)    New script: 0191B00C
[20:08:36.562000] (system)    Mini-Pig.lua: Loaded successfully.
[20:08:36.562000] (system)    Loading script 'C:\GTA SA-MP\moonloader\reload_all.lua'...
[20:08:36.562000] (debug)    New script: 0191B194
[20:08:36.564000] (system)    ML-ReloadAll: Loaded successfully.
[20:08:36.564000] (system)    Loading script 'C:\GTA SA-MP\moonloader\SF Integration.lua'...
[20:08:36.564000] (debug)    New script: 0191B4A4
[20:08:36.568000] (system)    SF Integration: Loaded successfully.
[20:08:36.568000] (system)    Loading script 'C:\GTA SA-MP\moonloader\specadm 1.5 ebal rot.lua'...
[20:08:36.568000] (debug)    New script: 0191B62C
[20:08:36.577000] (system)    specadm 1.5 ebal rot.lua: Loaded successfully.
[20:08:36.577000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Sweet Connect.lua'...
[20:08:36.577000] (debug)    New script: 0191B7B4
[20:08:36.603000] (system)    Sweet Connect.lua: Loaded successfully.
[20:08:36.603000] (system)    Loading script 'C:\GTA SA-MP\moonloader\[ARZ] Mr.Robot.lua'...
[20:08:36.603000] (debug)    New script: 0191B93C
[20:08:36.618000] (system)    [ARZ] Mr.Robot.lua: Loaded successfully.
[20:08:36.618000] (system)    Loading script 'C:\GTA SA-MP\moonloader\АРЗ Тпшер.lua'...
[20:08:36.618000] (debug)    New script: 0191BAC4
[20:08:36.623000] (system)    АРЗ Тпшер.lua: Loaded successfully.
[20:08:47.900000] (system)    Installing post-load hooks...
[20:08:47.900000] (system)    Hooks installed.
[20:36:10.700000] (script)    ML-AutoReboot: Reloading "Sweet Connect.lua"...
[20:36:10.757000] (system)    Sweet Connect.lua: Script terminated. (0191B7B4)
[20:36:10.777000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Sweet Connect.lua'...
[20:36:10.777000] (debug)    New script: 0191B7B4
[20:36:10.829000] (system)    Sweet Connect.lua: Loaded successfully.
[20:38:33.307000] (system)    ML-AutoReboot: Script terminated. (01919E64)
[20:38:33.309000] (system)    Check MoonLoader Updates: Script terminated. (01869524)
[20:38:33.310000] (system)    I N T E L L I G E N C Y.luac: Script terminated. (0191BFF4)
[20:38:33.311000] (system)    Mini-Pig.lua: Script terminated. (0191B00C)
[20:38:33.343000] (system)    ML-ReloadAll: Script terminated. (0191B194)
[20:38:33.344000] (system)    SF Integration: Script terminated. (0191B4A4)
[20:38:33.345000] (system)    specadm 1.5 ebal rot.lua: Script terminated. (0191B62C)
[20:38:33.346000] (system)    [ARZ] Mr.Robot.lua: Script terminated. (0191B93C)
[20:38:33.364000] (system)    АРЗ Тпшер.lua: Script terminated. (0191BAC4)
[20:38:33.367000] (system)    Sweet Connect.lua: Script terminated. (0191B7B4)
[20:38:33.370000] (system)    Loading script 'C:\GTA SA-MP\moonloader\AutoReboot.lua'...
[20:38:33.370000] (debug)    New script: 0191B7B4
[20:38:33.372000] (system)    ML-AutoReboot: Loaded successfully.
[20:38:33.372000] (system)    Loading script 'C:\GTA SA-MP\moonloader\check-moonloader-updates.lua'...
[20:38:33.372000] (debug)    New script: 0191BAC4
[20:38:33.376000] (system)    Check MoonLoader Updates: Loaded successfully.
[20:38:33.376000] (system)    Loading script 'C:\GTA SA-MP\moonloader\I N T E L L I G E N C Y.luac'...
[20:38:33.376000] (debug)    New script: 0191B93C
[20:38:33.562000] (system)    I N T E L L I G E N C Y.luac: Loaded successfully.
[20:38:33.562000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Mini-Pig.lua'...
[20:38:33.562000] (debug)    New script: 0191B62C
[20:38:33.603000] (system)    Mini-Pig.lua: Loaded successfully.
[20:38:33.603000] (system)    Loading script 'C:\GTA SA-MP\moonloader\reload_all.lua'...
[20:38:33.603000] (debug)    New script: 0191B4A4
[20:38:33.604000] (system)    ML-ReloadAll: Loaded successfully.
[20:38:33.604000] (system)    Loading script 'C:\GTA SA-MP\moonloader\SF Integration.lua'...
[20:38:33.604000] (debug)    New script: 0191B194
[20:38:33.607000] (system)    SF Integration: Loaded successfully.
[20:38:33.607000] (system)    Loading script 'C:\GTA SA-MP\moonloader\specadm 1.5 ebal rot.lua'...
[20:38:33.607000] (debug)    New script: 0191B00C
[20:38:33.613000] (system)    specadm 1.5 ebal rot.lua: Loaded successfully.
[20:38:33.613000] (system)    Loading script 'C:\GTA SA-MP\moonloader\Sweet Connect.lua'...
[20:38:33.613000] (debug)    New script: 11F8E31C
[20:38:33.629000] (system)    Sweet Connect.lua: Loaded successfully.
[20:38:33.629000] (system)    Loading script 'C:\GTA SA-MP\moonloader\[ARZ] Mr.Robot.lua'...
[20:38:33.629000] (debug)    New script: 11F8E4A4
[20:38:33.644000] (system)    [ARZ] Mr.Robot.lua: Loaded successfully.
[20:38:33.644000] (system)    Loading script 'C:\GTA SA-MP\moonloader\АРЗ Тпшер.lua'...
[20:38:33.644000] (debug)    New script: 11F8D864
[20:38:33.650000] (system)    АРЗ Тпшер.lua: Loaded successfully.
[20:47:25.632000] (error)    Sweet Connect.lua: C:\GTA SA-MP\moonloader\Sweet Connect.lua:66: cannot convert 'table' to 'void (*)()'
stack traceback:
    [C]: in function 'cast'
    C:\GTA SA-MP\moonloader\Sweet Connect.lua:66: in function 'new'
    C:\GTA SA-MP\moonloader\Sweet Connect.lua:902: in function <C:\GTA SA-MP\moonloader\Sweet Connect.lua:898>
    [C]: in function 'wait'
    C:\GTA SA-MP\moonloader\Sweet Connect.lua:949: in function <C:\GTA SA-MP\moonloader\Sweet Connect.lua:898>
[20:47:25.635000] (error)    Sweet Connect.lua: Script died due to an error. (11F8E31C)


ссылка на тему Sweet Connect, для библиотек итд если вдруг надо.
Да есть такое, я посмотрел и это связано с рандомным вызовом main и последующим его флудом. Доказать это можно если сделать код типа
Lua:
local loaded = false
function main()
    if not loaded then
        loaded = true
        --hook.new
        --.......
    else
        print("call main")
    end
end
И в консоли будет флудить "call main" пока не перезагрузить скрипт
Возможно баг мунлоадера или я где-то недоглядел
Как с этим бороться, ну есть 2 костыльных(как я считаю) способа
  1. Сделать проверку что main() уже был вызван и просто игнорировать(при этом понимать что в это время идет флуд вызовом main, что скорее всего ударит по FPS)
  2. Сделать такую же проверку и вместо игнорировать вызовы main - перезагрузить скрипт(после перезагрузки баг исчезает)

    @FYP main() может вызваться рандомно и потом флудить вызовами? Я сомневаюсь что хук сдвигается и с вероятностью 100% попадает на main(), хотя в то же время без хука этой проблемы нет, странно
 
  • Влюблен
Реакции: Double Tap Inside

Double Tap Inside

Известный
Проверенный
1,916
1,255
в 902 строке измени название для переменной вывода
и не забудь в 611-613 изменить
Да, внатуре, было два глобальных имени (объект и колбек) с одинаковым названием. Вроде так работает. Спасибо.

3.PNG

1.PNG

5.PNG

4.PNG
 

Kolbasa241

Известный
213
57
Из-за того что у меня не работает евент onShowDialog, я нашел, что можно хукать и также с помощью хука диалога можно брать значения с диалога, но при этом не показывая его, но почему то если я его вызываю раз в секунду или жве в течении 5 минут меня крашит. Так вот это интересно, это изза моей криворукости или изза того что так и должно быть?

Или может ещё изза того что я часто перезагружаю скрипт?
 

Double Tap Inside

Известный
Проверенный
1,916
1,255
Та всё стоит, другие евенты работают, просто на samp R3 походу не работает именно этот ивент, и поэтому пришлось с помощью хуков, но крашит
патамуша мун, сф вроде я слышал для R1, а шоб играть на серверах которые просят r3 там кто то придумал копабилити (оно то ли в избранном то ли в фиксах)
 

Kolbasa241

Известный
213
57
патамуша мун, сф вроде я слышал для R1, а шоб играть на серверах которые просят r3 там кто то придумал копабилити (оно то ли в избранном то ли в фиксах)
Знаю что вот то что ты сказал именно р2 не робит, на р1 не видел, но всё равно, факт фактом, почему крашит
 

RTD

Потужно
Автор темы
Модератор
399
470
патамуша мун, сф вроде я слышал для R1, а шоб играть на серверах которые просят r3 там кто то придумал копабилити (оно то ли в избранном то ли в фиксах)
MoonLoader не зависит от наличия установленного CLEO, не зависит от мультиплеерной модификации SA:MP и плагина SAMPFUNCS (зависят только скрипты, использующие те или иные возможности), а также он совместим с любой версией CLEO, SA:MP и SAMPFUNCS.
Та всё стоит, другие евенты работают, просто на samp R3 походу не работает именно этот ивент, и поэтому пришлось с помощью хуков, но крашит
На R3 никакие библиотеки, зависимые от SF не работают, samp.lua является такой. Так что у тебя не R3, если у тебя работают другие хуки.
Из-за того что у меня не работает евент onShowDialog, я нашел, что можно хукать и также с помощью хука диалога можно брать значения с диалога, но при этом не показывая его, но почему то если я его вызываю раз в секунду или жве в течении 5 минут меня крашит. Так вот это интересно, это изза моей криворукости или изза того что так и должно быть?

Или может ещё изза того что я часто перезагружаю скрипт?
Код хотя бы прикрепил бы...