добавление контента в таблицу

Iskon

Участник
Автор темы
110
18
Версия MoonLoader
.026-beta
Я хотел бы, чтобы в массив array_add добавлялся контент из другой переменной, что собственно происходит в игре, но после перезагрузки скрипта, то все, что добавил - исчезает. Оно даже в мой массив в коде не добавляет, но в игре видно... Как сделать так, чтобы он добавлял сразу в массив?

Lua:
array_add = {
    'a', 'b', 'c', 'd'
}  


function add_Announ()
        maxV = table.maxn (array_add)
        array_add[maxV + 1] = text_Save.v 
end
 

Iskon

Участник
Автор темы
110
18
Код:
table.insert(array_add, text_Save.v)
?
А если хочешь что бы изменения массива остались - сделать сохранение + загрузку данных скрипта (думаю есть немало тем по этому)
разве array_add[maxV + 1] = text_Save.v уже не является сохранением?

table.insert(array_add, text_Save.v)
я заменил на это, так же добавляется, но не сохраняется
 
Последнее редактирование:
D

deleted-user-139653

Гость
вот тебе пример

Lua:
local inicfg = require("inicfg")
local imgui = require("mimgui")
local ffi = require("ffi")
local encoding = require("encoding")
encoding.default = ("CP1251")
local u8 = encoding.UTF8

local ini = inicfg.load({
    nicknames = {}
}, "test.ini")

local window = imgui.new.bool()
local buffer = imgui.new.char[256](u8(table.concat(ini.nicknames, "\n")))

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("test", function()
        window[0] = not window[0]
    end)
    wait(-1)
end

imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
end)

imgui.OnFrame(function() return window[0] end, function(player)
    local sw, sh = getScreenResolution()
    imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
    imgui.Begin("test", window, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.AlwaysAutoResize)
    
    imgui.PushItemWidth(200)

    if imgui.InputTextMultiline("##1", buffer, 256) then
        local text = u8:decode(ffi.string(buffer))
        ini.nicknames = {}
        for line in text:gmatch("[^\r\n]+") do
            table.insert(ini.nicknames, line)
        end
        inicfg.save(ini, "test.ini")
    end

    imgui.PopItemWidth()
    imgui.End()
end)
 
  • Нравится
Реакции: Jack Mirchond