← Все практические скрипты
Двери и переключатели · Уверенный · 35 мин

Автоматические ворота: датчик движения

Ворота открываются, когда игрок приближается, и закрываются после ухода.

Иллюстрация: Автоматические ворота: датчик движения
🎯 Что получится

Ворота обнаруживают ближайшего игрока, плавно поднимаются и затем опускаются.

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

Где разместить: Соберите объекты по схеме Explorer ниже.

Структура в Explorer
Workspace
  AutoGate (Part)
    GateServer (Script)
  1. Сделайте AutoGate закреплённой деталью (Anchored=true).
  2. Разместите ворота так, чтобы при движении вверх они освобождали проход.
  3. Вставьте Script внутрь AutoGate и нажмите Play.

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

Script
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local gate = script.Parent
local CLOSED = gate.CFrame
local OPEN = CLOSED * CFrame.new(0, gate.Size.Y + 1, 0)
local DISTANCE = 12
local OPEN_TIME = 0.7
local state = false
local activeTween

local function setOpen(shouldOpen)
    if state == shouldOpen then return end
    state = shouldOpen
    if activeTween then activeTween:Cancel() end
    activeTween = TweenService:Create(gate, TweenInfo.new(OPEN_TIME), {
        CFrame = shouldOpen and OPEN or CLOSED
    })
    activeTween:Play()
end

while gate.Parent do
    local nearby = false
    for _, player in ipairs(Players:GetPlayers()) do
        local character = player.Character
        local root = character and character:FindFirstChild("HumanoidRootPart")
        local humanoid = character and character:FindFirstChildOfClass("Humanoid")
        if root and humanoid and humanoid.Health > 0
            and (root.Position - CLOSED.Position).Magnitude <= DISTANCE then
            nearby = true
            break
        end
    end
    setOpen(nearby)
    task.wait(0.2)
end

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

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

Ваш прогресс

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

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

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

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

Измените DISTANCE на 18.

2. Улучшите

Добавьте подсветку ворот при открытии.

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

Постройте вход на секретную базу с двумя автоматическими воротами.

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

Как скрипт определяет, что игрок рядом?

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

Ворота должны иметь Anchored=true. Проверьте, что рядом есть живой персонаж и проход свободен над воротами.