Случайный портал в три места
Каждое касание отправляет игрока в одну из трёх точек назначения.
Игрок оказывается в одной из трёх случайных точек.
1. Подготовьте объект
Где разместить: Обычный Script в ServerScriptService
В Workspace создайте PortalRandom и три Anchored Part с именами Destination1, Destination2, Destination3.
Портал сделайте CanCollide = false, а точки назначения установите на безопасной высоте.
В ServerScriptService создайте Script и вставьте код.
2. Вставьте код
local portal = workspace:WaitForChild("PortalRandom")
local points = {
workspace:WaitForChild("Destination1"),
workspace:WaitForChild("Destination2"),
workspace:WaitForChild("Destination3")
}
local rng = Random.new()
local cooldown = {}
portal.Touched:Connect(function(hit)
local character = hit:FindFirstAncestorOfClass("Model")
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
if not humanoid or humanoid.Health <= 0 or cooldown[character] then return end
cooldown[character] = true
local destination = points[rng:NextInteger(1, #points)]
character:PivotTo(destination.CFrame + Vector3.new(0, 5, 0))
task.delay(2, function() cooldown[character] = nil end)
end)
3. Проверьте в игре
Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.
Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.
Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.
Добавьте четвёртую точку Destination4 в таблицу.
Оформите три разные биом-зоны.
Создайте игру «Загадочный портал»: игрок не знает, куда попадёт.
4. Проверьте себя
Почему после каждого касания портал может вести в разные места?
Названия Destination1–3 должны совпадать. Точки назначения не должны находиться внутри стены.