local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local InstanceSaveData = DataStoreService:GetDataStore("InstanceSave")
local KeyPrefix = "-Player"
local PartsFolder = workspace.Folder
local function Load(player: Player)
local Key = KeyPrefix .. tostring(player.UserId)
local Data = {}
for i , obj: BasePart in ipairs(PartsFolder:GetChildren()) do
table.insert(Data, {
obj.Position.X,
obj.Position.Y,
obj.Position.Z,
obj.Orientation.X,
obj.Orientation.Y,
obj.Orientation.Z,
obj.Name,
obj.Anchored,
obj.CanCollide,
})
end
local sucess, err
repeat
sucess, err = pcall(function()
InstanceSaveData:UpdateAsync(Key, function()
return Data
end)
end)
task.wait()
until sucess
if not sucess then
warn("Failed to load obj")
end
end
#data not saving parts
1 messages · Page 1 of 1 (latest)
local function Save(player: Player)
local Key = KeyPrefix .. tostring(player.UserId)
local data
local sucess, err
repeat
sucess, err = pcall(function()
data = InstanceSaveData:SetAsync(Key)
end)
task.wait()
until sucess or not Players:FindFirstChild(player.Name)
if not data then
return
end
if sucess then
for i, obj in ipairs(data) do
local part = Instance.new("Part")
part.Position = Vector3.new(obj[1], obj[2], obj[3])
part.Name = obj[7]
part.Orientation = Vector3.new(obj[4], obj[5], obj[6])
part.Anchored = true
part.TopSurface = Enum.SurfaceType.SmoothNoOutlines
part.Parent = workspace.Folder
end
else
warn("Did not save Obj data")
end
end
Players.PlayerAdded:Connect(Load)
Players.PlayerRemoving:Connect(Save)
game:BindToClose(function()
for _, players in pairs(Players:GetPlayers()) do
Save(players)
end
end)``
second one