Please god tell me theres a more efficient way to do this
01 | local par = script.Parent |
02 | modes = { "FallDown" , "Spiral" , "Generic" , "SlideOpen" , "BlockFall" , "CollumnFall" , "Firework" , "FallUp" , "CheckerBoard" , "FallingCheckerboard" } |
03 |
04 | while wait() do |
05 | local picked = modes [ math.random( 1 ,#modes) ] |
06 | if picked = = "FallDown" then -- Fall Down |
07 | local color = BrickColor.Random() |
08 | par.p 1. BrickColor = color |
09 | par.p 2. BrickColor = color |
10 | par.p 3. BrickColor = color |
11 | par.p 4. BrickColor = color |
12 | par.p 5. BrickColor = color |
13 | par.p 6. BrickColor = color |
14 | par.p 7. BrickColor = color |
15 | par.p 8. BrickColor = color |
You can use a for loop
to quickly iterate over the children of "par" to save yourself some time by not having to struggle with changing each child's brickcolor separately.
01 | local par = script.Parent |
02 | modes = { "FallDown" , "Spiral" , "Generic" , "SlideOpen" , "BlockFall" , "CollumnFall" , "Firework" , "FallUp" , "CheckerBoard" , "FallingCheckerboard" } |
03 |
04 | while wait() do |
05 |
06 | local picked = modes [ math.random( 1 ,#modes) ] |
07 |
08 | if picked = = "FallDown" then -- Fall Down |
09 |
10 | local color = BrickColor.Random() |
11 |
12 | for _, v in pairs (par:GetChildren()) do |
13 | if v:IsA( "Part" ) or v:IsA( "UnionOperation" ) then -- Checking to see if the child is a part / union, filters out any other instances |
14 | v.BrickColor = color -- if part passes through check, change the brickcolor |
15 | end |
16 | end |
17 | end |
18 | end |
Questions / comments? Feel free to message me and I'll answer them as soon as possible. If you are satisfied with the answer I provided, please upvote me. Thanks! - Kyo
You could loop through 'par' and change the children.
01 | local par = script.Parent |
02 | modes = { "FallDown" , "Spiral" , "Generic" , "SlideOpen" , "BlockFall" , "CollumnFall" , "Firework" , "FallUp" , "CheckerBoard" , "FallingCheckerboard" } |
03 |
04 | while wait() do |
05 | local picked = modes [ math.random( 1 ,#modes) ] |
06 | if picked = = "FallDown" then -- Fall Down |
07 | local color = BrickColor.Random() |
08 | for i, v in pairs (par:GetChildren()) do |
09 | if v:IsA( "Part" ) then |
10 | v.BrickColor = color |
11 | end |
12 | end |
13 | end |
14 | end |