I want to save 3 values. Exp Level, Amount of Exp to Next Level, and Level. But it is not saving when i load back into game. It is a normal script in ServerScriptStorage. Here is my script for my data stores:
--References
local dataStore = game:GetService('DataStoreService')
local player = game.Players.LocalPlayer
local valueRef = game.Workspace.Values
--Values
local expAmount = valueRef.ExpLevel
local expToNextLevel = valueRef.ExpToNextLevel
local level = valueRef.Level
--Data Stores
local expStore = dataStore:GetDataStore('expStore')
local success, err = pcall(function()
expStore:SetAsync(player.UserID..'_exp', expAmount)
end)
if err then
print('Exp Store Error')
end
local nextLevelStore = dataStore:GetDataStore('nextLevelStore')
local success, err = pcall(function()
nextLevelStore:SetAsync(player.UserID..'_nextLevel', expToNextLevel)
end)
if err then
print('Next Level Store Error')
end
local levelStore = dataStore:GetDataStore('levelStore')
local success, err = pcall(function()
levelStore:SetAsync(player.UserID..'_level', level)
end)
if err then
print('Level Store Error')
end
--Data Store Updates
player.PlayerAdded:Connect(function(playerJoining)
end)
player.PlayerRemoving:Connect(function(playerLeaving)
local success, err = pcall(function()
expStore:UpdateAsync(player.UserID..'_exp', expAmount)
end)
local success, err = pcall(function()
nextLevelStore:UpdateAsync(player.UserID..'_nextLevel', expToNextLevel)
end)
local success, err = pcall(function()
levelStore:UpdateAsync(player.UserID..'_level', level)
end)
end)
game:BindToClose(function()
print(2*2)
wait(3)
print("Done")
end)
