Блог школы Роблоппа — Роблокс Студио, обучение, познавательные статьи и новости школы

Как работают условные операторы if и else в Роблокс Студио

Документация
При создании игр в Роблокс Студио важно уметь проверять условия: например, «если игрок касается ловушки — нанести урон», или «если кнопка нажата — открыть дверь».
Для этого в языке Lua используются условные операторы — if, then, else, elseif и end.
Они позволяют программе принимать решения.

🧩 Что делает оператор if

Оператор if проверяет условие.
Если оно истинно (true) — выполняется код внутри блока.
Если ложно (false) — этот код пропускается.
Пример:
local health = 50

if health < 100 then
print("Игрок ранен!")
end
💡 В Output появится сообщение «Игрок ранен!», потому что условие health < 100 — верно.

🔹 Добавляем else

Иногда нужно выполнить другое действие, если условие не выполнено.
Для этого используется else:
local health = 100

if health < 100 then
print("Игрок ранен!")
else
print("Игрок здоров!")
end
🧠 Пояснение:
  • Если health < 100, срабатывает первая строка.
  • Если нет — выполняется то, что находится после else.

🔹 Несколько условий: elseif

Можно проверить несколько разных случаев подряд с помощью elseif.
local health = 70

if health <= 0 then
print("Игрок проиграл!")
elseif health < 100 then
print("Игрок ранен!")
else
print("Игрок здоров!")
end
🔍 В этом примере программа проверяет все условия по порядку, пока не найдёт подходящее.

💡 Применение в Роблокс Студио

Вот несколько реальных примеров, где if-else используется в играх:

1️⃣ Проверка касания ловушки

script.Parent.Touched:Connect(function(hit)
local humanoid = hit.Parent:FindFirstChild("Humanoid")
if humanoid then
humanoid:TakeDamage(20)
print("Игрок получил урон!")
else
print("Касание не игроком")
end
end)
✅ Если объект касается ловушки и у него есть Humanoid, скрипт наносит урон.

2️⃣ Проверка очков игрока

local points = 50

if points >= 100 then
print("Переход на следующий уровень!")
else
print("Нужно больше очков!")
end

3️⃣ Проверка состояния кнопки

local button = script.Parent
local door = workspace.Door

button.ClickDetector.MouseClick:Connect(function()
if door.CanCollide == false then
door.CanCollide = true
door.Transparency = 0
else
door.CanCollide = false
door.Transparency = 0.5
end
end)
💡 При каждом клике дверь открывается или закрывается — в зависимости от состояния.

📚 Итог

Операторы if, elseif и else — это основа логики в скриптах Роблокс Студио.
Они позволяют управлять поведением объектов, проверять состояния и создавать интерактивные события.

📦 Полезные ссылки

🚀 Хочешь научиться писать свои скрипты с нуля?

Запишись на обучение по Роблокс Студио на сайте roblo.ru
Ты узнаешь, как создавать игры, интерфейсы и программировать события — шаг за шагом!
Made on
Tilda