Умнея есть объект (lamp) и кнопка при нажатии на которую изменяется материал, и он действительно изменяется но если я пишу что если он другого материла то изменится на другой. Код какбуто бы не видет else.
local ffg = workspace.lamp
local function hhg ()
ffg.Material = "Neon"
end
local function hgg ()
ffg.Material = "Marble"
end
if ffg.Material ~= "Neon" then
script.Parent.ClickDetector.MouseClick:Connect(hhg)
else
script.Parent.ClickDetector.MouseClick:Connect(hgg)
end
Другие языки программирования и технологии
Программирование в roblox studio (lua)
Ваш код выглядит правильным, но проблема может быть в том, что условие if ffg.Material ~= "Neon" проверяется только один раз, когда скрипт запускается. После этого, если материал объекта ffg изменяется, условие не будет проверяться снова.
Чтобы решить эту проблему, вы можете переместить условие внутрь функции обработчика событий MouseClick. Например:
Чтобы решить эту проблему, вы можете переместить условие внутрь функции обработчика событий MouseClick. Например:
local ffg = workspace.lamp
local function toggleMaterial()
if ffg.Material ~= Enum.Material.Neon then
ffg.Material = Enum.Material.Neon
else
ffg.Material = Enum.Material.Marble
end
end
script.Parent.ClickDetector.MouseClick:Connect(toggleMaterial)
В этом примере, каждый раз, когда пользователь нажимает на кнопку, функция toggleMaterial вызывается и проверяет текущий материал объекта ffg. Если он не равен Neon, то он устанавливается в Neon, иначе он устанавливается в Marble. Таким образом, каждый раз, когда пользователь нажимает на кнопку, материал объекта ffg будет меняться между Neon и Marble.
Евгений Ивкин
чел ты лучший спасибо
Зачем у тебя локал в функциях? +я тебе объясню ща
Заместо script.Parent.ClickDetector.MouseClick:Connect(hhg) пиши hhg() или hgg()
По вопросам в комменты пиши.
Евгений Ивкин
ты имеешь виду впихнуть клик на кнопу в функцию?
Не знаю сработает ли но вот что Нейросеть сказал
Проблема в вашем коде возникает из-за способа, которым вы проверяете текущий материал и привязываете функции к событию MouseClick. Ваш код, на самом деле, всегда будет изменять материал на "Neon" вне зависимости от текущего материала объекта "lamp". Это происходит потому, что ваша проверка if всегда вернет true.
Вместо этого вы можете использовать следующий код, чтобы правильно менять материал в зависимости от текущего состояния:
lua
local ffg = workspace.lamp
local function toggleMaterial()
if ffg.Material == "Neon" then
ffg.Material = "Marble"
else
ffg.Material = "Neon"
end
end
script.Parent.ClickDetector.MouseClick:Connect(toggleMaterial)
Этот код определяет функцию toggleMaterial, которая проверяет текущий материал объекта "lamp". Если материал равен "Neon", функция изменяет его на "Marble", и наоборот. Затем эта функция привязывается к событию MouseClick кнопки, чтобы изменять материал каждый раз при нажатии. Этот код будет корректно переключать материал объекта "lamp" между "Neon" и "Marble".
Проблема в вашем коде возникает из-за способа, которым вы проверяете текущий материал и привязываете функции к событию MouseClick. Ваш код, на самом деле, всегда будет изменять материал на "Neon" вне зависимости от текущего материала объекта "lamp". Это происходит потому, что ваша проверка if всегда вернет true.
Вместо этого вы можете использовать следующий код, чтобы правильно менять материал в зависимости от текущего состояния:
lua
local ffg = workspace.lamp
local function toggleMaterial()
if ffg.Material == "Neon" then
ffg.Material = "Marble"
else
ffg.Material = "Neon"
end
end
script.Parent.ClickDetector.MouseClick:Connect(toggleMaterial)
Этот код определяет функцию toggleMaterial, которая проверяет текущий материал объекта "lamp". Если материал равен "Neon", функция изменяет его на "Marble", и наоборот. Затем эта функция привязывается к событию MouseClick кнопки, чтобы изменять материал каждый раз при нажатии. Этот код будет корректно переключать материал объекта "lamp" между "Neon" и "Marble".
Евгений Ивкин
Выглядит идеально но вот игра думает иначе. Игра какбуто не хочет видеть else и код не работает полностью. Может мне нужен какой-то цикл
Похожие вопросы
- Программирование в Roblox Studio (Активация на клавишу)
- Дверь в Roblox Studio
- Что обозначает "for i, in ipairs()" в Roblox Studio?
- Roblox Studio ошибка
- Как сохранить скорость игрока в своей игре roblox studio
- Roblox Studio сломался лидер статс
- Как сделать чтобы за убийство нпс давали деньги в Roblox Studio
- Блок Бессметрия Roblox Studio
- Roblox Studio Скрипт на выдачу игроку рандомные 2 оружия пистолет и винтовка
- Как добавить валюту в Roblox Studio