Блог школы Роблоппа — Роблокс Студио, обучение, познавательные статьи и новости школы

Как создать окно настроек в Роблокс Студио

Документация
Окно настроек — важная часть любой игры в Roblox Studio. Оно делает игру удобнее: игрок может управлять звуком, графикой, интерфейсом и другими параметрами. В этой статье разберём полный процесс создания окна настроек — от дизайна до сохранения данных.

🧩 1. Создание базового интерфейса (GUI)

Шаги:

  1. Открой Roblox Studio
  2. Найди вкладку Explorer
  3. Перейди в StarterGui
  4. Создай:
  • ScreenGui
  • внутри него Frame (это окно настроек)

Настройки Frame:

Size = {0.3, 0}, {0.4, 0}
Position = {0.35, 0}, {0.3, 0}
BackgroundColor3 = Color3.fromRGB(40, 40, 40)
BackgroundTransparency = 0.1
💡 Совет: сразу поставь Visible = false, чтобы окно было скрыто при запуске.

🎨 2. Структура окна настроек

Внутри Frame добавь:

📌 Основные элементы:

  • TextLabel → заголовок ("Настройки")
  • TextButton → кнопки:
  • Звук
  • Музыка
  • Графика
  • UIListLayout → автоматическое выравнивание

Пример структуры:

ScreenGui
├── Frame (SettingsWindow)
├── Title (TextLabel)
├── SoundButton
├── MusicButton
├── GraphicsButton
├── UIListLayout

🧠 3. Скрипт: включение/выключение звука

Добавь LocalScript в кнопку:
local button = script.Parent
local soundEnabled = true
button.Text = "Звук: ВКЛ"
button.MouseButton1Click:Connect(function()
soundEnabled = not soundEnabled
if soundEnabled then
button.Text = "Звук: ВКЛ"
game.SoundService.Volume = 1
else
button.Text = "Звук: ВЫКЛ"
game.SoundService.Volume = 0
end
end)

🎵 4. Отдельное управление музыкой

Если у тебя есть Sound в игре:
local button = script.Parent
local music = workspace:WaitForChild("Music")
local enabled = true
button.MouseButton1Click:Connect(function()
enabled = not enabled
if enabled then
music.Volume = 1
button.Text = "Музыка: ВКЛ"
else
music.Volume = 0
button.Text = "Музыка: ВЫКЛ"
end
end)

🔘 5. Кнопка открытия/закрытия меню

Создай кнопку ⚙️ вне Frame:
local button = script.Parent
local frame = script.Parent.Parent.SettingsWindow
button.MouseButton1Click:Connect(function()
frame.Visible = not frame.Visible
end)

💾 6. Сохранение настроек (DataStore)

Чтобы настройки не сбрасывались, используем DataStore.
⚠️ Работает только в опубликованной игре.

ServerScript:

local DataStoreService = game:GetService("DataStoreService")
local settingsStore = DataStoreService:GetDataStore("PlayerSettings")
game.Players.PlayerAdded:Connect(function(player)
local data = settingsStore:GetAsync(player.UserId)
if data then
player:SetAttribute("SoundEnabled", data.Sound)
else
player:SetAttribute("SoundEnabled", true)
end
end)
game.Players.PlayerRemoving:Connect(function(player)
settingsStore:SetAsync(player.UserId, {
Sound = player:GetAttribute("SoundEnabled")
})
end)

✨ 7. Улучшение дизайна

Добавь:
  • UICorner → скругление
  • UIStroke → обводка
  • UIPadding → отступы
  • Анимацию появления:
frame:TweenPosition(UDim2.new(0.35,0,0.3,0), "Out", "Quad", 0.3)

🚀 8. Дополнительные функции

Можно добавить:

🎚 Ползунок громкости

  • через Slider (или сделать вручную)

🎮 Настройки графики

game:GetService("Lighting").Brightness = 2

🌐 Переключение языка

  • хранить язык в Attributes

✅ Итог

Теперь у тебя есть полноценное окно настроек:
  • ✔ Интерфейс (GUI)
  • ✔ Кнопки управления
  • ✔ Скрипты логики
  • ✔ Сохранение данных
  • ✔ Красивый дизайн

🔗 Полезные ссылки:

🚀 Хочешь научиться делать свои игры?

Переходи на roblo.ru и запишись на обучение Роблокс Студио!
И не забудь заглянуть в наш Telegram 👉 t.me/robloppo
Made on
Tilda