has more than 60 upvalues

$Mr.R1ch$

Активный
Автор темы
336
51
Версия MoonLoader
Другое
Столкнулся с такой проблемой. При написании кода вылазит ошибка function at line 6055 has more than 60 upvalues, пока посмотрел темы с такой же фигнёй, понял я то ничего, только то что нужно в функцию выносить, но я не понял как это делать. Объясните как мне вынести кусок кода в отдельную функцию?

Lua:
imgui.SetCursorPos(imgui.ImVec2(450, 5))
if imgui.BeginChild('Name636', imgui.ImVec2(800, 1800), true) then
imgui.Text(u8'ОТЫГРОВКА')
imgui.Separator()
imgui.PushItemWidth(500)
if imgui.InputText("##123", buffer32, 256) then
imgui.PopItemWidth()
    ini.guns.fist = u8:decode(ffi.string(buffer32))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
if imgui.InputText("##124", buffer36, 256) then
imgui.PopItemWidth()
    ini.guns.kastet = u8:decode(ffi.string(buffer36))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
if imgui.InputText("##125", buffer51, 256) then
imgui.PopItemWidth()
    ini.guns.golfclub = u8:decode(ffi.string(buffer51))
    inicfg.save(ini, "MVD.ini")
    end
imgui.PushItemWidth(500)
 if imgui.InputText("##6", buffer7, 256) then
 imgui.PopItemWidth()
    ini.guns.dub = u8:decode(ffi.string(buffer7))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
if imgui.InputText("##126", buffer33, 256) then
imgui.PopItemWidth()
    ini.guns.knife = u8:decode(ffi.string(buffer33))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##127", buffer37, 256) then
imgui.PopItemWidth()
    ini.guns.bat = u8:decode(ffi.string(buffer37))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##128", buffer39, 256) then
imgui.PopItemWidth()
    ini.guns.lapata = u8:decode(ffi.string(buffer39))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##129", buffer49, 256) then
imgui.PopItemWidth()
    ini.guns.poolcue = u8:decode(ffi.string(buffer49))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##130", buffer34, 256) then
imgui.PopItemWidth()
    ini.guns.katana = u8:decode(ffi.string(buffer34))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##131", buffer41, 256) then
imgui.PopItemWidth()
    ini.guns.dildo = u8:decode(ffi.string(buffer41))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##132", buffer42, 256) then
imgui.PopItemWidth()
    ini.guns.dildo2 = u8:decode(ffi.string(buffer42))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##133", buffer43, 256) then
imgui.PopItemWidth()
    ini.guns.vibe = u8:decode(ffi.string(buffer43))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##134", buffer44, 256) then
imgui.PopItemWidth()
    ini.guns.vibe2 = u8:decode(ffi.string(buffer44))     
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##135", buffer64, 256) then
imgui.PopItemWidth()
    ini.guns.flowers = u8:decode(ffi.string(buffer64))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##136", buffer46, 256) then
imgui.PopItemWidth()
    ini.guns.cane = u8:decode(ffi.string(buffer46))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##137", buffer56, 256) then
imgui.PopItemWidth()
    ini.guns.grenade = u8:decode(ffi.string(buffer56))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##138", buffer57, 256) then
imgui.PopItemWidth()
    ini.guns.gas = u8:decode(ffi.string(buffer57))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##139", buffer62, 256) then
imgui.PopItemWidth()
    ini.guns.molotov = u8:decode(ffi.string(buffer62))
    inicfg.save(ini, "MVD.ini")
    end
    imgui.PushItemWidth(500)
    if imgui.InputText("##140", buffer53, 256) then
imgui.PopItemWidth()
    ini.guns.colt = u8:decode(ffi.string(buffer53))
    inicfg.save(ini, "MVD.ini")
    end
if imgui.InputText("##10", buffer8, 256)  then
    ini.guns.taser = u8:decode(ffi.string(buffer8))
    inicfg.save(ini, "MVD.ini")
    end
        if imgui.InputText("##7", buffer5, 256) then
    ini.guns.deagle = u8:decode(ffi.string(buffer5))
    inicfg.save(ini, "MVD.ini")
    end
    if imgui.InputText("##11", buffer10, 256) then
    ini.guns.shotgun = u8:decode(ffi.string(buffer10))
    inicfg.save(ini, "MVD.ini")
    end
    if imgui.InputText("##15", buffer14, 256) then
    ini.guns.double = u8:decode(ffi.string(buffer14))
    inicfg.save(ini, "MVD.ini")
    end
    if imgui.InputText("##141", buffer54, 256) then
    ini.guns.shotgspa = u8:decode(ffi.string(buffer54))
    inicfg.save(ini, "MVD.ini")
    end
    if imgui.InputText("##14", buffer13, 256) then
    ini.guns.uzi = u8:decode(ffi.string(buffer13))
    inicfg.save(ini, "MVD.ini")
    end
    if imgui.InputText("##9", buffer9, 256) then
    ini.guns.mp5 = u8:decode(ffi.string(buffer9))
    inicfg.save(ini, "MVD.ini")
    end
    if imgui.InputText("##12", buffer11, 256) then
    ini.guns.ak = u8:decode(ffi.string(buffer11))
    inicfg.save(ini, "MVD.ini")
    end
    if imgui.InputText("##8", buffer6, 256) then
    ini.set.m4 = u8:decode(ffi.string(buffer6))
    inicfg.save(ini, "MVD.ini")
    end
    if imgui.InputText("##142", buffer55, 256) then
    ini.guns.tec = u8:decode(ffi.string(buffer55))
    inicfg.save(ini, "MVD.ini")
    end
     if imgui.InputText("##16", buffer15, 256) then
    ini.guns.rifle = u8:decode(ffi.string(buffer15))
    inicfg.save(ini, "MVD.ini")
    end
    
    if imgui.InputText("##13", buffer12, 256) then
    ini.guns.sniper = u8:decode(ffi.string(buffer12))
    inicfg.save(ini, "MVD.ini")
    end



imgui.EndChild()
end
 

wojciech?

Известный
Проверенный
404
358
как вариант
Lua:
-- после ini
local guns = setmetatable({
    "rifle",
    "flower",
    -- остальное оружие по аналогии, чтобы в рендере оно было не в случайном порядке и задумка в целом работала
}, {
    __index = function(self, key)
        if not ini.guns[key] then
            ini.guns[key] = ""
        end
        self[key] = imgui.new.char[256](u8(ini.guns[key]))
        return self[key]
    end
})

-- в фрейме
-- begin child
imgui.PushItemWidth(500)
for index, value in ipairs(guns) do
    if imgui.InputText("##gun" .. index, guns[value], 255) then
        ini.guns[value] = u8:decode(ffi.string(guns[value]))
        inicfg.save(ini, "MVD.ini")
    end
end
imgui.PopItemWidth()
-- end child
 
  • Вау
Реакции: chromiusj