Roblox · Дополнительное
Две светящиеся площадки. Встал на одну — оказался над другой. Чтобы не перебрасывало туда-сюда без конца, после прибытия телепорт 2 секунды не срабатывает для этого персонажа.
Синим — что нужно создать.
Workspace └─ Teleporter (Model) ├─ PadA (Part) — Anchored, Material Neon ├─ PadB (Part) — Anchored, Material Neon — в другом месте карты └─ TeleportServer (Script)
Где: Workspace → Teleporter · Script
Зачем: Переносит персонажа с одной площадки на другую и обратно.
-- модель с двумя площадками
local teleporter = script.Parent
-- первая площадка
local padA = teleporter:WaitForChild("PadA")
-- вторая площадка
local padB = teleporter:WaitForChild("PadB")
-- секунд, пока телепорт не сработает снова для того же персонажа
local COOLDOWN = 2
-- встал на from — окажешься на to
local function Link(from, to)
-- на площадку что-то наступило
from.Touched:Connect(function(otherPart)
-- модель, которой принадлежит деталь
local model = otherPart:FindFirstAncestorOfClass("Model")
-- живая?
local humanoid = model and model:FindFirstChildOfClass("Humanoid")
-- не живая — пропускаем
if not humanoid or humanoid.Health <= 0 then return end
-- когда этот персонаж телепортировался в прошлый раз
local last = model:GetAttribute("TeleportedAt") or 0
-- только что прибыл — обратно не отправляем
if os.clock() - last < COOLDOWN then return end
-- запоминаем время
model:SetAttribute("TeleportedAt", os.clock())
-- переносим весь персонаж на 4 studs выше второй площадки
model:PivotTo(to.CFrame + Vector3.new(0, 4, 0))
-- конец обработчика
end)
-- конец функции
end
-- A → B
Link(padA, padB)
-- B → A
Link(padB, padA)Запусти Play (или Run) и убедись: