← Все практические скрипты
Персонаж · Начинающий · 10 мин

Ускорение при касании

Сделайте блок, который ускоряет персонажа на несколько секунд.

Иллюстрация: Ускорение при касании
🎯 Что получится

Персонаж ускорится на 5 секунд, затем вернётся к своей прежней скорости.

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

Где разместить: Script внутри Part (блока ускорения)

Создайте Part SpeedPad и установите Anchored = true, CanTouch = true. Добавьте внутрь обычный Script и вставьте код.
В Play коснитесь платформы: скорость временно станет 32, затем вернётся к предыдущему значению.
Важно: это учебный локальный эффект на Humanoid. Если объединяете несколько ускорений, спринт и замедление, сделайте единый контроллер скорости, иначе эффекты могут перекрывать друг друга.

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

Script
-- Script внутри SpeedPad (Part)
local pad = script.Parent
local BOOST_SPEED = 32
local DURATION = 5
local active = {}

pad.Touched:Connect(function(hit)
    local character = hit:FindFirstAncestorOfClass("Model")
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid or humanoid.Health <= 0 or active[humanoid] then return end
    active[humanoid] = true
    local previous = humanoid.WalkSpeed
    humanoid.WalkSpeed = BOOST_SPEED
    task.delay(DURATION, function()
        -- Не отменяем скорость, которую уже установила другая механика.
        if humanoid.Parent and math.abs(humanoid.WalkSpeed - BOOST_SPEED) < 0.01 then
            humanoid.WalkSpeed = previous
        end
        active[humanoid] = nil
    end)
end)

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

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

Ваш прогресс

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

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

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

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

Измените BOOST_SPEED с 32 на 50 и DURATION с 5 на 10.

2. Улучшите

Измените внешний вид игрового объекта и добавьте рядом второй экземпляр с другими настройками.

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

Придумайте мини-уровень, в котором эта механика помогает игроку достичь цели.

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

Какое свойство Humanoid меняет скорость ходьбы персонажа?

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

Проверьте CanTouch у платформы, обычный Script внутри Part и наличие Humanoid у персонажа. Если скорость не восстанавливается, другой скрипт мог изменить WalkSpeed во время ускорения — это ожидаемая защита от перезаписи чужого эффекта.