carbjsonconfig проблема

S1r1k

Участник
Автор темы
20
0
Кароче, как брать значение c конфига например:

пример:
local settings = {
  cdfind = imgui.new.int(), ---Допустим там 15
}

print(settings.cdfind) -- хочу вывести но хз как правильно потому что там залупа на скрине ниже

ну а вот че выводит
1736676062059.png


а мне нужно чтобы он просто выводил значение 15 как сделать?
 

kyrtion

Известный
1,110
403
Следует отметить, что получение исходных значений так же подверглось изменению. Если раньше исходное значение можно было получить через ключ v (buffer.v; int.v), то в mimgui они получаются с помощью нулевого индекса (int[0]; float[0]; bool[0]), а для типа Char значение необходимо получать через ffi.string (ffi.string(buffer)). Не нужно бояться внесёнными в API изменениям, они очень легко осваиваются и для ежедневного кодинга не нужно вникать в их работу.
Решение:
Lua:
local settings = {
  cdfind = imgui.new.int(15),
}

print(settings.cdfind[0]) -- 15 or any
 

S1r1k

Участник
Автор темы
20
0
Решение:
Lua:
local settings = {
  cdfind = imgui.new.int(15),
}

print(settings.cdfind[0]) -- 15 or any
Мне выводит 0
Мне нужно чтобы он брал значение из кфг json которое уже прописано в кфг и вставлял в принт как сделать?
 

kyrtion

Известный
1,110
403
Мне выводит 0
Мне нужно чтобы он брал значение из кфг json которое уже прописано в кфг и вставлял в принт как сделать?
Скинь как у тебя выглядит конфиг, и какую хочешь вывести
UPD: Если в конфиге ты поставил просто imgui.new.int(), то там по моему вернется 0 по умолчанию. Чтобы снова воспользоваться нужно сбросить конфиг
 

S1r1k

Участник
Автор темы
20
0
Скинь как у тебя выглядит конфиг, и какую хочешь вывести
UPD: Если в конфиге ты поставил просто imgui.new.int(), то там по моему вернется 0 по умолчанию. Чтобы снова воспользоваться нужно сбросить конфиг
у меня там если честно пиздец полный,
то что я щас кину там не фулл потому что позорится не хочется


Код:
local cjc = require('carbJsonConfig') -- кфг йоууу
local settings = {
  cdfind = imgui.new.int(),
}

function main()
    while not isSampAvailable() do wait(0) end
    if toast_ok then  
        toast.Show(u8'AutoFFree загружен!', toast.TYPE.OK, 5, customColors)
        print(settings.cdfind[0]) -- написал чтобы проверить просто, там и выводит
    else
        sampAddChatMessage('Скрипт AutoFFree загружен, но не загружена библеотека mimtoasts. (Возможно будут вылеты)', -1)
    end
    sampRegisterChatCommand('afst', function()
        WinState[0] = not WinState[0] -- эт просто открывает окно mimgui у него там все окей и смысла нету чекать
    end)
    cjc.load(getWorkingDirectory().."\\config\\affsettings.json", settings)
    settings() -- функция сохранение кфг
    sampRegisterChatCommand('affind', cmd_affind) -- функция что финд спамило (там нету сохранение кфг)
    sampRegisterChatCommand('affindoff', cmd_affindoff) -- функция чтобы останавливало (там нету сохранение кфг)
    while true do wait(0)
        if Onfind == 1 then -- тут переменная просто чекает робит или нет
            sampSendChat('/find '..id_find)
            wait(settf.cdfind)
        end
    end
end

UPD: Пишу скрипт просто для себя
 

kyrtion

Известный
1,110
403
Lua:
local cjc = require('carbJsonConfig') -- кфг йоууу
local settings = {
    cdfind = imgui.new.int(5000),
}
cjc.load(getWorkingDirectory()..'\\config\\affsettings.json', settings)
settings() -- функция сохранение кфг

function main()
    while not isSampAvailable() do wait(0) end
    if toast_ok then  
        toast.Show(u8'AutoFFree загружен!', toast.TYPE.OK, 5, customColors)
        print(settings.cdfind[0]) -- написал чтобы проверить просто, там и выводит
    else
        sampAddChatMessage('Скрипт AutoFFree загружен, но не загружена библеотека mimtoasts. (Возможно будут вылеты)', -1)
    end
    sampRegisterChatCommand('afst', function()
        WinState[0] = not WinState[0] -- эт просто открывает окно mimgui у него там все окей и смысла нету чекать
    end)
    sampRegisterChatCommand('affind', cmd_affind) -- функция что финд спамило (там нету сохранение кфг)
    sampRegisterChatCommand('affindoff', cmd_affindoff) -- функция чтобы останавливало (там нету сохранение кфг)
    while true do wait(0)
        if Onfind == 1 then -- тут переменная просто чекает робит или нет
            sampSendChat('/find '..id_find)
            wait(settings.cdfind[0])
        end
    end
end
 

S1r1k

Участник
Автор темы
20
0
Lua:
local cjc = require('carbJsonConfig') -- кфг йоууу
local settings = {
    cdfind = imgui.new.int(5000),
}
cjc.load(getWorkingDirectory()..'\\config\\affsettings.json', settings)
settings() -- функция сохранение кфг

function main()
    while not isSampAvailable() do wait(0) end
    if toast_ok then
        toast.Show(u8'AutoFFree загружен!', toast.TYPE.OK, 5, customColors)
        print(settings.cdfind[0]) -- написал чтобы проверить просто, там и выводит
    else
        sampAddChatMessage('Скрипт AutoFFree загружен, но не загружена библеотека mimtoasts. (Возможно будут вылеты)', -1)
    end
    sampRegisterChatCommand('afst', function()
        WinState[0] = not WinState[0] -- эт просто открывает окно mimgui у него там все окей и смысла нету чекать
    end)
    sampRegisterChatCommand('affind', cmd_affind) -- функция что финд спамило (там нету сохранение кфг)
    sampRegisterChatCommand('affindoff', cmd_affindoff) -- функция чтобы останавливало (там нету сохранение кфг)
    while true do wait(0)
        if Onfind == 1 then -- тут переменная просто чекает робит или нет
            sampSendChat('/find '..id_find)
            wait(settings.cdfind[0])
        end
    end
end
у меня ползунок есть который меняет милисекунды и он сохраняет в кфг, нужно чтобы он менял

Upd: я еблан забыл скинуть ща

Код:
imgui.OnFrame(function() return WinState[0] end, function()
    imgui.SetNextWindowPos(imgui.ImVec2(950,550), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
    imgui.SetNextWindowSize(imgui.ImVec2(550,150), imgui.Cond.FirstUseEver)
    imgui.Begin(faicons('eye')..'Autofind Free'..faicons('eye'), WinState, imgui.WindowFlags.NoResize, imgui.win)
    addons.AlignedText('Version 1.0', 2)
    if addons.HeaderButton(page == 1, u8"Settings") then
        page = 1
    end
    imgui.SameLine()
    if addons.HeaderButton(page == 2, u8"Credits") then
        page = 2
    end
    if page == 1 then
        imgui.SliderInt(u8'КД АВТОФИНДА (милисекундах)', settings.cdfind, 0, 50000)
        imgui.Text(u8'1000мс = 1с')
        if addons.MaterialButton(u8'Сохранить', imgui.ImVec2(50, 30)) then
            settings()
            toast.Show(u8'Настройки сохранены!', toast.TYPE.OK, 5, customColors)
        end
    elseif page == 2 then
        addons.AlignedText(u8'Скрипт настроен под Аризону РП (12.01.2025 DataUPD)', 2)
        addons.AlignedText(u8'ВНИМАНИЕ! ОТКЛЮЧИТЕ ОТЫГРОВКУ /FIND!', 2)
    end

up
 
Последнее редактирование:

kyrtion

Известный
1,110
403
Lua:
imgui.SliderInt(u8'КД АВТОФИНДА (милисекундах)', settings.cdfind, 0, 50000)
imgui.Text(u8'1000мс = 1с')
if addons.MaterialButton(u8'Сохранить', imgui.ImVec2(50, 30)) then
    settings()
    toast.Show(u8'Настройки сохранены!', toast.TYPE.OK, 5, customColors)
end

ну все правильно, что не так?
 

S1r1k

Участник
Автор темы
20
0
Lua:
imgui.SliderInt(u8'КД АВТОФИНДА (милисекундах)', settings.cdfind, 0, 50000)
imgui.Text(u8'1000мс = 1с')
if addons.MaterialButton(u8'Сохранить', imgui.ImVec2(50, 30)) then
    settings()
    toast.Show(u8'Настройки сохранены!', toast.TYPE.OK, 5, customColors)
end

ну все правильно, что не так?
Я уже все пофиксил давно, спасибо если что за помощь