← Все практические скрипты
Мини-проекты · Уверенный · 30 мин

Мини-проект: платная дверь

Соберите монеты и откройте дверь за установленную цену.

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

Игрок платит 20 Coins, после чего общая дверь открывается на пять секунд для всех игроков.

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

Где разместить: Несколько скриптов — смотрите инструкцию и отдельные блоки кода

Используйте ТОЛЬКО ОДИН скрипт, создающий leaderstats.Coins: например урок «Сохранение монет». Не устанавливайте второй такой скрипт.
В Workspace создайте Part PayGate, установите Anchored=true и CanCollide=true; вставьте обычный Script из блока ниже непосредственно в PayGate.
Для получения Coins используйте урок «Монетка» или «Сундук с сокровищами».
Игрок подходит к PayGate и нажимает E. Цена списывается только при наличии нужного количества монет.

Карта файлов в Explorer

Это пути для скриптов из блоков кода ниже. Остальные объекты создайте по инструкции.

└── Workspace
    └── PayGate
        └── GateScript (Script)

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

Workspace/PayGate/GateScript (Script)
local gate = script.Parent
local PRICE = 20
local OPEN_SECONDS = 5
local prompt = Instance.new("ProximityPrompt")
prompt.ActionText = "Пройти за " .. PRICE .. " монет"
prompt.ObjectText = "Платная дверь"
prompt.MaxActivationDistance = 9
prompt.Parent = gate
-- В учебной версии дверь открывается для ВСЕХ игроков на 5 секунд.
local busy = false
prompt.Triggered:Connect(function(player)
    if busy then return end
    local stats = player:FindFirstChild("leaderstats")
    local coins = stats and stats:FindFirstChild("Coins")
    if not coins or coins.Value < PRICE then return end
    busy = true
    coins.Value -= PRICE
    prompt.Enabled = false
    gate.CanCollide = false
    gate.Transparency = 0.7
    task.wait(OPEN_SECONDS)
    gate.CanCollide = true
    gate.Transparency = 0
    prompt.Enabled = true
    busy = false
end)

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

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

Ваш прогресс

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

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

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

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

Поменяйте цену на 10 монет.

2. Улучшите

Сделайте две двери с ценой 10 и 50 монет.

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

Соберите лабиринт с разными платными проходами.

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

Что нужно проверить до списания монет за дверь?

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

Дверь открывается для всех игроков на время, а не индивидуально. Монеты должны создаваться одним серверным скриптом leaderstats.Coins.