LUA скрипт [NL] Оптимизированы get boolean

Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,380
Реакции[?]
2,284
Поинты[?]
189K
Ревёрсер среднего звена
Пользователь
Статус
Оффлайн
Регистрация
24 Ноя 2022
Сообщения
303
Реакции[?]
108
Поинты[?]
57K
Вы реально возмущаетесь из-за рофла или это вы так тоже рофлите и я не прошёл проверку на дауна в квадрате?
 
Femboy Access
Эксперт
Статус
Оффлайн
Регистрация
11 Ноя 2020
Сообщения
1,333
Реакции[?]
428
Поинты[?]
96K
эта хуйняшка наверн все таки оптимизнет но пожалуйста не юзайте этот кал оно вам засейвит разве что 0.0000001 мс в кадре
Код:
local optim_ui = setmetatable({}, {
    __index = function (_, method)
        return function (ref, storage, name, ...)
            ref[method](ref, name, ...):set_callback(function (self)
                storage[name] = self:get()
            end, true)
        end
    end
})

-- ехампле хуямпле
local storage = {}

optim_ui.switch(ui.create("пенисы"), storage, "Sexo sexo!!!")
optim_ui.slider(ui.create("пенисы"), storage, "пиздец", 0, 30)

events.render:set(function ()
    print(storage["Sexo sexo!!!"])
    print(storage["пиздец"])
end)
Решил перекодить потому что хули нет. Я так юи либу отдельную напишу бля

JavaScript:
local function init_optim_ui(storage, ref)
    assert(
        type(storage) == "table",
        string.format("optim_ui: storage is a \"%s\", not a \"table\".", storage)
    )
    return setmetatable({}, {
        __index = function (_, ui_method) -- ui_method should be like switch, slider etc
            return function (name, ...)
                local ui_obj = ref[ui_method](ref, name, ...) -- ref:ui_method(name, ...) / ref is in first argument because it is a thiscall
                
                ui_obj:set_callback(function (self)
                    storage[name] = self:get()
                end, true)
                return ui_obj
            end
        end
    })
end


-- Example

local example_storage = {
    ["Anti-aim"] = {}, ["Rage"] = {}
}

local anti_aim_ref = init_optim_ui(example_storage["Anti-aim"], ui.create("Anti-aim"))
local rage_ref = init_optim_ui(example_storage["Rage"], ui.create("Rage"))

anti_aim_ref.switch("Some toggle")
rage_ref.switch("Another toggle")

local slider = rage_ref.slider("Slider", 0, 100, 50)
slider:name("Edited slider!")

events.render:set(function ()
    print(example_storage["Rage"]["Slider"])
end)
 
Femboy Access
Эксперт
Статус
Оффлайн
Регистрация
11 Ноя 2020
Сообщения
1,333
Реакции[?]
428
Поинты[?]
96K
Функцию init_optim_ui для создания элементов интерфейса?
передаешь референс и таблицу где будешь хранить значения, получаешь реф с которым можно работать точно так же, как и с обычным
 
Модератор раздела "Создание скриптов для читов"
Модератор
Статус
Оффлайн
Регистрация
1 Фев 2020
Сообщения
1,197
Реакции[?]
390
Поинты[?]
45K
можете фикс дать кто нибудь
держи

фикс:
local pui = require("neverlose/pui") --иначе крашнет

local optimize = {} do --ду тип понял ну ду

optimize:get_boolean = function(item)
    if item:get() == true then
        return true
    elseif item:get() == false then
        return false
    end
end

local switch = ui.create('A'):switch('Test')

events.render:set(function()
    if optimize:get_boolean(switch) == true then
        utils.console_exec('exite')
    elseif optimize:get_boolean(switch) == false then
        utils.console_exec('exite')
    end
end)
 
Модератор раздела "Создание скриптов для читов"
Модератор
Статус
Оффлайн
Регистрация
1 Фев 2020
Сообщения
1,197
Реакции[?]
390
Поинты[?]
45K
Сверху Снизу