Вопрос [GS] Как сделать систему конфигов

Начинающий
Статус
Оффлайн
Регистрация
14 Май 2023
Сообщения
231
Реакции[?]
4
Поинты[?]
5K
есть короче луашка, и есть лоадер, но лоадер параша и надо заново логинеться если выгрузишь/загрузишь луа, вот нужно создать систему кфг, чат гпт тупит, подскажите кто может или дайте какой-нибудь сурс
p.s если кому надо:
chatgptpeek.txt
 

Вложения

Пользователь
Статус
Оффлайн
Регистрация
2 Май 2022
Сообщения
360
Реакции[?]
46
Поинты[?]
24K
если что, использую пуи, не запутайся с элементами по типу :set_callback() :button()
Код:
local db
do
    db = {}

    setmetatable(db, {
        __index = function(self, key)
            return database.read(key)
        end,

        __newindex = function(self, key, value)
            return database.write(key, value)
        end
    })
end

client.set_event_callback("shutdown", function()
    db.configs = database
end)


function menu:init()
    public.config = {
        list = private.group:listbox("list", {}),
        name = private.group:textbox(" "),
        load = private.group:button("load"),
        save = private.group:button("save"),
        delete = private.group:button("delete"),
        export = private.group:button("export"),
        import = private.group:button("import")
    }
    do
        local database = db.configs or {}
        local this = {}
        local instance = pui.setup(public, true)

        function this:update_ui()
            local tbl = {}

            for key, value in pairs(database) do
                tbl[#tbl + 1] = key
            end

            ui.update(public.config.list.ref, tbl)
        end; this:update_ui()

        function this:load()
            local name = ui.get(public.config.name.ref)

            local success, parsed = pcall(json.parse, database[name])

            if not success then
                print("failed to parse config")
                return
            end

            print(database[name])
            instance:load(parsed)

            print("config was successfully loaded.")

            this:update_ui()
        end

        function this:save()
            local name = ui.get(public.config.name.ref)

            database[name] = json.stringify(instance:save())

            this:update_ui()
        end;

        function this:delete()
            local name = ui.get(public.config.name.ref)

            if database[name] ~= nil then
                database[name] = nil
            end

            ui.set(public.config.name.ref, '')

            this:update_ui()
        end

        function this:export()
            local name = ui.get(public.config.name.ref)

            if database[name] ~= nil then
                clipboard.set(database[name])
            end

            print("config was successfully copied.")

            this:update_ui()
        end

        function this:import()
            local cdata = clipboard.get() or nil
            local name = ui.get(public.config.name.ref)

            if cdata ~= nil then
                database[name] = cdata
            end

            instance:load(cdata)

            this:update_ui()
        end

        function this:shutdown()
            db.configs = database
        end; client.set_event_callback("shutdown", function() this:shutdown() end)

        do
            public.config.save:set_callback(function() this:save() end)
            public.config.delete:set_callback(function() this:delete() end)
            public.config.load:set_callback(function() this:load() end)
            public.config.save:set_callback(function() this:save() end)
            public.config.export:set_callback(function() this:export() end)
            public.config.import:set_callback(function() this:import() end)
        end
    end

    setmetatable(public, self)
    self.__index = self;

    return public
end

local vars = menu:init()
 
Juicy
Участник
Статус
Оффлайн
Регистрация
5 Май 2021
Сообщения
677
Реакции[?]
158
Поинты[?]
17K
есть короче луашка, и есть лоадер, но лоадер параша и надо заново логинеться если выгрузишь/загрузишь луа, вот нужно создать систему кфг, чат гпт тупит, подскажите кто может или дайте какой-нибудь сурс
p.s если кому надо:
chatgptpeek.txt
Чат гпт нормальный, даже слишком. Но нужно делать правильные промпты, не стесняйся писать ему что ты пишишь "луа скрипт на скит", для него это важно.
Ты даже не представляешь что этот трансформер ёбанный может выдать.(если делает ошибки, поправляй его сразу же, делай бэкап при помощи подобного: "если я скажу 'верни финальную версию', ты должен будешь отправить этот код: (тут типо код твоей луашки ктрл+ц ктрл+в)"
есть короче луашка, и есть лоадер, но лоадер параша и надо заново логинеться если выгрузишь/загрузишь луа, вот нужно создать систему кфг, чат гпт тупит, подскажите кто может или дайте какой-нибудь сурс
p.s если кому надо:
chatgptpeek.txt
И делай пожалуйста нормальные комментарии, чтобы и тебе было легче, и школьникам которые будут пастить твой крякнутый скрипт(тьфу-тьфу не дай бог).
1721729814790.png
есть короче луашка, и есть лоадер, но лоадер параша и надо заново логинеться если выгрузишь/загрузишь луа, вот нужно создать систему кфг, чат гпт тупит, подскажите кто может или дайте какой-нибудь сурс
p.s если кому надо:
chatgptpeek.txt
1721729958849.png
и что это нахуй такое
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
2 Май 2022
Сообщения
360
Реакции[?]
46
Поинты[?]
24K
Чат гпт нормальный, даже слишком. Но нужно делать правильные промпты, не стесняйся писать ему что ты пишишь "луа скрипт на скит", для него это важно.
Ты даже не представляешь что этот трансформер ёбанный может выдать.(если делает ошибки, поправляй его сразу же, делай бэкап при помощи подобного: "если я скажу 'верни финальную версию', ты должен будешь отправить этот код: (тут типо код твоей луашки ктрл+ц ктрл+в)"

И делай пожалуйста нормальные комментарии, чтобы и тебе было легче, и школьникам которые будут пастить твой крякнутый скрипт(тьфу-тьфу не дай бог).
Посмотреть вложение 281837
не надо писать кому-то про пастинг, если ты сам начал 'кодить' полгода назад ...
 
Juicy
Участник
Статус
Оффлайн
Регистрация
5 Май 2021
Сообщения
677
Реакции[?]
158
Поинты[?]
17K
не надо писать кому-то про пастинг, если ты сам начал 'кодить' полгода назад ...
в смысле? я вроде не кому и не писал.
я лишь дал советы, и сказал по факту(кто же не хочет чтобы их труд окупался хоть чем-то), ибо ты видимо в тупорылых дискордах не сидишь, там не только пастят хуевые скрипты:
других школьников наебывают в прямом эфире, пастят bluhgang.lua(ТАМ ХОРОШИЙ АНТИАИМ --цитата), играют в покер, продают инвайты в примордиал и в скит по 30к рублей(ПРИМОРДИАЛ ТОЖЕ ЕСЛИ ЧТО), и этот список можно продолжать бесконечно, мне лень
 
Пользователь
Статус
Оффлайн
Регистрация
2 Май 2022
Сообщения
360
Реакции[?]
46
Поинты[?]
24K
в смысле? я вроде не кому и не писал.
я лишь дал советы, и сказал по факту(кто же не хочет чтобы их труд окупался хоть чем-то), ибо ты видимо в тупорылых дискордах не сидишь, там не только пастят хуевые скрипты:
других школьников наебывают в прямом эфире, пастят bluhgang.lua(ТАМ ХОРОШИЙ АНТИАИМ --цитата), играют в покер, продают инвайты в примордиал и в скит по 30к рублей(ПРИМОРДИАЛ ТОЖЕ ЕСЛИ ЧТО), и этот список можно продолжать бесконечно, мне лень
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

в чем трабл апи выучить и писать что захочешь?
либо пасти, но с проверенных источников, по типу юц, только с плюсов на луа переделывать бредово как-будто
 
Juicy
Участник
Статус
Оффлайн
Регистрация
5 Май 2021
Сообщения
677
Реакции[?]
158
Поинты[?]
17K
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

в чем трабл апи выучить и писать что захочешь?
либо пасти, но с проверенных источников, по типу юц, только с плюсов на луа переделывать бредово как-будто
ты не то сообщение отвечаешь, если ты все таки мне:
у меня траблы только в некоторых аспектах(не отрицаю) которые тупо лень изучать, все что я на данный момент хочу - могу написать сам/спросить помощи у чат гпт если лень или чот не понимаю.
 
Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
1,005
Реакции[?]
183
Поинты[?]
9K
Удали это
если что, использую пуи, не запутайся с элементами по типу :set_callback() :button()
Код:
local db
do
    db = {}

    setmetatable(db, {
        __index = function(self, key)
            return database.read(key)
        end,

        __newindex = function(self, key, value)
            return database.write(key, value)
        end
    })
end

client.set_event_callback("shutdown", function()
    db.configs = database
end)


function menu:init()
    public.config = {
        list = private.group:listbox("list", {}),
        name = private.group:textbox(" "),
        load = private.group:button("load"),
        save = private.group:button("save"),
        delete = private.group:button("delete"),
        export = private.group:button("export"),
        import = private.group:button("import")
    }
    do
        local database = db.configs or {}
        local this = {}
        local instance = pui.setup(public, true)

        function this:update_ui()
            local tbl = {}

            for key, value in pairs(database) do
                tbl[#tbl + 1] = key
            end

            ui.update(public.config.list.ref, tbl)
        end; this:update_ui()

        function this:load()
            local name = ui.get(public.config.name.ref)

            local success, parsed = pcall(json.parse, database[name])

            if not success then
                print("failed to parse config")
                return
            end

            print(database[name])
            instance:load(parsed)

            print("config was successfully loaded.")

            this:update_ui()
        end

        function this:save()
            local name = ui.get(public.config.name.ref)

            database[name] = json.stringify(instance:save())

            this:update_ui()
        end;

        function this:delete()
            local name = ui.get(public.config.name.ref)

            if database[name] ~= nil then
                database[name] = nil
            end

            ui.set(public.config.name.ref, '')

            this:update_ui()
        end

        function this:export()
            local name = ui.get(public.config.name.ref)

            if database[name] ~= nil then
                clipboard.set(database[name])
            end

            print("config was successfully copied.")

            this:update_ui()
        end

        function this:import()
            local cdata = clipboard.get() or nil
            local name = ui.get(public.config.name.ref)

            if cdata ~= nil then
                database[name] = cdata
            end

            instance:load(cdata)

            this:update_ui()
        end

        function this:shutdown()
            db.configs = database
        end; client.set_event_callback("shutdown", function() this:shutdown() end)

        do
            public.config.save:set_callback(function() this:save() end)
            public.config.delete:set_callback(function() this:delete() end)
            public.config.load:set_callback(function() this:load() end)
            public.config.save:set_callback(function() this:save() end)
            public.config.export:set_callback(function() this:export() end)
            public.config.import:set_callback(function() this:import() end)
        end
    end

    setmetatable(public, self)
    self.__index = self;

    return public
end

local vars = menu:init()
 
Сверху Снизу