Автоматические ворота: датчик движения
Ворота открываются, когда игрок приближается, и закрываются после ухода.
Ворота обнаруживают ближайшего игрока, плавно поднимаются и затем опускаются.
1. Подготовьте объект
Где разместить: Соберите объекты по схеме Explorer ниже.
Workspace
AutoGate (Part)
GateServer (Script)- Сделайте AutoGate закреплённой деталью (Anchored=true).
- Разместите ворота так, чтобы при движении вверх они освобождали проход.
- Вставьте Script внутрь AutoGate и нажмите Play.
2. Вставьте код
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)
end3. Проверьте в игре
Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.
Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.
Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.
Измените DISTANCE на 18.
Добавьте подсветку ворот при открытии.
Постройте вход на секретную базу с двумя автоматическими воротами.
4. Проверьте себя
Как скрипт определяет, что игрок рядом?
Ворота должны иметь Anchored=true. Проверьте, что рядом есть живой персонаж и проход свободен над воротами.