Hi guys. Well, I met huge problem, which I can't resolve on my own.
We have a cyclic table, one of key is linking to self.
I'm trying to copy it to another table, clean it from cyclic links and save as variables. After loading i'm restoring cyclic table links.
Here's my code for copying several layers of tables.
Lua Code:
-- dump data (уровень 1)
for k1,v1 in pairs(ZO_GuildBankBackpack.data) do
sv.data[k1]={}
sv.data[k1]=v1
-- dump data.k1.data (уровень 2)
for k2,v2 in pairs(ZO_GuildBankBackpack.data[k1].data) do
sv.data[k1].data[k2]=v2
-- dump data.k1.data.k2.dataEntry (уровень 3)
for k3,v3 in pairs(ZO_GuildBankBackpack.data[k1].data.dataEntry) do
sv.data[k1].data.dataEntry[k3]=v3
end
-- dump data.k1.data.k2.filterData (уровень 3)
for k3,v3 in pairs(ZO_GuildBankBackpack.data[k1].data.filterData) do
sv.data[k1].data.filterData[k3]=v3
end
-- dump data.k1.data.k2.inventory (уровень 3)
for k3,v3 in pairs(ZO_GuildBankBackpack.data[k1].data.inventory) do
sv.data[k1].data.inventory[k3]=v3
-- dump data.k1.data.k2.inventory.filterBarData (уровень 4)
for k4,v4 in pairs(ZO_GuildBankBackpack.data[k1].data.inventory.filterBarData) do
sv.data[k1].data.inventory.filterBarData[k4]=v4
end
-- dump data.k1.data.k2.inventory.hiddenColumns (уровень 4)
for k4,v4 in pairs(ZO_GuildBankBackpack.data[k1].data.inventory.hiddenColumns) do
sv.data[k1].data.inventory.hiddenColumns[k4]=v4
end
-- dump data.k1.data.k2.inventory.slots (уровень 4)
for k4,v4 in pairs(ZO_GuildBankBackpack.data[k1].data.inventory.slots) do
sv.data[k1].data.inventory.slots[k4]=v4
end
-- dump data.k1.data.k2.inventory.sortHeaders (уровень 4)
for k4,v4 in pairs(ZO_GuildBankBackpack.data[k1].data.inventory.sortHeaders) do
sv.data[k1].data.inventory.sortHeaders[k4]=v4
end
-- dump data.k1.data.k2.inventory.stringSearch (уровень 4)
for k4,v4 in pairs(ZO_GuildBankBackpack.data[k1].data.inventory.stringSearch) do
sv.data[k1].data.inventory.stringSearch[k4]=v4
end
-- dump data.k1.data.k2.inventory.tabFilters (уровень 4)
for k4,v4 in pairs(ZO_GuildBankBackpack.data[k1].data.inventory.tabFilters) do
sv.data[k1].data.inventory.tabFilters[k4]=v4
end
end
-- dump data.k1.data.k2.searchData (уровень 3)
for k3,v3 in pairs(ZO_GuildBankBackpack.data[k1].data.searchData) do
sv.data[k1].data.searchData[k3]=v3
end
end
-- Убираем циклическую ссылку на data
-- Remove cyclic data link
sv.data[k1].data.dataEntry.data={"cyclic"}
-- Убираем циклическую ссылку на slots
-- Remove cyclic slots link
sv.data[k1].data.inventory.slots={"cyclic"}
end
Code works fine, but when I call "sv.data[k1].data.dataEntry.data={"cyclic"}", all my original table goes to hell, but not removing link to it. Any ideas how can it be done?