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 № 1script.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