It doesn’t error, I have tried using http service but to no avail. here is my code.
local datastore = game:GetService("DataStoreService")
local PlayerData = {}
local MainDataStore = datastore:GetDataStore"Main"
local http = game:GetService("HttpService")
game.Players.PlayerRemoving:Connect(function(player)
local data = PlayerData[player]
local itemcf = {}
local itemna = {}
local invit = {}
local invam = {}
local base = player.Base.Value
for _,v in pairs(base.ItemHolder:GetChildren()) do
local objectCFrame = base.Base.CFrame:toObjectSpace(v.PrimaryPart.CFrame)
table.insert(itemcf, encodeCFrame(objectCFrame))
table.insert(itemna, v.Name)
end
data.Data.ItemStoreCF = http:JSONEncode(itemcf)
data.Data.ItemStoreNa = http:JSONEncode(itemna)
data.Data.Cash = player.RealCash.Value
for _,o in pairs(base.Ores:GetChildren()) do
o:Destroy()
end
for _,i in pairs(base.ItemHolder:GetChildren()) do
i:Destroy()
end
base.Owner.Value = nil
if data and not data.Error then
PlayerData[player] = nil
local maindata = data.Data
if maindata then
pcall(MainDataStore.SetAsync,MainDataStore,player.UserId,maindata)
end
end
end)
game.Players.PlayerAdded:Connect(function(plr)
local localdata = {}
local success2,data = pcall(MainDataStore.GetAsync,MainDataStore,plr.UserId)
if success2 then
if not data then
localdata.Updated = true
end
data = data or {}
localdata.Data = data
else
localdata.Error = true
end
PlayerData[plr] = localdata
PlayerData[plr].Updated = true
end)