Мини-проект: платная дверь
Соберите монеты и откройте дверь за установленную цену.
Игрок платит 20 Coins, после чего общая дверь открывается на пять секунд для всех игроков.
1. Подготовьте объект
Где разместить: Несколько скриптов — смотрите инструкцию и отдельные блоки кода
Используйте ТОЛЬКО ОДИН скрипт, создающий leaderstats.Coins: например урок «Сохранение монет». Не устанавливайте второй такой скрипт.
В Workspace создайте Part PayGate, установите Anchored=true и CanCollide=true; вставьте обычный Script из блока ниже непосредственно в PayGate.
Для получения Coins используйте урок «Монетка» или «Сундук с сокровищами».
Игрок подходит к PayGate и нажимает E. Цена списывается только при наличии нужного количества монет.
Это пути для скриптов из блоков кода ниже. Остальные объекты создайте по инструкции.
└── Workspace
└── PayGate
└── GateScript (Script)2. Вставьте код
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, прыжок или освещение, могут влиять друг на друга.
Поменяйте цену на 10 монет.
Сделайте две двери с ценой 10 и 50 монет.
Соберите лабиринт с разными платными проходами.
4. Проверьте себя
Что нужно проверить до списания монет за дверь?
Дверь открывается для всех игроков на время, а не индивидуально. Монеты должны создаваться одним серверным скриптом leaderstats.Coins.