Repeating Script Every Minute

Hey! I have a level system in my game and want the level to go up one every minute. I have everything done except I can’t figure out how to repeat it every minute. Here is what I have so far ~>

`local Players = game:GetService(“Players”)

local function leaderboardSetup(player)
local leaderstats = Instance.new(“Folder”)
leaderstats.Name = “leaderstats”
leaderstats.Parent = player

local level = Instance.new("IntValue")
level.Name = "level"
level.Value = level.Value +1
level.Parent = leaderstats
wait(60)

end

Players.PlayerAdded:Connect(leaderboardSetup)`

1 Like
while wait(60) do
     --repeating script goes here
end
2 Likes

What would the repeating script be?

Anything you want to repeat every minute.

I want the whole thing to repeat every minute so what would I do?

You could do

while wait(60) do
    level.Value = level.Value +1
end

This will level you up every minute

2 Likes
local Players = game:GetService(“Players”)
local function leaderboardSetup(player)
local leaderstats = Instance.new(“Folder”)
leaderstats.Name = “leaderstats”
leaderstats.Parent = player
local level = Instance.new("IntValue")
level.Name = "level"
level.Value = level.Value +1
level.Parent = leaderstats
   while true do
      level.Value = level.Value+1
      wait(60)
   end
end

Players.PlayerAdded:Connect(leaderboardSetup)

you wouldnt want to create a new intvalue ever time though

sorry im on mobile so im writing badly

Yes it worked! Thank you so much!!! Do you know how to make it so that it saves when you rejoin?

Thank you so much!!!

You would have to use datastores for that.

Ok thanks for letting me know!

local Coro = coroutine.wrap(function(Player) -- Creating a coroutine
while wait(60) do -- Running every 60 seconds, or a minute
Player.leaderstats.Level.Value += 1 -- Add level
end
end)

game.Players.PlayerAdded:Connect(function(Player)
-- Setup leaderstats here
Coro(Player) -- Run the coroutine we created earlier
end)
1 Like