Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Simplified GUI Library compatible with Meteor Script
- -- Clean structure, same API: CreateWindow, CreateTab, CreateToggle, CreateOptionTog, CreateDropDown
- local lib = {}
- local Players = game:GetService("Players")
- local CoreGui = game:GetService("CoreGui")
- local LocalPlayer = Players.LocalPlayer
- -- Root GUI
- local ScreenGui = Instance.new("ScreenGui")
- ScreenGui.Name = "RektskyGui"
- ScreenGui.ResetOnSpawn = false
- ScreenGui.Parent = CoreGui
- -- Store active toggles/tabs
- lib.Tabs = {}
- lib.Objects = {}
- function lib:CreateWindow()
- return lib
- end
- function lib:CreateTab(name, color, icon)
- local tab = {}
- tab.Toggles = {}
- function tab:CreateToggle(data)
- local toggle = {
- Name = data.Name,
- Value = false,
- Callback = data.Callback or function() end
- }
- function toggle:Toggle(val)
- self.Value = (val ~= nil) and val or not self.Value
- toggle.Callback(self.Value)
- end
- table.insert(tab.Toggles, toggle)
- return toggle
- end
- function tab:CreateOptionTog(data)
- local opt = {
- Name = data.Name,
- Value = data.Default or false,
- Callback = data.Func or function() end
- }
- function opt:Toggle(val)
- self.Value = (val ~= nil) and val or not self.Value
- self.Callback(self.Value)
- end
- return opt
- end
- function tab:CreateDropDown(data)
- local drop = {
- Name = data.Name,
- List = data.List,
- Value = data.Default or data.List[1],
- Callback = data.Function or data.Func or function() end
- }
- function drop:Select(value)
- if table.find(drop.List, value) then
- drop.Value = value
- drop.Callback(value)
- end
- end
- return drop
- end
- table.insert(lib.Tabs, tab)
- return tab
- end
- return lib
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement