← Все вопросы

Как сделать телепорт игрока на другую деталь в Roblox?

Задан 9 месяцев назад360 просмотров2 ответа
6

Хочу телепорт: игрок заходит в портал и оказывается в другой части карты. Как переместить персонажа из кода на нужную позицию?

2 ответа

9
✓ Принятый ответ — помог автору

Телепорт = перемещение HumanoidRootPart персонажа в нужную точку. Удобнее всего телепортировать на позицию другой детали:

local portal = workspace.Portal
local destination = workspace.Destination  -- куда телепортируем

portal.Touched:Connect(function(hit)
    local char = hit.Parent
    local root = char:FindFirstChild("HumanoidRootPart")
    if root then
        root.CFrame = destination.CFrame + Vector3.new(0, 3, 0)
    end
end)

Ключевое:

  • Двигаем HumanoidRootPart — это "корень" персонажа.
  • Используем CFrame, а не Position (CFrame хранит и положение, и поворот, телепорт получается надёжнее).
  • + Vector3.new(0, 3, 0) — приподнять чуть выше, чтобы не застрять в полу.
3

Чтобы игрок не телепортировался бесконечно туда-обратно (портал у точки прибытия снова его ловит), ставь точку назначения подальше или добавь короткий кулдаун через task.wait() и флаг.

Ваш ответ

Войдите, чтобы ответить на вопрос.