So Hello im making game that has rounds. Intermision And Playing and i have very very long status bar script in server script. but i want to change it so i can add every script to timer because now i am using them in another scripts. This is my Script.
local status = game.ReplicatedStorage:WaitForChild("Status") repeat status.Value = "Intermission 25" wait(1) status.Value = "Intermission 24" wait(1) status.Value = "Intermission 23" wait(1) status.Value = "Intermission 22" wait(1) status.Value = "Intermission 21" wait(1) status.Value = "Intermission 20" wait(1) status.Value = "Intermission 19" wait(1) status.Value = "Intermission 18" wait(1) status.Value = "Intermission 17" wait(1) status.Value = "Intermission 16" wait(1) status.Value = "Intermission 15" wait(1) status.Value = "Intermission 14" wait(1) status.Value = "Intermission 13" wait(1) status.Value = "Intermission 12" wait(1) status.Value = "Intermission 11" wait(1) status.Value = "Intermission 10" wait(1) status.Value = "Intermission 9" wait(1) status.Value = "Intermission 8" wait(1) status.Value = "Intermission 7" wait(1) status.Value = "Intermission 6" wait(1) status.Value = "Intermission 5" wait(1) status.Value = "Intermission 4" wait(1) status.Value = "Intermission 3" wait(1) status.Value = "Intermission 2" wait(1) status.Value = "Intermission 1" wait(1) status.Value = "Runners Has Been Spawned To Map!" wait(1) status.Value = "5Seconds Till Catcher Will Be Relased" wait(1) status.Value = "4Seconds Till Catcher Will Be Relased" wait(1) status.Value = "3Seconds Till Catcher Will Be Relased" wait(1) status.Value = "2Seconds Till Catcher Will Be Relased" wait(1) status.Value = "1Seconds Till Catcher Will Be Relased" wait(1) status.Value = "*????Catcher Has Been Relased????" wait(1) local randomPlayer = game.Players:GetPlayers()[math.random(1,#game.Players:GetPlayers())] randomPlayer.TeamColor = BrickColor.new("Really red") randomPlayer.PlayerGui.CatcherGui.Frame.Visible = true ---------------------------------------------------------- status.Value = "2.30 minutes" wait(1) status.Value = "2.29 minutes" wait(1) status.Value = "2.28 minutes" wait(1) status.Value = "2.27 minutes" wait(1) status.Value = "2.26 minutes" wait(1) status.Value = "2.25 minutes" wait(1) status.Value = "2.24 minutes" wait(1) status.Value = "2.23 minutes" wait(1) status.Value = "2.22 minutes" wait(1) status.Value = "2.21 minutes" wait(1) status.Value = "2.20 minutes" wait(1) status.Value = "2.19 minutes" wait(1) status.Value = "2.18 minutes" wait(1) status.Value = "2.17 minutes" wait(1) status.Value = "2.16 minutes" wait(1) status.Value = "2.15 minutes" wait(1) status.Value = "2.14 minutes" wait(1) status.Value = "2.13 minutes" wait(1) status.Value = "2.12 minutes" wait(1) status.Value = "2.11 minutes" wait(1) status.Value = "2.10 minutes" wait(1) status.Value = "2.09 minutes" wait(1) status.Value = "2.08 minutes" wait(1) status.Value = "2.07 minutes" wait(1) status.Value = "2.06 minutes" wait(1) status.Value = "2.05 minutes" wait(1) status.Value = "2.04 minutes" wait(1) status.Value = "2.03 minutes" wait(1) status.Value = "2.02 minutes" wait(1) status.Value = "2.01 minutes" wait(1) status.Value = " 2 minutes" wait(1) status.Value = "1.59 minutes" wait(1) status.Value = "1.58 minutes" wait(1) status.Value = "1.57 minutes" wait(1) status.Value = "1.56 minutes" wait(1) status.Value = "1.55 minutes" wait(1) status.Value = "1.54 minutes" wait(1) status.Value = "1.53 minutes" wait(1) status.Value = "1.52 minutes" wait(1) status.Value = "1.51 minutes" wait(1) status.Value = "1.50 minutes" wait(1) status.Value = "1.49 minutes" wait(1) status.Value = "1.48 minutes" wait(1) status.Value = "1.47 minutes" wait(1) status.Value = "1.46 minutes" wait(1) status.Value = "1.45 minutes" wait(1) status.Value = "1.44 minutes" wait(1) status.Value = "1.43 minutes" wait(1) status.Value = "1.42 minutes" wait(1) status.Value = "1.41 minutes" wait(1) status.Value = "1.40 minutes" wait(1) status.Value = "1.39 minutes" wait(1) status.Value = "1.38 minutes" wait(1) status.Value = "1.37 minutes" wait(1) status.Value = "1.36 minutes" wait(1) status.Value = "1.35 minutes" wait(1) status.Value = "1.34 minutes" wait(1) status.Value = "1.33 minutes" wait(1) status.Value = "1.32 minutes" wait(1) status.Value = "1.31 minutes" wait(1) status.Value = "1.30 minutes" wait(1) status.Value = "1.29 minutes" wait(1) status.Value = "1.28 minutes" wait(1) status.Value = "1.27 minutes" wait(1) status.Value = "1.26 minutes" wait(1) status.Value = "1.25 minutes" wait(1) status.Value = "1.24 minutes" wait(1) status.Value = "1.23 minutes" wait(1) status.Value = "1.22 minutes" wait(1) status.Value = "1.21 minutes" wait(1) status.Value = "1.20 minutes" wait(1) status.Value = "1.19 minutes" wait(1) status.Value = "1.18 minutes" wait(1) status.Value = "1.17 minutes" wait(1) status.Value = "1.16 minutes" wait(1) status.Value = "1.15 minutes" wait(1) status.Value = "1.14 minutes" wait(1) status.Value = "1.13 minutes" wait(1) status.Value = "1.12 minutes" wait(1) status.Value = "1.11 minutes" wait(1) status.Value = "1.10 minutes" wait(1) status.Value = "1.09 minutes" wait(1) status.Value = "1.08 minutes" wait(1) status.Value = "1.07 minutes" wait(1) status.Value = "1.06 minutes" wait(1) status.Value = "1.05 minutes" wait(1) status.Value = "1.04 minutes" wait(1) status.Value = "1.03 minutes" wait(1) status.Value = "1.02 minutes" wait(1) status.Value = "1.01 minutes" wait(1) status.Value = "1.00 minute" wait(1) status.Value = "59 seconds" wait(1) status.Value = "58 seconds" wait(1) status.Value = "57 seconds" wait(1) status.Value = "56 seconds" wait(1) status.Value = "55 seconds" wait(1) status.Value = "54 seconds" wait(1) status.Value = "53 seconds" wait(1) status.Value = "52 seconds" wait(1) status.Value = "51 seconds" wait(1) status.Value = "50 seconds" wait(1) status.Value = "49 seconds" wait(1) status.Value = "48 seconds" wait(1) status.Value = "47 seconds" wait(1) status.Value = "46 seconds" wait(1) status.Value = "45 seconds" wait(1) status.Value = "44 seconds" wait(1) status.Value = "43 seconds" wait(1) status.Value = "42 seconds" wait(1) status.Value = "41 seconds" wait(1) status.Value = "40 seconds" wait(1) status.Value = "39 seconds" wait(1) status.Value = "38 seconds" wait(1) status.Value = "37 seconds" wait(1) status.Value = "36 seconds" wait(1) status.Value = "35 seconds" wait(1) status.Value = "34 seconds" wait(1) status.Value = "33 seconds" wait(1) status.Value = "32 seconds" wait(1) status.Value = "31 seconds" wait(1) status.Value = "30 seconds" wait(1) status.Value = "29 seconds" wait(1) status.Value = "28 seconds" wait(1) status.Value = "27 seconds" wait(1) status.Value = "26 seconds" wait(1) status.Value = "25 seconds" wait(1) status.Value = "24 seconds" wait(1) status.Value = "23 seconds" wait(1) status.Value = "22 seconds" wait(1) status.Value = "21 seconds" wait(1) status.Value = "20 seconds" wait(1) status.Value = "19 seconds" wait(1) status.Value = "18 seconds" wait(1) status.Value = "17 seconds" wait(1) status.Value = "16 seconds" wait(1) status.Value = "15 seconds" wait(1) status.Value = "14 seconds" wait(1) status.Value = "13 seconds" wait(1) status.Value = "12 seconds" wait(1) status.Value = "11 seconds" wait(1) status.Value = "10 seconds" wait(1) status.Value = "9 seconds" wait(1) status.Value = "8 seconds" wait(1) status.Value = "7 seconds" wait(1) status.Value = "6 seconds" wait(1) status.Value = "5 seconds" wait(1) status.Value = "4 seconds" wait(1) status.Value = "3 seconds" wait(1) status.Value = "2 seconds" wait(1) status.Value = "1 second" wait(1) status.Value = "0 seconds" wait(1) status.Value = "Game Over" wait(5) until false
I know its my first But now i dont know how to make one like this but alot smaller Have Answers?>
Your script can be drastically shortened. This can be done mainly by using for-do loops.
A for-do loop consists of the following basic skeleton:
for i = 0, 25, 1 do (Code Here) end
The first value i = 0
represents the initial value, the second value 25
represents the end value, and the third value 1
represents the increment. In other words, the code in between will run over and over again until 0 goes up to 25 by one (or every time the code is run). As you can see, using for-do loops save A LOT of time and I mean it. You used up 500+ lines to write your script. With for-do loops, you can cut that to literally less than fifty lines. Therefore, it is extremely worth learning as it is very useful. For more information about for-do loops, click here.
I edited your script to utilize for-do loops. I also used something called an if-then function near the end of the script, which you can learn more about over here.
Final Product:
local status = game.ReplicatedStorage:WaitForChild("Status") repeat for i = 25, 1, -1 do status.Value = ("Intermission " .. i) wait(1) end status.Value = "Runners Has Been Spawned To Map!" wait(1) for i = 5, 1, -1 do status.Value = (i .. " Seconds Till Catcher Will Be Released") wait(1) end status.Value = "????Catcher Has Been Released????" wait(1) local randomPlayer = game.Players:GetPlayers([math.random(1,#game.Players:GetPlayers())]) randomPlayer.TeamColor = BrickColor.new("Really red") randomPlayer.PlayerGui.CatcherGui.Frame.Visible = true ---------------------------------------------------------- for i = 150, 0, -1 do if i > 1 or i == 0 then status.Value = (i .. " seconds") -- Just convert it into seconds. It gets complicated if you want to turn it into minutes and I don't want to confuse you. wait(1) elseif i == 1 then status.Value = ("1 second") wait(1) end end status.Value = "Game Over" wait(5) until false
If you don't understand something, let me know and I'll do my best to explain it to you.
Oh boy, you can use this:
for i = 10, 1, -1 do status.Value = "Intermission("..i..")" wait(1) end
Same thing with the other stuff but you will need a bit of math.floor()
for the minutes.
Here is a link of a wiki article which may help you: http://robloxdev.com/articles/For-Loops