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

Ключ и дверь с кнопкой E

Подберите ключ, затем откройте им запертую дверь.

Иллюстрация: Ключ и дверь с кнопкой E
🎯 Что получится

Игрок получает ключ при касании предмета; только владелец ключа может открыть дверь.

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

Где разместить: Обычный Script в ServerScriptService

В Workspace создайте Part KeyPickup и Part LockedDoor (Anchored = true).
Внутрь LockedDoor добавьте ProximityPrompt, установите ActionText = Открыть и KeyboardKeyCode = E.
Создайте обычный Script в ServerScriptService.

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

Script
local Players = game:GetService("Players")
local key = workspace:WaitForChild("KeyPickup")
local door = workspace:WaitForChild("LockedDoor")
local prompt = door:WaitForChild("ProximityPrompt")
local opened = false
local keyAvailable = true
key.Touched:Connect(function(hit)
    if not keyAvailable then return end
    local character = hit:FindFirstAncestorOfClass("Model")
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    local player = character and Players:GetPlayerFromCharacter(character)
    if not player or not humanoid or humanoid.Health <= 0 then return end
    player:SetAttribute("IgroHasKey", true)
    keyAvailable = false
    key.Transparency = 1
    key.CanTouch = false
    task.delay(5, function()
        if key.Parent then
            key.Transparency = 0
            key.CanTouch = true
            keyAvailable = true
        end
    end)
end)
prompt.Triggered:Connect(function(player)
    if opened or not player:GetAttribute("IgroHasKey") then return end
    opened = true
    player:SetAttribute("IgroHasKey", false)
    door.Transparency = 0.75
    door.CanCollide = false
    prompt.Enabled = false
    task.delay(5, function()
        if door.Parent then
            door.Transparency = 0
            door.CanCollide = true
            prompt.Enabled = true
            opened = false
        end
    end)
end)

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

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

Ваш прогресс

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

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

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

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

Измените время открытия двери с 5 на 10 секунд.

2. Улучшите

Создайте помещение с секретным ключом.

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

Постройте мини-квест с подсказками, где найти ключ.

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

Что должен проверить скрипт перед открытием двери?

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

Игрок подбирает ключ касанием. ProximityPrompt должен находиться внутри LockedDoor. Дверь общая для всех игроков.