Цель урока
Перемещай кабину лифта между двумя отметками по запросу игрока.
Подготовка в Explorer
Part Elevator (Anchored=true) → Script; Parts Floor1 и Floor2 в Workspace; ProximityPrompt в Elevator
Пошаговая практика
- Создай объекты, соблюдая имена из схемы подготовки.
- Добавь обычный Script в указанный объект и вставь код.
- Нажми Play, открой Output и проверь поведение в одиночной игре.
- Проверь повторное взаимодействие и исправь ошибки в именах или структуре.
Пример Luau
local TweenService = game:GetService("TweenService")
local lift = script.Parent
local prompt = lift:WaitForChild("ProximityPrompt")
local floor1 = workspace:WaitForChild("Floor1")
local floor2 = workspace:WaitForChild("Floor2")
local atTop, moving = false, false
prompt.Triggered:Connect(function(player)
if moving then return end
moving = true
local destination = atTop and floor1 or floor2
local tween = TweenService:Create(lift, TweenInfo.new(4, Enum.EasingStyle.Sine), {CFrame = destination.CFrame})
tween:Play()
tween.Completed:Wait()
atTop = not atTop
moving = false
end)Что должно получиться
Платформа сама перемещается между двумя метками за четыре секунды.
Если не работает
TweenService двигает закреплённую деталь, но это НЕ гарантирует перевозку стоящего на ней персонажа. Для пассажирского лифта нужна отдельная механика.
Задание со звёздочкой
Сначала сделай визуальный лифт; затем придумай безопасную транспортировку пассажира и проверь с двумя игроками.
Покажи преподавателю
Продемонстрируй механику в Play, объясни, какая часть кода запускает действие, и покажи Output без ошибок.
Материал перед публикацией нуждается в проверке в Roblox Studio и учебных скриншотах.
