← Все практические скрипты
Порталы · Уверенный · 30 мин

Порталы в три зоны с защитой от повторов

Три портала переносят игрока к трём точкам.

Иллюстрация: Порталы в три зоны с защитой от повторов
🎯 Что получится

Каждый портал переносит игрока к своей точке назначения.

1. Подготовьте объект

Где разместить: Создайте объекты точно по схеме в инструкции.

Workspace
Portals (Folder)
Portal1 (Part)
Portal2 (Part)
Portal3 (Part)
Destinations (Folder)
Point1 (Part)
Point2 (Part)
Point3 (Part)
ServerScriptService
PortalController (Script)
Все детали Anchored=true. Порталы CanTouch=true. Точки назначения разместите на безопасной земле. Создайте Script в ServerScriptService.

2. Вставьте код

Script / LocalScript
local Players = game:GetService("Players")
local portals = workspace:WaitForChild("Portals")
local destinations = workspace:WaitForChild("Destinations")
local lastUse = {}
for n = 1, 3 do
    local portal = portals:WaitForChild("Portal" .. n)
    local point = destinations:WaitForChild("Point" .. n)
    portal.Touched:Connect(function(hit)
        local character = hit:FindFirstAncestorOfClass("Model")
        local player = character and Players:GetPlayerFromCharacter(character)
        if not player or not character:FindFirstChild("HumanoidRootPart") then return end
        local now = os.clock()
        if now < (lastUse[player] or 0) then return end
        lastUse[player] = now + 2
        character:PivotTo(point.CFrame + Vector3.new(0, 4, 0))
    end)
end
Players.PlayerRemoving:Connect(function(player) lastUse[player] = nil end)

3. Проверьте в игре

Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.

Ваш прогресс

Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.

Если объединяете несколько скриптов

Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.

⭐ Три шага к собственной игре
1. Повторите и измените

Сделайте ещё одну пару, увеличив цикл до четырёх.

2. Улучшите

Украсьте порталы разными цветами.

3. Придумайте своё

Создайте карту с тремя мирами.

4. Проверьте себя

Зачем нужна таблица lastUse?

🛠 Если не работает

Точки Point1–Point3 должны быть в безопасных местах, иначе персонаж может застрять в стене.