My script keeps treating people who are joining for the first time wait 12 hours for a reward that they are supposed to get once right away, and then wait another 12 hours for.
local CurrentTime = os.time()
local TeleportService = game:GetService("TeleportService")
local DSS = game:GetService("DataStoreService")
local DS = DSS:GetGlobalDataStore()
local HoursWaited = 12--12
local JoinStorage = DSS:GetDataStore("DailyReward")
game:GetService("ReplicatedStorage").stupid4.OnServerEvent:Connect(function(Player)
pcall(function()
Data = JoinStorage:GetAsync(Player.UserId.."-HeavenTime")
end)
if Data then
local LastJoined = CurrentTime - Data
if (LastJoined / 3600) >= HoursWaited then
JoinStorage:SetAsync(Player.UserId.."-HeavenTime", os.time())
if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(Player.UserId, 7053540) then
print("has gmepass old player")
TeleportService:Teleport(3718179893, Player)
end
elseif game:GetService("MarketplaceService"):UserOwnsGamePassAsync(Player.UserId, 7053540) and (LastJoined / 3600) < HoursWaited then print("has to wait") game:GetService('ReplicatedStorage').Block:FireClient(Player, HoursWaited)
end
else
JoinStorage:SetAsync(Player.UserId.."-HeavenTime", os.time())
if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(Player.UserId, 7053540) then
print("has gmepass new player")
TeleportService:Teleport(3718179893, Player)
end
end
end)
