I am trying to save the time a player last joined for a daily reward system, however, it returns nil once returning to the game every time, why is that?
local DataStore = game:GetService("DataStoreService"):GetDataStore("Delay")
local hourWait = 24
game.Players.PlayerAdded:Connect(function(player)
local Time = os.time()
local data
pcall(function()
data = DataStore:GetAsync(player.UserId.."-Delay")
print("Checking data for Daily Reward")
end)
if data ~= nil then
print("DATA IS NOT NIL")
local timeSinceLastPlayed = Time - data
player:WaitForChild("TimeSinceLastJoin").Value = timeSinceLastPlayed
print("time since last joined was"..timeSinceLastPlayed)
print("Last reward claimed at "..timeSinceLastPlayed)
if (timeSinceLastPlayed/3600) >= hourWait then
-- give reward
DataStore:SetAsync(player.UserId.."-Delay",os.time())
end
else
print("no data")-- No data
end
game.Players.PlayerRemoving:Connect(function(player)
local data
pcall(function()
data = DataStore:GetAsync(player.UserId.."-Delay")
print("checking data")
print("your data is " .. data)
end)
if data == nil then
pcall(function()
local timeValue = os.time()
DataStore:SetAsync(player.UserId.."-Delay")
-- data for new player saved
end)
end
end)
end)
