i'm rotating the colors of parts of a model, making it look like a flowing rainbow, so i need it to iterate through colors in order and parts in order. i know i need to use ipairs, but that is as far as my knowledge goes. i'm wondering if i should use coroutines? i've yet to delve into coroutines and don't know how to use them yet, but i'll start learning if that is what's suggested. i've only pasted half of the script because it was more than 10000 characters. the script below works perfectly, but i would like to learn a faster and maybe more elegant way to script this. thank you for any help.
local t = 1
local a1 = script.Parent.a1
local a2 = script.Parent.a2
local a3 = script.Parent.a3
local a4 = script.Parent.a4
local a5 = script.Parent.a5
local a6 = script.Parent.a6
local a7 = script.Parent.a7
local a8 = script.Parent.a8
local a9 = script.Parent.a9
local a10 = script.Parent.a10
local a11 = script.Parent.a11
local a12 = script.Parent.a12
local a13 = script.Parent.a13
local a14 = script.Parent.a14
local a15 = script.Parent.a15
local a16 = script.Parent.a16
local a17 = script.Parent.a17
local a18 = script.Parent.a18
local a19 = script.Parent.a19
local a20 = script.Parent.a20
local a21 = script.Parent.a21
local a22 = script.Parent.a22
local a23 = script.Parent.a23
local a24 = script.Parent.a24
local a25 = script.Parent.a25
local a26 = script.Parent.a26
local a27 = script.Parent.a27
local a28 = script.Parent.a28
local a29 = script.Parent.a29
local a30 = script.Parent.a30
local a31 = script.Parent.a31
local a32 = script.Parent.a32
local a33 = script.Parent.a33
local a34 = script.Parent.a34
local a35 = script.Parent.a35
local a36 = script.Parent.a36
local a37 = script.Parent.a37
local a38 = script.Parent.a38
local a39 = script.Parent.a39
local a40 = script.Parent.a40
local colors = {}
colors[1] = "Deep orange"
colors[2] = "New Yeller"
colors[3] = "Br. yellowish green"
colors[4] = "Lime green"
colors[5] = "Shamrock"
colors[6] = "Cyan"
colors[7] = "Dark indigo"
colors[8] = "Royal purple"
colors[9] = "Eggplant"
colors[10] = "Really red"
while wait(t) do
a1.BrickColor = BrickColor.new(colors[1])
a2.BrickColor = BrickColor.new(colors[2])
a3.BrickColor = BrickColor.new(colors[3])
a4.BrickColor = BrickColor.new(colors[4])
a5.BrickColor = BrickColor.new(colors[5])
a6.BrickColor = BrickColor.new(colors[6])
a7.BrickColor = BrickColor.new(colors[7])
a8.BrickColor = BrickColor.new(colors[8])
a9.BrickColor = BrickColor.new(colors[9])
a10.BrickColor = BrickColor.new(colors[10])
a11.BrickColor = BrickColor.new(colors[1])
a12.BrickColor = BrickColor.new(colors[2])
a13.BrickColor = BrickColor.new(colors[3])
a14.BrickColor = BrickColor.new(colors[4])
a15.BrickColor = BrickColor.new(colors[5])
a16.BrickColor = BrickColor.new(colors[6])
a17.BrickColor = BrickColor.new(colors[7])
a18.BrickColor = BrickColor.new(colors[8])
a19.BrickColor = BrickColor.new(colors[9])
a20.BrickColor = BrickColor.new(colors[10])
a21.BrickColor = BrickColor.new(colors[1])
a22.BrickColor = BrickColor.new(colors[2])
a23.BrickColor = BrickColor.new(colors[3])
a24.BrickColor = BrickColor.new(colors[4])
a25.BrickColor = BrickColor.new(colors[5])
a26.BrickColor = BrickColor.new(colors[6])
a27.BrickColor = BrickColor.new(colors[7])
a28.BrickColor = BrickColor.new(colors[8])
a29.BrickColor = BrickColor.new(colors[9])
a30.BrickColor = BrickColor.new(colors[10])
a31.BrickColor = BrickColor.new(colors[1])
a32.BrickColor = BrickColor.new(colors[2])
a33.BrickColor = BrickColor.new(colors[3])
a34.BrickColor = BrickColor.new(colors[4])
a35.BrickColor = BrickColor.new(colors[5])
a36.BrickColor = BrickColor.new(colors[6])
a37.BrickColor = BrickColor.new(colors[7])
a38.BrickColor = BrickColor.new(colors[8])
a39.BrickColor = BrickColor.new(colors[9])
a40.BrickColor = BrickColor.new(colors[10])
wait(t)
a1.BrickColor = BrickColor.new(colors[2])
a2.BrickColor = BrickColor.new(colors[3])
a3.BrickColor = BrickColor.new(colors[4])
a4.BrickColor = BrickColor.new(colors[5])
a5.BrickColor = BrickColor.new(colors[6])
a6.BrickColor = BrickColor.new(colors[7])
a7.BrickColor = BrickColor.new(colors[8])
a8.BrickColor = BrickColor.new(colors[9])
a9.BrickColor = BrickColor.new(colors[10])
a10.BrickColor = BrickColor.new(colors[1])
a11.BrickColor = BrickColor.new(colors[2])
a12.BrickColor = BrickColor.new(colors[3])
a13.BrickColor = BrickColor.new(colors[4])
a14.BrickColor = BrickColor.new(colors[5])
a15.BrickColor = BrickColor.new(colors[6])
a16.BrickColor = BrickColor.new(colors[7])
a17.BrickColor = BrickColor.new(colors[8])
a18.BrickColor = BrickColor.new(colors[9])
a19.BrickColor = BrickColor.new(colors[10])
a20.BrickColor = BrickColor.new(colors[1])
a21.BrickColor = BrickColor.new(colors[2])
a22.BrickColor = BrickColor.new(colors[3])
a23.BrickColor = BrickColor.new(colors[4])
a24.BrickColor = BrickColor.new(colors[5])
a25.BrickColor = BrickColor.new(colors[6])
a26.BrickColor = BrickColor.new(colors[7])
a27.BrickColor = BrickColor.new(colors[8])
a28.BrickColor = BrickColor.new(colors[9])
a29.BrickColor = BrickColor.new(colors[10])
a30.BrickColor = BrickColor.new(colors[1])
a31.BrickColor = BrickColor.new(colors[2])
a32.BrickColor = BrickColor.new(colors[3])
a33.BrickColor = BrickColor.new(colors[4])
a34.BrickColor = BrickColor.new(colors[5])
a35.BrickColor = BrickColor.new(colors[6])
a36.BrickColor = BrickColor.new(colors[7])
a37.BrickColor = BrickColor.new(colors[8])
a38.BrickColor = BrickColor.new(colors[9])
a39.BrickColor = BrickColor.new(colors[10])
a40.BrickColor = BrickColor.new(colors[1])
wait(t)
a1.BrickColor = BrickColor.new(colors[3])
a2.BrickColor = BrickColor.new(colors[4])
a3.BrickColor = BrickColor.new(colors[5])
a4.BrickColor = BrickColor.new(colors[6])
a5.BrickColor = BrickColor.new(colors[7])
a6.BrickColor = BrickColor.new(colors[8])
a7.BrickColor = BrickColor.new(colors[9])
a8.BrickColor = BrickColor.new(colors[10])
a9.BrickColor = BrickColor.new(colors[1])
a10.BrickColor = BrickColor.new(colors[2])
a11.BrickColor = BrickColor.new(colors[3])
a12.BrickColor = BrickColor.new(colors[4])
a13.BrickColor = BrickColor.new(colors[5])
a14.BrickColor = BrickColor.new(colors[6])
a15.BrickColor = BrickColor.new(colors[7])
a16.BrickColor = BrickColor.new(colors[8])
a17.BrickColor = BrickColor.new(colors[9])
a18.BrickColor = BrickColor.new(colors[10])
a19.BrickColor = BrickColor.new(colors[1])
a20.BrickColor = BrickColor.new(colors[2])
a21.BrickColor = BrickColor.new(colors[3])
a22.BrickColor = BrickColor.new(colors[4])
a23.BrickColor = BrickColor.new(colors[5])
a24.BrickColor = BrickColor.new(colors[6])
a25.BrickColor = BrickColor.new(colors[7])
a26.BrickColor = BrickColor.new(colors[8])
a27.BrickColor = BrickColor.new(colors[9])
a28.BrickColor = BrickColor.new(colors[10])
a29.BrickColor = BrickColor.new(colors[1])
a30.BrickColor = BrickColor.new(colors[2])
a31.BrickColor = BrickColor.new(colors[3])
a32.BrickColor = BrickColor.new(colors[4])
a33.BrickColor = BrickColor.new(colors[5])
a34.BrickColor = BrickColor.new(colors[6])
a35.BrickColor = BrickColor.new(colors[7])
a36.BrickColor = BrickColor.new(colors[8])
a37.BrickColor = BrickColor.new(colors[9])
a38.BrickColor = BrickColor.new(colors[10])
a39.BrickColor = BrickColor.new(colors[1])
a40.BrickColor = BrickColor.new(colors[2])
wait(t)
a1.BrickColor = BrickColor.new(colors[4])
a2.BrickColor = BrickColor.new(colors[5])
a3.BrickColor = BrickColor.new(colors[6])
a4.BrickColor = BrickColor.new(colors[7])
a5.BrickColor = BrickColor.new(colors[8])
a6.BrickColor = BrickColor.new(colors[9])
a7.BrickColor = BrickColor.new(colors[10])
a8.BrickColor = BrickColor.new(colors[1])
a9.BrickColor = BrickColor.new(colors[2])
a10.BrickColor = BrickColor.new(colors[3])
a11.BrickColor = BrickColor.new(colors[4])
a12.BrickColor = BrickColor.new(colors[5])
a13.BrickColor = BrickColor.new(colors[6])
a14.BrickColor = BrickColor.new(colors[7])
a15.BrickColor = BrickColor.new(colors[8])
a16.BrickColor = BrickColor.new(colors[9])
a17.BrickColor = BrickColor.new(colors[10])
a18.BrickColor = BrickColor.new(colors[1])
a19.BrickColor = BrickColor.new(colors[2])
a20.BrickColor = BrickColor.new(colors[3])
a21.BrickColor = BrickColor.new(colors[4])
a22.BrickColor = BrickColor.new(colors[5])
a23.BrickColor = BrickColor.new(colors[6])
a24.BrickColor = BrickColor.new(colors[7])
a25.BrickColor = BrickColor.new(colors[8])
a26.BrickColor = BrickColor.new(colors[9])
a27.BrickColor = BrickColor.new(colors[10])
a28.BrickColor = BrickColor.new(colors[1])
a29.BrickColor = BrickColor.new(colors[2])
a30.BrickColor = BrickColor.new(colors[3])
a31.BrickColor = BrickColor.new(colors[4])
a32.BrickColor = BrickColor.new(colors[5])
a33.BrickColor = BrickColor.new(colors[6])
a34.BrickColor = BrickColor.new(colors[7])
a35.BrickColor = BrickColor.new(colors[8])
a36.BrickColor = BrickColor.new(colors[9])
a37.BrickColor = BrickColor.new(colors[10])
a38.BrickColor = BrickColor.new(colors[1])
a39.BrickColor = BrickColor.new(colors[2])
a40.BrickColor = BrickColor.new(colors[3])
end
here's the solved script
local colors = {}
colors[1] = "Deep orange"
colors[2] = "New Yeller"
colors[3] = "Br. yellowish green"
colors[4] = "Lime green"
colors[5] = "Shamrock"
colors[6] = "Cyan"
colors[7] = "Dark indigo"
colors[8] = "Royal purple"
colors[9] = "Eggplant"
colors[10] = "Really red"
local parts = {} -- start with an empty list
-- Fill the empty list:
for i = 1, 40 do
parts[i] = script.Parent["a" .. i]
end
while wait(1) do
for t = 0, #colors - 1 do
-- advance by `t` colors:
for i, part in pairs(parts) do
local color = (i + t) % 10
if color == 0 then
color = 10
end
part.BrickColor = BrickColor.new(colors[color])
end
wait(1)
end
end

1 comment
great. this works :) thx for the fast response