Цель
Показать красивое уведомление при увеличении количества звёзд.
Подготовка и расположение объектов
StarterGui → ScreenGui → TextLabel RewardLabel (Visible=false); LocalScript внутри ScreenGui. В игре уже должен существовать leaderstats.Stars.
Пошаговая работа
- Подготовь RewardLabel и скрой его через Visible=false.
- Добавь LocalScript.
- Собери настоящую звезду в игре и посмотри на сообщение.
Код Luau
local player = game:GetService("Players").LocalPlayer
local label = script.Parent:WaitForChild("RewardLabel")
local stars = player:WaitForChild("leaderstats"):WaitForChild("Stars")
local previous = stars.Value
local version = 0
label.Visible = false
stars:GetPropertyChangedSignal("Value"):Connect(function()
local current = stars.Value
if current > previous then
version += 1
local id = version
label.Text = "+" .. (current - previous) .. " ⭐"
label.Visible = true
task.delay(1.5, function()
if version == id then label.Visible = false end
end)
end
previous = current
end)Проверяем результат
Уведомление появляется при росте Stars и не появляется после покупки, когда Stars уменьшается.
Частая ошибка
Звёзды начисляет только сервер: LocalScript показывает результат и не изменяет валюту.
Усложнение
Добавь плавное появление через TweenService.
Для преподавателя
Проверь результат в Play и в эмуляторе мобильного устройства. Сделай собственные скриншоты Roblox Studio перед публикацией.
