Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

New Status Bar CountDown Worth It?

Asked by 5 years ago

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?>

2 answers

Log in to vote
1
Answered by
RAYAN1565 691 Moderation Voter
5 years ago
Edited 5 years ago

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.

0
kk im playing relaxing a bit now so ill test it later. Btw Thanks For Helping as i can see u did whole script so maybe you will get accepted. User#21499 0 — 5y
0
I know this isn't my post, but I have a question on line 16. After the first GetPlayers, are you missing a parentheses? I'm still getting to used to tables and stuff so I might be wrong. Pojoto 329 — 5y
0
Yes, he is missing a parentheses after the ]. mixgingengerina10 223 — 5y
0
Dont Worry i Fixed it User#21499 0 — 5y
Ad
Log in to vote
1
Answered by
valchip 789 Moderation Voter
5 years ago
Edited 5 years ago

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

0
kk im playing relaxing a bit now so ill test it later. Btw Thanks For Trying To Help. User#21499 0 — 5y
0
VERY THANKS FOR TRYING TO HELP. User#21499 0 — 5y

Answer this question