local script:
local ReplicatedStorage = game.ReplicatedStorage
local Players = game.Players
local Player = Players.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")
local Objects = ReplicatedStorage.Objects.GUI.Settings
local Modules = ReplicatedStorage.Modules.Client
local Config = require(Modules.Configs.SettingsConfig)
local SettingsGui = PlayerGui.Settings.MainFrame
local Container = SettingsGui.Container
local Close = SettingsGui.Close
for _, Template in pairs(Objects:GetChildren()) do
for _, data in pairs(Config) do
local CloneTemplate = Template:Clone()
CloneTemplate.Parent = Container
if CloneTemplate.Name == "Selector" then
CloneTemplate.Name = data.Type
CloneTemplate.Title.Text = data.Name
elseif CloneTemplate.Name == "Slider" then
CloneTemplate.Name = data.Type
CloneTemplate.Title.Text = data.Name
elseif CloneTemplate.Name == "Toggle" then
CloneTemplate.Name = data.Type
CloneTemplate.Title.Text = data.Name
end
end
end
Close.MouseButton1Click:Connect(function()
SettingsGui.Visible = false
end)
Config:
return {
["Music"] = {
Name = "Music",
Type = "Slider",
Volume = 50,
},
["SFX"] = {
Name = "SFX",
Type = "Slider",
Volume = 50,
},
["ShowOtherPets"] = {
Name = "ShowOtherPets",
Type = "Toggle",
Enabled = true,
},
["Trading"] = {
Name = "Trading",
Type = "Selector",
Option = "All", -- {All, Friends, No One}
},
["Notifications"] = {
Name = "Notifications",
Type = "Toggle",
Enabled = true,
},
["ShowBoosts"] = {
Name = "ShowBoosts",
Type = "Toggle",
Enabled = true,
},
}