Цель урока
Предупреди игрока жёлтым цветом, затем нанеси умеренный урон.
Подготовка в Explorer
Part Trap (Anchored=true) → Script; цвет по умолчанию зелёный
Пошаговая практика
- Создай объекты, соблюдая имена из схемы подготовки.
- Добавь обычный Script в указанный объект и вставь код.
- Нажми Play, открой Output и проверь поведение в одиночной игре.
- Проверь повторное взаимодействие и исправь ошибки в именах или структуре.
Пример Luau
local trap = script.Parent
local busy = false
local readyColor = trap.Color
trap.Touched:Connect(function(hit)
local model = hit:FindFirstAncestorOfClass("Model")
local humanoid = model and model:FindFirstChildOfClass("Humanoid")
if not humanoid or humanoid.Health <= 0 or busy then return end
busy = true
trap.Color = Color3.fromRGB(255, 200, 0)
task.wait(1)
if humanoid.Parent and humanoid.Health > 0 then
humanoid:TakeDamage(15)
end
trap.Color = Color3.fromRGB(230, 65, 65)
task.wait(2)
trap.Color = readyColor
busy = false
end)Что должно получиться
При касании ловушка желтеет, через секунду наносит 15 урона и возвращается в исходное состояние.
Если не работает
Если персонаж успел уйти, базовый учебный вариант всё равно наносит урон — это повод обсудить проверку нахождения в зоне.
Задание со звёздочкой
Усложни ловушку: повторно проверь расстояние игрока до детали перед уроном.
Покажи преподавателю
Продемонстрируй механику в Play, объясни, какая часть кода запускает действие, и покажи Output без ошибок.
Материал перед публикацией нуждается в проверке в Roblox Studio и учебных скриншотах.
