LUA скрипт [GS] Unlock menu size

Участник
Участник
Статус
Оффлайн
Регистрация
4 Мар 2021
Сообщения
1,296
Реакции
321
Я обещал не постить сюда хуйню, и я действительно сдержал свое слово, один из вспомогательных партов в данной луашке я не постил, но считаю, что это достаточно интересная компликейтед луашка (в плане реализации)
1749976185289.png

Код:
Expand Collapse Copy
local ffi       = require("ffi")
local vector    = require("vector")

-- @part 1: https://github.com/sdkmasteri/gamesense-crack-lua-repo/blob/main/Hide%20tabs.lua
local base = ffi.cast("int*", 0x43479A04)
local rclass = ffi.cast("int*", ffi.cast("int*", 0x43479A00)[0]) -- rage tab class 4 bytes bellow other tabs base

local tabs = { [0] = {} }

tabs[0].enabled = ffi.cast("char*", rclass[0] + 0x15)
tabs[0].pos     = vector(ffi.cast("int*", rclass[0] + 0x20)[0], ffi.cast("int*", rclass[0] + 0x24)[0])
tabs[0].size    = vector(ffi.cast("int*", rclass[0] + 0x28)[0], ffi.cast("int*", rclass[0] + 0x2C)[0])
for i=1, 8 do
    local tabclass  = ffi.cast("int*", base[0] - (0x20 - 0x4*(i-1)))
    tabs[i]         = {}
    tabs[i].enabled = ffi.cast("char*", tabclass[0] + 0x15)
    tabs[i].pos     = vector(ffi.cast("int*", tabclass[0] + 0x20)[0], ffi.cast("int*", tabclass[0] + 0x24)[0])
    tabs[i].size    = vector(ffi.cast("int*", tabclass[0] + 0x28)[0], ffi.cast("int*", tabclass[0] + 0x2C)[0])
end


-- @part 2: unlock menu minsize
local minw = ffi.cast("int*", 0x434799C8)
local minh = ffi.cast("int*", 0x434799CC)
local oldminw, oldminh;
local function set_minsize(w, h)
    oldminw = minw[0]
    oldminh = minh[0]
    minw[0] = w
    minh[0] = h
end
set_minsize(180, 130)


-- @part 3: fix tab icons
local menuh_ptr = ffi.cast("int*", 0x434799C4)
local menuact_ptr = ffi.cast("char*", 0x434799E0)

local function tabicons_fix()
    if menuact_ptr[0] == 0x00 then return end
    local menuh = menuh_ptr[0]
    for i=0, #tabs do
        print(menuh)
        if tabs[i].pos.y + tabs[i].size.y > menuh then
            tabs[i].enabled[0] = 0x00
        else
            tabs[i].enabled[0] = 0x01
        end
    end
end
client.set_event_callback("paint_ui", tabicons_fix)


-- @part 4: defer and undo changes
local menuw_ptr = ffi.cast("int*", 0x434799C0)
local function undo()
    if menuw_ptr[0] < oldminw then menuw_ptr[0] = oldminw end
    if menuh_ptr[0] < oldminh then menuh_ptr[0] = oldminh end
    set_minsize(oldminw, oldminh)
    tabicons_fix()
end
defer(undo)
 
Узнал бы искатерик что его с его софтом вытворяют, был бы шокирован
 
он плачет истерик 2 раза крякнуль софт :(
 
Назад
Сверху Снизу