/ / „próba indeksowania pola„ Kolory ”(wartość zero)„ Podczas uzyskiwania dostępu do tablicy w LUA - tablice, lua, null, roblox

"próba indeksowania pola" Kolory "(wartość zerowa)" Podczas uzyskiwania dostępu do tablicy w LUA - tablice, lua, null, roblox

Postanowiłem więc spróbować odebrać LUA dla roblox JUST, gdy umiera forums.roblox.com, jeśli jest lepsze miejsce, by zapytać, proszę dać mi znać.

W każdym razie próbuję zrobić blok losowozmieniać między kilkoma predefiniowanymi kolorami. Próbuję to zrobić, tworząc tablicę z kolorami, a następnie za pomocą math.random wybierz lokalizację w tablicy, aby ustawić ją jako kolor, wszystko w ciągu 1 == 1 pętli, która powtarza się co 1 sekundę.

Oto mój kod

Colors = {"Red", "Orange", "Yellow", "Camo", "Blue", "Pink", "Purple"}

while(1 == 1)
do
script.Parent.BrickColor = BrickColor.Colors[math.random(1,7)]
wait(1)
end

Ilekroć go uruchamiam, pojawia się błąd „Workspace.Part.Script: 5: próba indeksowania pola„ Kolory ”(wartość zero)

Ale jeśli spróbuję

Colors = {"Red", "Orange", "Yellow", "Camo", "Blue", "Pink", "Purple"}

while(1 == 1)
do
--script.Parent.BrickColor = BrickColor.Colors[math.random(1,7)]
Colors[math.random(1,7)]
wait(1)
end

wydrukuje jeden z kolorów raz na sekundę.

Tak jak powiedziałem, właśnie zaczynam, więc może to być coś głupiego.

Odpowiedzi:

0 dla odpowiedzi № 1

script.Parent.BrickColor = BrickColor.Colors [math.random (1,7)]

Odwołujesz się do pola Colors w BrickColor, podczas gdy powinieneś po prostu odwoływać się do zmiennej Colors utworzyłeś wcześniej:

script.Parent.BrickColor = Colors[math.random(1,7)]

0 dla odpowiedzi nr 2

Ok, więc po wypróbowaniu sugestii Paula, aby zmienić linię koloru cegły na

script.Parent.BrickColor = Colors[math.random(1,7)]

Mam błąd

bad argument #3 to "BrickColor" (BrickColor expected, got string)

po kilku dalszych poszukiwaniach dowiedziałem się, że muszę zmienić BrickColor.new (kolor). Tak wyglądał kod na końcu

Colors = {"Red", "Orange", "Yellow", "Camo", "Blue", "Pink", "Purple"}

while(1 == 1)
do
script.Parent.BrickColor = BrickColor.new(Colors[math.random(1,7)])
wait(1)
end