I've been working on a Leaderboard with 3 values that uses datasave, but for some reason it doesn't appear to work properly. I don't get an error in the command bar, or anything. Here's the script:
local DataStore2 = require(1936396537)
DataStore2.Combine("MasterKey","Level", "XP", "Gems")
local defaultLevel = 1
local defaultXP = 0
local defaultGems = 0
local XpToLevelUp = function(level)
return 100 + level * 5
end
game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder", player); leaderstats.Name = "leaderstats"
local levelValue = Instance.new("IntValue", leaderstats); levelValue.Name = "Level"
local xpValue = Instance.new("IntValue", leaderstats); xpValue.Name = "XP"
local gemValue = Instance.new("IntValue", leaderstats); gemValue.Name = "Gems"
local levelStore = DataStore2("Level", player)
local xpStore = DataStore2("XP", player)
local gemStore = DataStore2("Gems", player)
local function updateLevel(Level)
player.leaderstats.Level.Value = Level
end
local function updategem(Gems)
player.leaderstats.Gems.Value = Gems
end
local function updatexp(XP)
if XP >= XpToLevelUp(levelStore:Get(defaultLevel)) then
xpStore:Increment(XpToLevelUp(levelStore:Get(defaultLevel)) * -1)
levelStore:Increment(1)
else
player.leaderstats.XP.Value = XP
end
end
updateLevel(levelStore:Get(defaultLevel))
updatexp(xpStore:Get(defaultXP))
updategem(gemStore:Get(defaultGems))
levelStore:OnUpdate(updateLevel)
xpStore:OnUpdate(updatexp)
gemStore:OnUpdate(updategem)
end)
Please help me figure this out!
