GUI (Graphical User Interface) в Роблокс Студио — это элементы интерфейса, которые помогают игрокам взаимодействовать с игрой: кнопки, панели, текст, индикаторы. Сегодня мы рассмотрим простые скрипты для GUI, которые добавят в вашу игру таймер, счётчик здоровья, очки и деньги.
1. Таймер обратного отсчёта
Таймер можно использовать для мини-игр, гонок или испытаний.
Инструкция:
- Перейди в StarterPlayer → StarterPlayerScripts.
- Создай LocalScript.
- Вставь код.
- При запуске игры у игрока сверху на экране появится таймер.
local ScreenGui = Instance.new("ScreenGui", game.Players.LocalPlayer.PlayerGui)
local TimerLabel = Instance.new("TextLabel", ScreenGui)
TimerLabel.Size = UDim2.new(0, 200, 0, 50)
TimerLabel.Position = UDim2.new(0.5, -100, 0, 20)
TimerLabel.TextScaled = true
local timeLeft = 30 -- секунд
while timeLeft > 0 do
TimerLabel.Text = "Время: " .. timeLeft
wait(1)
timeLeft -= 1
end
TimerLabel.Text = "Время вышло!"
2. Отображение здоровья
Индикатор здоровья можно сделать с помощью TextLabel или прогресс-бара.
Инструкция:
- Перейди в StarterPlayer → StarterPlayerScripts.
- Создай LocalScript.
- Вставь код.
- Теперь игрок всегда будет видеть свой уровень здоровья.
local Player = game.Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local ScreenGui = Instance.new("ScreenGui", Player.PlayerGui)
local HealthLabel = Instance.new("TextLabel", ScreenGui)
HealthLabel.Size = UDim2.new(0, 200, 0, 50)
HealthLabel.Position = UDim2.new(0.5, -100, 0, 80)
HealthLabel.TextScaled = true
Humanoid.HealthChanged:Connect(function()
HealthLabel.Text = "Здоровье: " .. math.floor(Humanoid.Health)
end)
3. Счётчик очков
Пример для отображения очков, которые начисляются игроку.
Инструкция:
- Перейди в StarterPlayer → StarterPlayerScripts.
- Создай LocalScript.
- Вставь код.
- Очки будут появляться в интерфейсе и автоматически увеличиваться.
local Player = game.Players.LocalPlayer
local leaderstats = Instance.new("Folder", Player)
leaderstats.Name = "leaderstats"
local Points = Instance.new("IntValue", leaderstats)
Points.Name = "Очки"
Points.Value = 0
local ScreenGui = Instance.new("ScreenGui", Player.PlayerGui)
local PointsLabel = Instance.new("TextLabel", ScreenGui)
PointsLabel.Size = UDim2.new(0, 200, 0, 50)
PointsLabel.Position = UDim2.new(0.5, -100, 0, 140)
PointsLabel.TextScaled = true
Points:GetPropertyChangedSignal("Value"):Connect(function()
PointsLabel.Text = "Очки: " .. Points.Value
end)
-- пример начисления очков
while true do
wait(5)
Points.Value += 10
end
4. Деньги игрока
Игровая валюта часто нужна в симуляторах и RPG.
Инструкция:
- Перейди в StarterPlayer → StarterPlayerScripts.
- Создай LocalScript.
- Вставь код.
- Теперь игроки будут видеть количество монет в интерфейсе.
local Player = game.Players.LocalPlayer
local leaderstats = Player:FindFirstChild("leaderstats") or Instance.new("Folder", Player)
leaderstats.Name = "leaderstats"
local Coins = Instance.new("IntValue", leaderstats)
Coins.Name = "Монеты"
Coins.Value = 100
local ScreenGui = Instance.new("ScreenGui", Player.PlayerGui)
local CoinsLabel = Instance.new("TextLabel", ScreenGui)
CoinsLabel.Size = UDim2.new(0, 200, 0, 50)
CoinsLabel.Position = UDim2.new(0.5, -100, 0, 200)
CoinsLabel.TextScaled = true
Coins:GetPropertyChangedSignal("Value"):Connect(function()
CoinsLabel.Text = "Монеты: " .. Coins.Value
end)
-- пример начисления монет
while true do
wait(10)
Coins.Value += 5
end
Полезные ссылки
Итоги
С помощью GUI можно сделать игру в Роблокс Студио более удобной и интересной. Попробуйте реализовать таймер, индикатор здоровья, счётчик очков и денег — это базовые, но очень важные элементы.
Хотите научиться создавать полноценные интерфейсы и игры? 🚀
Записывайтесь на занятия в онлайн-школу Robloppa Studio!
