Script below:
– Daily Rewarder/Leaderstarts –
local ds = game:GetService(“DataStoreService”):GetDataStore(“UserData12”) – UserData can be everything like “PlayerData” etc. It’s up to you
------ Variables ------
local rewardTimeD1 = 24 – This must be in hours. 24 hours = 1 day. 0.001 = 3.6 seconds
local rewardBonusD1 = 20
local rewardTimeD2 = 48 – This must be in hours. 24 hours = 1 day. 0.001 = 3.6 seconds
local rewardBonusD2 = 70
local rewardTimeD3 = 72 – This must be in hours. 24 hours = 1 day. 0.001 = 3.6 seconds
local rewardBonusD3 = 150
local rewardTimeD4 = 96 – This must be in hours. 24 hours = 1 day. 0.001 = 3.6 seconds
local rewardBonusD4 = 300
local rewardTimeD5 = 120 – This must be in hours. 24 hours = 1 day. 0.001 = 3.6 seconds
local rewardBonusD5 = 400
local rewardTimeD6 = 144 – This must be in hours. 24 hours = 1 day. 0.001 = 3.6 seconds
local rewardBonusD6 = 600
local DailyRewarder = game.ServerStorage:WaitForChild(“DailyReward”)
----- Main Script -----
game.Players.PlayerAdded:connect(function(player)
local key = “user:”…player.userId – Unique user id of the player
local folder = Instance.new(“Folder”,player)
folder.Name = “leaderstats”
local cash = Instance.new(“IntValue”,folder)
cash.Name = “Cash” – Name of your currency
cash.Value = 1000 – Starting money of the player
local increment = Instance.new(“IntValue”,player)
increment.Name = “BonusIncrement”
increment.Value = 0
local save
pcall(function() -- What this does is if there is an error. It will not be called and the script would not break but instead continue to execute the script.
save = ds:GetAsync(key)
end)
if save then
print("No error in saving Daily Rewarder.")
if (os.time()-save.rewardWait)/3600 >= rewardTimeD1 then
save={cash=save.cash+(rewardBonusD1+save.increment);rewardWait=os.time();increment=save.increment+rewardBonusD1}
ds:SetAsync(key,save)
DailyRewarder.Parent = game.Workspace
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(0,225,0) -- Changes Indicator to green
wait(4)
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(255,0,0)-- Resets all Indicators
DailyRewarder.Frame.CashIndicatorD2.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD3.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD4.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD5.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD6.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Parent = game.ServerStorage
else if (os.time()-save.rewardWait)/3600 >= rewardTimeD2 then
save={cash=save.cash+(rewardBonusD2+save.increment);rewardWait=os.time();increment=save.increment+rewardBonusD2}
ds:SetAsync(key,save)
DailyRewarder.Parent = game.Workspace
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(0,225,0)-- Changes Indicator to green
DailyRewarder.Frame.CashIndicatorD2.BackGroundColour3 = Color3.new(0,255,0)
wait(4)
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(255,0,0)-- Resets all Indicators
DailyRewarder.Frame.CashIndicatorD2.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD3.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD4.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD5.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD6.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Parent = game.ServerStorage
else if (os.time()-save.rewardWait)/3600 >= rewardTimeD3 then
save={cash=save.cash+(rewardBonusD3+save.increment);rewardWait=os.time();increment=save.increment+rewardBonusD3}
ds:SetAsync(key,save)
DailyRewarder.Parent = game.Workspace
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(0,225,0)-- Changes Indicator to green
DailyRewarder.Frame.CashIndicatorD2.BackgroundColour3 = Color3.new(0,225,0)
DailyRewarder.Frame.CashIndicatorD3.BackGroundColour3 = Color3.new(0,255,0)
wait(4)
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(255,0,0)-- Resets all Indicators
DailyRewarder.Frame.CashIndicatorD2.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD3.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD4.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD5.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD6.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Parent = game.ServerStorage
else if (os.time()-save.rewardWait)/3600 >= rewardTimeD4 then
save={cash=save.cash+(rewardBonusD4+save.increment);rewardWait=os.time();increment=save.increment+rewardBonusD4}
ds:SetAsync(key,save)
DailyRewarder.Parent = game.Workspace
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(0,225,0)-- Changes Indicator to green
DailyRewarder.Frame.CashIndicatorD2.BackgroundColour3 = Color3.new(0,225,0)
DailyRewarder.Frame.CashIndicatorD3.BackGroundColour3 = Color3.new(0,255,0)
DailyRewarder.Frame.CashIndicatorD4.BackGroundColour3 = Color3.new(0,255,0)
wait(4)
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(255,0,0)-- Resets all Indicators
DailyRewarder.Frame.CashIndicatorD2.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD3.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD4.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD5.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD6.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Parent = game.ServerStorage
else if (os.time()-save.rewardWait)/3600 >= rewardTimeD5 then
save={cash=save.cash+(rewardBonusD5+save.increment);rewardWait=os.time();increment=save.increment+rewardBonusD5}
ds:SetAsync(key,save)
DailyRewarder.Parent = game.Workspace
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(0,225,0)-- Changes Indicator to green
DailyRewarder.Frame.CashIndicatorD2.BackgroundColour3 = Color3.new(0,225,0)
DailyRewarder.Frame.CashIndicatorD3.BackGroundColour3 = Color3.new(0,255,0)
DailyRewarder.Frame.CashIndicatorD4.BackGroundColour3 = Color3.new(0,255,0)
DailyRewarder.Frame.CashIndicatorD5.BackGroundColour3 = Color3.new(0,255,0)
wait(4)
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(255,0,0)-- Resets all Indicators
DailyRewarder.Frame.CashIndicatorD2.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD3.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD4.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD5.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD6.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Parent = game.ServerStorage
else if (os.time()-save.rewardWait)/3600 >= rewardTimeD6 then
save={cash=save.cash+(rewardBonusD6+save.increment);rewardWait=os.time();increment=save.increment+rewardBonusD6}
ds:SetAsync(key,save)
DailyRewarder.Parent = game.Workspace
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(0,225,0)-- Changes Indicator to green
DailyRewarder.Frame.CashIndicatorD2.BackgroundColour3 = Color3.new(0,225,0)
DailyRewarder.Frame.CashIndicatorD3.BackGroundColour3 = Color3.new(0,255,0)
DailyRewarder.Frame.CashIndicatorD4.BackgroundColour3 = Color3.new(0,225,0)
DailyRewarder.Frame.CashIndicatorD5.BackGroundColour3 = Color3.new(0,255,0)
DailyRewarder.Frame.CashIndicatorD6.BackGroundColour3 = Color3.new(0,255,0)
wait(4)
DailyRewarder.Frame.CashIndicatorD1.BackgroundColour3 = Color3.new(255,0,0)-- Resets all Indicators
DailyRewarder.Frame.CashIndicatorD2.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD3.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD4.BackgroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD5.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Frame.CashIndicatorD6.BackGroundColour3 = Color3.new(255,0,0)
DailyRewarder.Parent = game.ServerStorage
end
end
end
end
end
end
cash.Value = save.cash
increment.Value = save.increment
else
ds:SetAsync(key,{cash=1000;increment=0;rewardWait = os.time()}) – The value of the cash here must be the same as the starting cash on top. For example if you have 20 starting cash, the value here must also be 20.
end
end)
– Scripted by: ZylanchewYT