i am using a datastore script. on the bottom the coins does not save but the wins do? i read line by line to make sure things were set. i did multiple tests as well. here is the script
local DSS = game:GetService('DataStoreService')
local myDataStore = DSS:GetDataStore('myDatastore')
game.Players.PlayerAdded:Connect(function(plr)
--gets the int value which is wins
local wins = plr:WaitForChild('leaderstats').Wins
local coins = plr:WaitForChild('leaderstats').Coins
--create an empty variable to get the value of wins from the player
local data
local data2
local success, error = pcall(function()
data = myDataStore:GetAsync(plr.UserId.."_wins", plr.leaderstats.Wins.Value)
data2 = myDataStore:GetAsync(plr.UserId.."_coins", plr.leaderstats.Coins.Value)
end)
if success then
wins.Value = data
print("Data has been reached!")
coins.Value = data2
print('Coins had been reached!')
end
end)
game.Players.PlayerRemoving:Connect(function(plr)
local data = plr.leaderstats.Wins.Value
local data2 = plr.leaderstats.Coins.Value
local success, error = pcall(function()
myDataStore:SetAsync(plr.UserId.."_wins", plr.leaderstats.Wins.Value)
myDataStore:SetAsync(plr.UserId.."_coins", plr.leaderstats.Coins.Value)
end)
if success then
print("Saved data!")
else
print('Error!')
warn(error)
end
end)
at line 32 is where the coins are at and the coins dont actually print saved data and no errors are returned
local DSS = game:GetService('DataStoreService')
local myDataStore = DSS:GetDataStore('myDatastore')
game.Players.PlayerAdded:Connect(function(plr)
--gets the int value which is wins
local wins = plr:WaitForChild('leaderstats').Wins
local coins = plr:WaitForChild('leaderstats').Coins
--create an empty variable to get the value of wins from the player
local data
local data2
local success, error = pcall(function()
data = myDataStore:GetAsync(plr.UserId.."_wins", plr.leaderstats.Wins.Value)
data2 = myDataStore:GetAsync(plr.UserId.."_coins", plr.leaderstats.Coins.Value)
end)
if success then
wins.Value = data
print("Data has been reached!")
coins.Value = data2
print('Coins had been reached!')
end
end)
game.Players.PlayerRemoving:Connect(function(plr)
local ToSave = {
plr.leaderstats.Wins.Value,
plr.leaderstats.Coins.Value;
}
--local data = plr.leaderstats.Wins.Value
--local data2 = plr.leaderstats.Coins.Value
local success, error = pcall(function()
local data = myDataStore:GetAsync()
plr.leaderstats.Wins.Value = ToSave[1] or 0
plr.leaderstats.Coins.Value = ToSave[2] or 0
--myDataStore:SetAsync(plr.UserId.."_wins", plr.leaderstats.Wins.Value)
--myDataStore:SetAsync(plr.UserId.." _coins", plr.leaderstats.Coins.Value)
end)
if success then
print("Saved data!")
else
print('Error!')
warn(error)
end
end)
local DSS = game:GetService('DataStoreService')
local myDataStore = DSS:GetDataStore('myDatastore')
game.Players.PlayerAdded:Connect(function(plr)
--gets the int value which is wins
local wins = plr:WaitForChild('leaderstats').Wins
local coins = plr:WaitForChild('leaderstats').Coins
--create an empty variable to get the value of wins from the player
local data
local success, error = pcall(function()
myDataStore:GetAsync(plr.UserId.."-data")
end)
if success then
wins.Value = data[1]
print("Data has been reached!")
coins.Value = data[2]
print('Coins had been reached!')
end
end)
game.Players.PlayerRemoving:Connect(function(plr)
local ToSave = {
plr.leaderstats.Wins.Value,
plr.leaderstats.Coins.Value;
}
--local data = plr.leaderstats.Wins.Value
--local data2 = plr.leaderstats.Coins.Value
local success, error = pcall(function()
myDataStore:SetAsync(plr.UserId.."-data", ToSave)
end)
if success then
print("Saved data!")
else
print('Error!')
warn(error)
end
end)
local DSS = game:GetService('DataStoreService')
local myDataStore = DSS:GetDataStore('myDatastore')
game.Players.PlayerAdded:Connect(function(plr)
--gets the int value which is wins
local wins = plr:WaitForChild('leaderstats').Wins
local coins = plr:WaitForChild('leaderstats').Coins
--create an empty variable to get the value of wins from the player
local data
local PlayerId = plr.UserId
local success, Error = pcall(function()
data = myDataStore:GetAsync(PlayerId)
end)
if success then
wins.Value = data[1]
print("Data has been reached!")
coins.Value = data[2]
print('Coins had been reached!')
else
print(Error)
end
end)
game.Players.PlayerRemoving:Connect(function(plr)
local PlayerId = plr.UserId
--local data = plr.leaderstats.Wins.Value
--local data2 = plr.leaderstats.Coins.Value
local success, Error = pcall(function()
myDataStore:SetAsync(PlayerId, {plr.leaderstats.Wins.Value, plr.leaderstats.Coins.Value})
end)
if success then
print("Saved data!")
else
print('Error!')
warn(Error)
end
end)