Прежде всего, вы пытаетесь сослаться на CoreGui, который предназначен исключительно для стандартных графических интерфейсов Roblox.Любые пользовательские графические интерфейсы будут в PlayerGui каждого игрока.На это ссылается, делая game.Players.LocalPlayer.PlayerGui.Стоит отметить, что для чего-либо на стороне клиента (например, GUI) вы должны проверить, существуют ли объекты, прежде чем пытаться их использовать.Это делается с помощью функции parent: FindFirstChild (name) или parent: WaitForChild (name).
Во-вторых, вы используете "do-end" -блок внутри вашего условного оператора.Блок "do-end" требует завершения.Вам также не нужен этот блок, поэтому я предлагаю удалить его.Если мы добавим конец к правильному расположению в вашем коде, мы получим это:
if CONDITION then
do
-- stuff
end -- you're missing this end
elseif CONDITION2 then
do
end -- you're also missing this end
end
Из-за пропущенных концов ваш код интерпретируется следующим образом:
if CONDITION then
do
elseif CONDITION2 then
do
end
Как вывидите, "elseif" появляется внутри блока do внутри первого if, а не как elseif для первого if.Вы не можете иметь выражение «elseif» без if, так что вот какие ошибки.
Ваш код в идеале должен выглядеть так:
local Gui = game.Players.LocalPlayer.PlayerGui:WaitForChild("DBXRGUI")
local a1 = Gui.Opener
local a2 = Gui.Menu
if a1 == true then
a1.Visible = false
elseif a2.Visible == true then
a2.Visible = false
end