Roblox · Дополнительное
Ряд платформ над пропастью: наступил — платформа тает за секунду и пропадает, через 3 секунды возвращается. Один скрипт обслуживает все платформы в папке.
Синим — что нужно создать.
Workspace └─ Disappearing (Folder) ├─ Step1, Step2, … (Part) — Anchored; имена любые └─ DisappearingServer (Script)
Где: Workspace → Disappearing · Script
Зачем: Каждая платформа в папке тает после касания и возвращается.
-- папка с исчезающими платформами
local folder = script.Parent
-- плавные изменения
local TweenService = game:GetService("TweenService")
-- секунд тает после касания
local FADE_TIME = 1
-- секунд её нет
local GONE_TIME = 3
-- включает одну платформу
local function Setup(part)
-- уже исчезает?
local busy = false
-- исходная прозрачность
local startTransparency = part.Transparency
-- на платформу что-то наступило
part.Touched:Connect(function(otherPart)
-- уже исчезает
if busy then return end
-- модель, которой принадлежит деталь
local model = otherPart:FindFirstAncestorOfClass("Model")
-- реагируем только на персонажей
if not (model and model:FindFirstChildOfClass("Humanoid")) then return end
-- начали
busy = true
-- плавно в прозрачность
local fade = TweenService:Create(part, TweenInfo.new(FADE_TIME), {Transparency = 1})
-- тает
fade:Play()
-- растаяла
fade.Completed:Wait()
-- проваливаемся
part.CanCollide = false
-- её нет GONE_TIME секунд
task.wait(GONE_TIME)
-- вернулась
part.Transparency = startTransparency
-- снова твёрдая
part.CanCollide = true
-- готова снова
busy = false
-- конец обработчика
end)
-- конец функции
end
-- всё в папке
for _, part in pairs(folder:GetChildren()) do
-- только парты, сам скрипт пропускаем
if part:IsA("BasePart") then
-- включаем
Setup(part)
-- конец проверки
end
-- конец перебора
endЗапусти Play (или Run) и убедись: