Урок Roblox StudioЗанятие 4 / 8

Магический портал

Объединить свет и частицы

Магический портал
Иллюстрация к теме занятия

Цель

Соединить эффект портала с проверенным серверным переносом игрока

Подготовка

Workspace → Portal (Anchored Part, размер 5×8×1, CanCollide=false), Destination (Anchored Part); Portal содержит PointLight, ParticleEmitter и Script.

Пошаговая работа

  1. Укрась Portal свечением и частицами; место назначения установи на открытой площадке.
  2. Добавь серверный Script в Portal и укажи существующий Destination.
  3. В Play коснись портала и убедись, что персонаж перенесён.
  4. Проверь, что при повторном касании нет бесконечной серии телепортов.

Пример Luau

local portal = script.Parent
local destination = workspace:WaitForChild("Destination")
local Players = game:GetService("Players")
local lastUse = {}
portal.Touched:Connect(function(hit)
    local character = hit:FindFirstAncestorOfClass("Model")
    if not character then return end
    local player = Players:GetPlayerFromCharacter(character)
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if not player or not humanoid or humanoid.Health <= 0 then return end
    local now = os.clock()
    if now - (lastUse[player] or -100) < 3 then return end
    lastUse[player] = now
    character:PivotTo(destination.CFrame * CFrame.new(0, 4, 0))
end)
Players.PlayerRemoving:Connect(function(player) lastUse[player] = nil end)

Проверка

Пройди портал, попробуй коснуться его снова сразу и через три секунды.

Игрок перемещается к Destination, а повторные касания в течение трёх секунд игнорируются.

Ошибка и ограничения

Не ставь Destination внутрь второго портала и не размещай его в препятствии. Для других миров нужен отдельный TeleportService.

Усложнение

Создай два портала с разными точками назначения и разными цветами.

Проверь пример в тестовой Roblox Studio перед публикацией. Используй отдельные копии проектов и соблюдай права на аудио и анимации.

Проверь свою работу

Перед тестом убедись, что ты выполнил практику самостоятельно.

Эти отметки — личная памятка, они не влияют на звёзды.

Проверь себя

Ответь на вопросы урока. Успешный тест даёт одну звезду в личном кабинете.

⭐ Проверь свои знания

5 вопросов по теме урока. За 4 правильных ответа получишь звезду. Повторные попытки разрешены.

1. Что должно проверяться на сервере перед телепортацией через портал?
2. Какой метод подходит для переноса всей модели персонажа в заданное положение?
3. Портал многократно срабатывает при одном касании. Что использовать?
4. Как безопаснее выбрать место выхода из портала?
5. Для чего портал может сочетать PointLight и ParticleEmitter?