I am working on the elements of a sandbox tycoon and still don't know how to load the players tycoon back into the game after leaving. I also will need to save it before they leave. One way I thought I could do it would be create a few values (bool value, int value, or Vector3Value) for each object that would store the position, and the key for that object (I mean like how many objects there were when you placed that object. Example: If there are 5 objects placed than it would have a key of 6) . My problem is when loading back in the data from a table. How would I create these values again that would match the data before. Also I would need to know how many objects the player had placed and which object type they were (What do I mean by type? Like is it a dropper or a decoration).
Here is one way I could do what I mean:
local Save = {} local function Placement() -- Placment stuff -- EXAMPLE local PositionNRotation = Instance.new("CFrameValue") PositionNRotation PositionNRotation.Value = Object.PrimaryPart.CFrame table.Insert(SaveData, PositionNRotation.Value) -- This will error but you get the idea end placement() local function SaveData(p) DataStore:SetAsync(p.UserId, Save) end local function LoadData(p) local SAVED pcall(function(p) SAVED = DataStore:GetAsync(p.UserId) end) if SAVED then -- ??? else -- ??? end end game.Players.PlayerRemoving:Connect(SaveData) game.Players.PlayerAdded:Connect(LoadData)
Hope this makes sence its hard to explain.
Thanks in advance for anyone who helps me!