Roblox Error: Expected ')' to close '(' at column 3), got '='
Roblox Error: Expected ')' to close '(' at column 3), got '='
嗨,我是 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 列的第一个 =,当我使用 '==' 而不是 '=' 时,整行变成错误
试试这个:
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
是一个期望 conditions 左右的运算符。
你的程序是这样的形式
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 == true then ... end
更好=30=].
嗨,我是 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 列的第一个 =,当我使用 '==' 而不是 '=' 时,整行变成错误
试试这个:
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
是一个期望 conditions 左右的运算符。
你的程序是这样的形式
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 == true then ... end
更好=30=].