← Все практические скрипты
Интерфейс · Начинающий · 25 мин

Полоса здоровья на экране

Настоящий интерфейс здоровья без ручного создания GUI.

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

Полоса здоровья обновляется при уроне и лечении.

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

Где разместить: Отдельные блоки кода: создайте файлы в указанных местах

В StarterPlayer → StarterPlayerScripts создайте LocalScript HealthBarClient и вставьте код.
Запустите Play и проверьте изменение полосы после получения урона.
Индикатор отображает здоровье текущего персонажа. При возрождении автоматически подключается заново.

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

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

└── StarterPlayer
    └── StarterPlayerScripts
        └── HealthBarClient (LocalScript)

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

StarterPlayer/StarterPlayerScripts/HealthBarClient (LocalScript)
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "PracticeHealthBar"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local background = Instance.new("Frame")
background.Size = UDim2.fromOffset(220, 24)
background.Position = UDim2.fromOffset(20, 20)
background.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
background.Parent = gui
local fill = Instance.new("Frame")
fill.Size = UDim2.fromScale(1, 1)
fill.BackgroundColor3 = Color3.fromRGB(61, 210, 105)
fill.BorderSizePixel = 0
fill.Parent = background
local connections = {}
local function connect(character)
    for _, c in ipairs(connections) do c:Disconnect() end
    table.clear(connections)
    local hum = character:WaitForChild("Humanoid")
    local function update()
        local ratio = hum.MaxHealth > 0 and hum.Health / hum.MaxHealth or 0
        fill.Size = UDim2.fromScale(math.clamp(ratio, 0, 1), 1)
    end
    table.insert(connections, hum.HealthChanged:Connect(update))
    table.insert(connections, hum:GetPropertyChangedSignal("MaxHealth"):Connect(update))
    update()
end
player.CharacterAdded:Connect(connect)
if player.Character then connect(player.Character) end

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

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

Ваш прогресс

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

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

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

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

Измените цвет полосы.

2. Улучшите

Добавьте подпись «Здоровье».

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

Соберите интерфейс с индикатором здоровья и монет.

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

Что должно обновляться при получении урона?

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

Используйте LocalScript, не Script. Если GUI уже создан в другом уроке, названия могут совпадать — удалите дубль.