I've be trying to get get this chunk of code to save the players coins when they leave; I don't mean to use SetAsync either. The first two print (the CoinValue and the string inside the pcall) prints, but the prints at the bottom doesn't print (the if statements nor the print under the end). Needless to say, the CoinValue isn't being updated. And I've also checked that newValue isn't nil from the print(CoinValue) and it is a number.
Players.PlayerRemoving:Connect(function(player)
local key = tostring(player.UserId)
local CoinValue = PlayerCoins:FindFirstChild(key).Value
local CoinStore = DataStoreService:GetDataStore("CoinStore")
print(CoinValue)
local success, Result = pcall(function()
print("running function")
CoinStore:UpdateAsync(key,function(oldVal)
local newVal = CoinValue
if newVal ~= nil then
return newVal
else
return oldVal
end
end)
end)
print(success)
if success then
print("yay")
print(success)
print(Result)
else
print("nope it failed")
end
end)
