Ключ и дверь с кнопкой E
Подберите ключ, затем откройте им запертую дверь.
Игрок получает ключ при касании предмета; только владелец ключа может открыть дверь.
1. Подготовьте объект
Где разместить: Обычный Script в ServerScriptService
В Workspace создайте Part KeyPickup и Part LockedDoor (Anchored = true).
Внутрь LockedDoor добавьте ProximityPrompt, установите ActionText = Открыть и KeyboardKeyCode = E.
Создайте обычный Script в ServerScriptService.
2. Вставьте код
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, прыжок или освещение, могут влиять друг на друга.
Измените время открытия двери с 5 на 10 секунд.
Создайте помещение с секретным ключом.
Постройте мини-квест с подсказками, где найти ключ.
4. Проверьте себя
Что должен проверить скрипт перед открытием двери?
Игрок подбирает ключ касанием. ProximityPrompt должен находиться внутри LockedDoor. Дверь общая для всех игроков.