I really try to not post on here to not waste anyone's time, but I've been trying to take a crack at this and I'm at a crossroads.
Datastore used to work, but now today it all of a sudden doesn't. I was updating my game but can't think of any major changes I've done rather than adding a couple of things to the table to save. Maybe one of you guys will see something that I don't.
Sorry that there are so many BoolValues being added, I didn't know how to condense it to make it neater. I did make a dictionary in a module script but didn't know how to incorporate it.
Edit: SOLVED! I only ever had my datastore save when a player left, this made it hard to see if there were any errors in general. If you're having trouble, try saving it with a remote. This made me realize that the title "Lenny" was named incorrectly.
local DataStoreService = game:GetService("DataStoreService")
local myDataStore = DataStoreService:GetDataStore("myDataStore")
local WinsLeaderboard = DataStoreService:GetOrderedDataStore("WinsLeaderboard")
game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local shop = Instance.new("Folder")
shop.Name = "Shop"
shop.Parent = player
local titles = Instance.new("Folder")
titles.Name = "Titles"
titles.Parent = player.Shop
local Effects = Instance.new("Folder")
Effects.Name = "Effects"
Effects.Parent = player.Shop
-----------------------TITLES
local Poor = Instance.new("BoolValue")
Poor.Name = "Poor"
Poor.Parent = player.Shop.Titles
local Fighter = Instance.new("BoolValue")
Fighter.Name = "Fighter"
Fighter.Parent = player.Shop.Titles
local Scout = Instance.new("BoolValue")
Scout.Name = "Scout"
Scout.Parent = player.Shop.Titles
local Cool = Instance.new("BoolValue")
Cool.Name = "Cool"
Cool.Parent = player.Shop.Titles
local Sk8r = Instance.new("BoolValue")
Sk8r.Name = "Sk8r"
Sk8r.Parent = player.Shop.Titles
local Fearless = Instance.new("BoolValue")
Fearless.Name = "Fearless"
Fearless.Parent = player.Shop.Titles
local Princess = Instance.new("BoolValue")
Princess.Name = "Princess"
Princess.Parent = player.Shop.Titles
local Nemesis = Instance.new("BoolValue")
Nemesis.Name = "Nemesis"
Nemesis.Parent = player.Shop.Titles
local Worthy = Instance.new("BoolValue")
Worthy.Name = "Worthy"
Worthy.Parent = player.Shop.Titles
local Lenny = Instance.new("BoolValue")
Lenny.Name = ":-)"
Lenny.Parent = player.Shop.Titles
local Wealthy = Instance.new("BoolValue")
Wealthy.Name = "Wealthy"
Wealthy.Parent = player.Shop.Titles
local Godly = Instance.new("BoolValue")
Godly.Name = "Godly"
Godly.Parent = player.Shop.Titles
--------------EFFECTS
local Medic = Instance.new("BoolValue", player.Shop.Effects)
Medic.Name = "Medic"
Medic.Value = false
local Stars = Instance.new("BoolValue")
Stars.Name = "Stars"
Stars.Parent = player.Shop.Effects
local Music = Instance.new("BoolValue")
Music.Name = "Music"
Music.Parent = player.Shop.Effects
local Hearts = Instance.new("BoolValue")
Hearts.Name = "Hearts"
Hearts.Parent = player.Shop.Effects
local Lightning = Instance.new("BoolValue")
Lightning.Name = "Lightning"
Lightning.Parent = player.Shop.Effects
local Virus = Instance.new("BoolValue")
Virus.Name = "Virus"
Virus.Parent = player.Shop.Effects
local Lava = Instance.new("BoolValue")
Lava.Name = "Lava"
Lava.Parent = player.Shop.Effects
local Interstellar = Instance.new("BoolValue")
Interstellar.Name = "Interstellar"
Interstellar.Parent = player.Shop.Effects
-------------------
local Money = Instance.new("IntValue")
Money.Name = "Money"
Money.Parent = leaderstats
local Wins = Instance.new("IntValue")
Wins.Name = "Wins"
Wins.Parent = leaderstats
local Check = Instance.new("IntValue", player)
Check.Name = "Check"
Check.Value = 0
local TotalBroken = Instance.new("IntValue", player)
TotalBroken.Name = "TotalBroken"
TotalBroken.Value = 0
local playerUserId = "Player_"..player.UserId
-- Load Data
local data
local success, errormessage = pcall(function()
data = myDataStore:GetAsync(playerUserId)
end)
if success then
if data then
Money.Value = data.Money
Wins.Value = data.Wins
Poor.Value = data.Poor
Fighter.Value = data.Fighter
Scout.Value = data.Scout
Cool.Value = data.Cool
Sk8r.Value = data.Sk8r
Fearless.Value = data.Fearless
Princess.Value = data.Princess
Nemesis.Value = data.Nemesis
Worthy.Value = data.Worthy
Lenny.Value = data.Lenny
Wealthy.Value = data.Wealthy
Godly.Value = data.Godly
Medic.Value = data.Medic
Stars.Value = data.Stars
Music.Value = data.Music
Hearts.Value = data.Hearts
Lightning.Value = data.Lightning
Virus.Value = data.Virus
Lava.Value = data.Lava
Interstellar.Value = data.Interstellar
end
end
end)
game.Players.PlayerRemoving:Connect(function(player)
local playerUserId = "Player_"..player.UserId
local data = {
Money = player.leaderstats.Money.Value;
Wins = player.leaderstats.Wins.Value;
Poor = player.Shop.Titles.Poor.Value;
Fighter = player.Shop.Titles.Fighter.Value;
Scout = player.Shop.Titles.Scout.Value;
Cool = player.Shop.Titles.Cool.Value;
Sk8r = player.Shop.Titles.Sk8r.Value;
Fearless = player.Shop.Titles.Fearless.Value;
Princess = player.Shop.Titles.Princess.Value;
Nemesis = player.Shop.Titles.Nemesis.Value;
Worthy = player.Shop.Titles.Worthy.Value;
Lenny = player.Shop.Titles.Lenny.Value;
Wealthy = player.Shop.Titles.Wealthy.Value;
Godly = player.Shop.Titles.Godly.Value;
Medic = player.Shop.Effects.Medic.Value;
Stars = player.Shop.Effects.Stars.Value;
Music = player.Shop.Effects.Music.Value;
Hearts = player.Shop.Effects.Hearts.Value;
Lightning = player.Shop.Effects.Lightning.Value;
Virus = player.Shop.Effects.Virus.Value;
Lava = player.Shop.Effects.Lava.Value;
Interstellar = player.Shop.Effects.Interstellar.Value;
}
local success, errormessage = pcall(function()
myDataStore:SetAsync(playerUserId, data)
end)
if success then
print("Data saved!")
else
print("There was an error when saving data.")
warn(errormessage)
end
end)
