I'm sure of how to make most of this, just there is something throwing me off. I'm not sure how I would make sure if a player already got their rewards.
rewarded = false
game.Players.PlayerAdded:connect(function(plyr)
local kos = plyr.leaderstats.KOs
if kos then
rewarded = true
local rewards = {10, 15, 20}
kos.Value = kos.Value + math.random(1, #rewards)
elseif rewarded == false then
print('already rewarded')
end
end)

3 comments
Make a boolean? (for if they got rewarded or not)
When do you want the player to get rewarded? If you tell me i think i can fix this.
I want them rewarded every like 10 hours