Ошибка Roblox: ожидается ")" закрыть "(" в столбце 3), получено "="
Привет, я - пользователь Roblox, и я пытаюсь запрограммировать выключатель, который выключает 4 лампы, и у меня возникла ошибка (это в названии)
Используются 2 блока: выключатель Off4 и On4.
Мой код
function OnClicked()
if (workspace.LivingRoomLight.SpotLight.Enabled == true) and (workspace.LivingRoomLight2.SpotLight.Enabled == true) and (workspace.LivingRoomLight3.SpotLight.Enabled == true) and (workspace.LivingRoomLight4.SpotLight.Enabled == true) then
(workspace.LivingRoomLight.SpotLight.Enabled = false) and (workspace.LivingRoomLight2.SpotLight.Enabled == false) and (workspace.LivingRoomLight3.SpotLight.Enabled == false) and (workspace.LivingRoomLight3.SpotLight.Enabled == false)
script.Parent.Transparency = 1
workspace.Off4.Transparency = 0
end
end
script.Parent.ClickDetector.MouseClick:connect(OnClicked)
Другие скрипты (которые работают), которые я использую в тех, которые используют только один свет,
function OnClicked()
if (workspace.Hallwaylight.SpotLight.Enabled == true) then
workspace.Hallwaylight.SpotLight.Enabled = false
script.Parent.Transparency = 1
workspace.Off.Transparency = 0
end
end
script.Parent.ClickDetector.MouseClick:connect(OnClicked)
Примечание: я использую только сценарии on, потому что это единственный, который я отредактировал для сценария с ошибкой. Ошибка в скрипте on - это первый = в столбце 3, и когда я использую '==' вместо '=', тогда вся строка становится ошибкой
1 ответ
Попробуй это:
if (workspace.LivingRoomLight.SpotLight.Enabled == true) and (workspace.LivingRoomLight2.SpotLight.Enabled == true) and (workspace.LivingRoomLight3.SpotLight.Enabled == true) and (workspace.LivingRoomLight4.SpotLight.Enabled == true) then
workspace.LivingRoomLight.SpotLight.Enabled = false
workspace.LivingRoomLight2.SpotLight.Enabled = false
workspace.LivingRoomLight3.SpotLight.Enabled = false
workspace.LivingRoomLight4.SpotLight.Enabled = false
...
Некоторые указатели:
x == y
означает "делаетx
равныйy
?". Это условие (истинное или ложное).x = y
означает "установитьx
вy
". Это утверждение (команда для вашей программы, чтобы изменить значениеx
).and
это оператор, который ожидает условия слева и справа.
Ваша программа имеет вид
if (these four values are true) then
set each of them to false
end
так что тебе нужно and
а также ==
на первой строке, но они не имеют смысла внутри if
- вам нужно четыре простых утверждения, используя =
, там.
Вам не нужно ==
хоть. Сравнение логических значений (например, workspace.LivingRoomLight.SpotLight.Enabled
, которые уже true
или же false
) чтобы true
немного глупо: вместо if x == true then ... end
лучше просто написать if x then ... end
,