Магазин: купить ускорение за монеты
Покупка ускорения по E — первый шаг к игровой экономике.
Если у игрока 5 монет, магазин списывает их и ускоряет персонажа на 10 секунд. Покупки не сохраняются.
1. Подготовьте объект
Где разместить: Script внутри Part с именем SpeedShop; внутри него ProximityPrompt
Создайте Part ShopPart, добавьте ProximityPrompt и обычный Script. Вставьте код в Script. В игре должна быть одна система leaderstats.Coins, например из практики «Сохранение монет».
Игрок подходит к магазину, нажимает E и платит 5 монет за ускорение на 10 секунд. Повторная покупка во время действия бонуса запрещена.
Если другие скрипты управляют скоростью, рекомендуется единый контроллер эффектов. Этот пример не перезаписывает скорость, изменённую другой механикой после покупки.
2. Вставьте код
-- Script внутри ShopPart с ProximityPrompt
local shop = script.Parent
local prompt = shop:WaitForChild("ProximityPrompt")
local PRICE = 5
local BOOST_SPEED = 36
local DURATION = 10
local active = {}
prompt.Triggered:Connect(function(player)
local character = player.Character
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
local stats = player:FindFirstChild("leaderstats")
local coins = stats and stats:FindFirstChild("Coins")
if not humanoid or humanoid.Health <= 0 or not coins or coins.Value < PRICE or active[player] then return end
active[player] = true
coins.Value -= PRICE
local previous = humanoid.WalkSpeed
humanoid.WalkSpeed = BOOST_SPEED
task.delay(DURATION, function()
-- Не стираем скорость, установленную другой игровой механикой.
if humanoid.Parent and humanoid.Health > 0 and math.abs(humanoid.WalkSpeed - BOOST_SPEED) < 0.01 then
humanoid.WalkSpeed = previous
end
active[player] = nil
end)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
active[player] = nil
end)3. Проверьте в игре
Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.
Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.
Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.
Измените PRICE на 3.
Измените BOOST_SPEED на 40.
Разместите две торговые точки и придумайте разные цены на ускорение.
4. Проверьте себя
Что нужно проверить перед покупкой ускорения?
Если покупка не происходит, проверьте ProximityPrompt, наличие leaderstats.Coins и минимум 5 монет. Если скорость после бонуса не вернулась, другая механика изменила WalkSpeed — код специально не перезаписывает её значение.