I want to update my table. But I wouldn’t update even if I update the Table then setmetatable it or after it still only result with it not updating.
It work by setting the value normally but when I try to use for loop on it to counts how many instance are in the child it just won’t work.
local SharedFolder = ReplicatedStorage:WaitForChild("Shared")
local ServerFolder = ServerScriptService:WaitForChild("Server")
local ClientFolder = game.StarterPlayer.StarterPlayerScripts:WaitForChild("Client")
local Classes,Packages,Engine,Modules,Services,Assets,Remotes = {},{},{},{},{},{},{}
local MetaData = {["Modules"]=0,["Running_Modules"]=0,["Loaded_Modules"]={},["Error_Modules"]={}}
local Settings = {["Debug"]=true}
local Framework={
["Shared"]={
["Folder"] = SharedFolder,
["Classes"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Table"]=Classes,
["Folder"]={}
}},
["Packages"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Table"]=Packages,
["Folder"] = {}
}},
["Engine"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Table"]=Engine,
["Folder"] = {}
}},
["Modules"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Table"]=Modules,
["Folder"] = {}
}},
["Services"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Table"]=Services,
["Folder"] = {}
}},
["Assets"]={
["Data"] = {},
["Setting"]={
["Meta"]=false,
["Table"]=Assets,
["Folder"] = {}
}},
["Remotes"]={
["Data"] = {},
["Setting"]={
["Meta"]=false,
["Table"]=Remotes,
["Folder"] = {}
}},
},
["Server"]={
["Folder"] = ServerFolder,
["Scripts"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Folder"] = {}
}},
["Classes"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Folder"] = {}
}},
["Modules"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Folder"] = {}
}}
},
["Client"]={
["Folder"] = ClientFolder,
["Scripts"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Folder"] = {}
}},
["Classes"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Folder"] = {}
}},
["Modules"]={
["Data"] = {},
["Setting"]={
["Meta"]=true,
["Folder"] = {}
}},
},
}
for _,Folders in pairs(Framework) do
local Folder = Folders.Folder
for Name:string,Services in pairs(Folders) do
if typeof(Services) == "table" then
Services["Setting"]["Folder"] = Folder[Name]
if Services["Setting"]["Table"] and Services["Setting"]["Meta"] then
if Settings["Debug"] then
Services["Data"] = MetaData
Services["Data"]["Modules"] = #Services["Setting"]["Folder"]:GetChildren() --Supposed to change
else
Services["Data"] = nil
end
setmetatable(Services["Setting"]["Table"],{
__index = Services, --Have indexed but won't change
__call = function(Table,Object)
print(Table["Data"]) --Modules haven't change
end
})
end
end
end
end
Modules()
--All I think that it must be something when using #Services["Setting"]["Folder"]:GetChildren()