Roblox ColorSequence Library V5
Roblox ColorSequence Library V5
local redzlib = {
Themes = {
Darker = {
["Color Hub 1"] = [Link]({
[Link](0.00, [Link](25, 25,
25)),
[Link](0.50, [Link](32.5, 32.5,
32.5)),
[Link](1.00, [Link](25, 25, 25))
}),
["Color Hub 2"] = [Link](30, 30, 30),
["Color Stroke"] = [Link](40, 40, 40),
["Color Theme"] = [Link](88, 101, 242),
["Color Text"] = [Link](243, 243, 243),
["Color Dark Text"] = [Link](180, 180, 180)
},
Dark = {
["Color Hub 1"] = [Link]({
[Link](0.00, [Link](40, 40,
40)),
[Link](0.50, [Link](47.5, 47.5,
47.5)),
[Link](1.00, [Link](40, 40, 40))
}),
["Color Hub 2"] = [Link](45, 45, 45),
["Color Stroke"] = [Link](65, 65, 65),
["Color Theme"] = [Link](65, 150, 255),
["Color Text"] = [Link](245, 245, 245),
["Color Dark Text"] = [Link](190, 190, 190)
},
Purple = {
["Color Hub 1"] = [Link]({
[Link](0.00, [Link](27.5, 25,
30)),
[Link](0.50, [Link](32.5, 32.5,
32.5)),
[Link](1.00, [Link](27.5, 25,
30))
}),
["Color Hub 2"] = [Link](30, 30, 30),
["Color Stroke"] = [Link](40, 40, 40),
["Color Theme"] = [Link](150, 0, 255),
["Color Text"] = [Link](240, 240, 240),
["Color Dark Text"] = [Link](180, 180, 180)
}
},
Info = {
Version = "1.1.0"
},
Save = {
UISize = {550, 380},
TabSize = 160,
Theme = "Darker"
},
Settings = {},
Connection = {},
Instances = {},
Elements = {},
Options = {},
Flags = {},
Tabs = {},
Icons = loadstring(game:HttpGet("[Link]
RedzLibV5/refs/heads/main/[Link]"))()
}
Create = function(...)
local args = {...}
if type(args) ~= "table" then return end
local new = [Link](args[1])
local Children = {}
local Funcs = {} do
function Funcs:InsertCallback(tab, func)
if type(func) == "function" then
[Link](tab, func)
end
return func
end
function Connected:Disconnect()
if [Link] then
[Link](ConnectedFuncs, [Link](ConnectedFuncs,
[Link]))
[Link] = false
end
end
function Connected:Fire(...)
if [Link] then
[Link]([Link], ...)
end
end
return Connected
end
function Connect:Connect(func)
if type(func) == "function" then
[Link](ConnectedFuncs, func)
return Funcs:GetConnectionFunctions(ConnectedFuncs,
func)
end
end
function Connect:Once(func)
if type(func) == "function" then
local Connected;
Connected =
Funcs:GetConnectionFunctions(ConnectedFuncs, _NFunc)
return Connected
end
end
end
end
GetFlag = function(Name)
return type(Name) == "string" and Flags[Name]
end
local db
[Link]:Connect(function(Flag, Value)
local ScriptFile = [Link]
if not db and ScriptFile and writefile then
db=true;[Link](0.1);db=false
if Success then
local Success = pcall(writefile, ScriptFile, Encoded)
if Success then
Connection:FireConnection("FileSaved", "Script-
Flags", ScriptFile, Encoded)
end
end
end
end)
end
Instance.MouseButton1Down:Connect(function()
InputOn = true
end)
[Link]:Connect(function(Input)
if [Link] == [Link].MouseButton1 or
[Link] == [Link] then
StartPos = [Link]
DragStart = [Link]
while
UserInputService:IsMouseButtonPressed([Link].MouseButton1) do
[Link]:Wait()
if InputOn then
Update(Input)
end
end
InputOn = false
end
end)
end)
return Instance
end
[Link]:Connect(function()
[Link] = 0.4
end)
[Link]:Connect(function()
[Link] = 0
end)
if args[1] then
[Link]:Connect(args[1])
end
return New
end)
local Label = {}
function Label:SetTitle(NewTitle)
if type(NewTitle) == "string" and NewTitle:gsub(" ", ""):len() > 0 then
[Link] = NewTitle
end
end
function Label:SetDesc(NewDesc)
if type(NewDesc) == "string" and NewDesc:gsub(" ", ""):len() > 0 then
[Link] = true
[Link] = NewDesc
[Link] = [Link](0, 10, 0)
[Link] = [Link](0, 0)
else
[Link] = false
[Link] = ""
[Link] = [Link](0, 10, 0.5)
[Link] = [Link](0, 0.5)
end
end
Label:SetTitle(Title)
Label:SetDesc(Description)
return Frame, Label
end
-- /////////// --
function redzlib:GetIcon(index)
if type(index) ~= "string" or index:find("rbxassetid://") or #index == 0 then
return index
end
function redzlib:SetTheme(NewTheme)
if not VerifyTheme(NewTheme) then return end
[Link] = NewTheme
SaveJson("redz library [Link]", [Link])
Theme = [Link][NewTheme]
Comnection:FireConnection("ThemeChanged", NewTheme)
[Link]([Link], function(_,Val)
if [Link] == "Gradient" then
[Link] = Theme["Color Hub 1"]
elseif [Link] == "Frame" then
[Link].BackgroundColor3 = Theme["Color Hub 2"]
elseif [Link] == "Stroke" then
[Link][GetColor([Link])] = Theme["Color Stroke"]
elseif [Link] == "Theme" then
[Link][GetColor([Link])] = Theme["Color Theme"]
elseif [Link] == "Text" then
[Link][GetColor([Link])] = Theme["Color Text"]
elseif [Link] == "DarkText" then
[Link][GetColor([Link])] = Theme["Color Dark Text"]
elseif [Link] == "ScrollBar" then
[Link][GetColor([Link])] = Theme["Color Theme"]
end
end)
end
function redzlib:SetScale(NewScale)
NewScale = ViewportSize.Y / [Link](NewScale, 300, 2000)
UIScale, [Link] = NewScale, NewScale
end
function redzlib:MakeWindow(Configs)
local WTitle = Configs[1] or [Link] or [Link] or "redz Library
V5"
local WMiniText = Configs[2] or [Link] or "by : redz9999"
if s and r then
local s, _Flags = pcall(readfile, File)
ControlSize1:GetPropertyChangedSignal("Position"):Connect(ControlSize)
ControlSize2:GetPropertyChangedSignal("Position"):Connect(ControlSize)
ConnectSave(ControlSize1, function()
if not Minimized then
[Link] = {[Link],
[Link]}
SaveJson("redz library [Link]", [Link])
end
end)
ConnectSave(ControlSize2, function()
[Link] = [Link]
SaveJson("redz library [Link]", [Link])
end)
SetChildren(ButtonsFolder, {
CloseButton,
MinimizeButton
})
if Minimized then
[Link] = "rbxassetid://10734896206"
CreateTween({MainFrame, "Size", SaveSize, 0.25, true})
[Link] = true
[Link] = true
Minimized = false
else
[Link] = "rbxassetid://10734924532"
SaveSize = [Link]
[Link] = false
[Link] = false
CreateTween({MainFrame, "Size",
[Link]([Link], 28), 0.25, true})
Minimized = true
end
WaitClick = false
end
function Window:Minimize()
[Link] = not [Link]
end
function Window:AddMinimizeButton(Configs)
local Button = MakeDrag(Create("ImageButton", ScreenGui, {
Size = [Link](35, 35),
Position = [Link](0.15, 0.15),
BackgroundTransparency = 1,
BackgroundColor3 = Theme["Color Hub 2"],
AutoButtonColor = false
}))
SetProps(Button, [Link])
[Link]:Connect([Link])
return {
Stroke = Stroke,
Corner = Corner,
Button = Button
}
end
function Window:Set(Val1, Val2)
if type(Val1) == "string" and type(Val2) == "string" then
[Link] = Val1
[Link] = Val2
elseif type(Val1) == "string" then
[Link] = Val1
end
end
function Window:Dialog(Configs)
if MainFrame:FindFirstChild("Dialog") then return end
if Minimized then
Window:MinimizeBtn()
end
MainCorner:Clone().Parent = Screen
[Link] = Screen
CreateTween({Frame, "Size", [Link](250, 150), 0.2})
CreateTween({Frame, "Transparency", 0, 0.15})
CreateTween({Screen, "Transparency", 0.3, 0.15})
ButtonCount = ButtonCount + 1
local Button = Make("Button", ButtonsHolder)
Make("Corner", Button)
SetProps(Button, {
Text = Name,
Font = [Link],
TextColor3 = Theme["Color Text"],
TextSize = 12
})
local ContainerList = {}
function Window:T(paste, Configs)
if type(paste) == "table" then Configs = paste end
local TName = Configs[1] or [Link] or "Tab!"
local TIcon = Configs[2] or [Link] or ""
TIcon = redzlib:GetIcon(TIcon)
if not TIcon:find("rbxassetid://") or TIcon:gsub("rbxassetid://",
""):len() < 6 then
TIcon = false
end
[Link](ContainerList, Container)
FirstTab = true
local Tab = {}
[Link]([Link], {TabInfo = {Name = TName, Icon = TIcon},
func = Tab, Cont = Container})
[Link] = Container
function Tab:Disable()
[Link] = nil
CreateTween({LabelTitle, "TextTransparency", 0.3, 0.35})
CreateTween({LabelIcon, "ImageTransparency", 0.3, 0.35})
CreateTween({Selected, "Size", [Link](0, 4, 0, 4), 0.35})
CreateTween({Selected, "BackgroundTransparency", 1, 0.35})
end
function Tab:Enable()
Tabs()
end
function Tab:Visible(Bool)
Funcs:ToggleVisible(TabSelect, Bool)
Funcs:ToggleParent(Container, Bool, Containers)
end
function Tab:Destroy() TabSelect:Destroy() Container:Destroy() end
function Tab:AddSection(Configs)
local SectionName = type(Configs) == "string" and Configs or
Configs[1] or [Link] or [Link] or [Link]
local Paragraph = {}
function Paragraph:Visible(...) Funcs:ToggleVisible(Frame, ...)
end
function Paragraph:Destroy() Frame:Destroy() end
function Paragraph:SetTitle(Val)
LabelFunc:SetTitle(GetStr(Val))
end
function Paragraph:SetDesc(Val)
LabelFunc:SetDesc(GetStr(Val))
end
function Paragraph:Set(Val1, Val2)
if Val1 and Val2 then
LabelFunc:SetTitle(GetStr(Val1))
LabelFunc:SetDesc(GetStr(Val2))
elseif Val1 then
LabelFunc:SetDesc(GetStr(Val1))
end
end
return Paragraph
end
function Tab:AddButton(Configs)
local BName = Configs[1] or [Link] or [Link] or
"Button!"
local BDescription = [Link] or [Link] or ""
local Callback = Funcs:GetCallback(Configs, 2)
[Link]:Connect(function()
Funcs:FireCallback(Callback)
end)
local Button = {}
function Button:Visible(...) Funcs:ToggleVisible(FButton, ...)
end
function Button:Destroy() FButton:Destroy() end
function Button:Callback(...) Funcs:InsertCallback(Callback, ...)
end
function Button:Set(Val1, Val2)
if type(Val1) == "string" and type(Val2) == "string" then
LabelFunc:SetTitle(Val1)
LabelFunc:SetDesc(Val2)
elseif type(Val1) == "string" then
LabelFunc:SetTitle(Val1)
elseif type(Val1) == "function" then
Callback = Val1
end
end
return Button
end
function Tab:AddToggle(Configs)
local TName = Configs[1] or [Link] or [Link] or
"Toggle"
local TDesc = [Link] or [Link] or ""
local Callback = Funcs:GetCallback(Configs, 3)
local Flag = Configs[4] or [Link] or false
local Default = Configs[2] or [Link] or false
if CheckFlag(Flag) then Default = GetFlag(Flag) end
local WaitClick
local function SetToggle(Val)
if WaitClick then return end
[Link]:Connect(function()
SetToggle(not Default)
end)
local Toggle = {}
function Toggle:Visible(...) Funcs:ToggleVisible(Button, ...) end
function Toggle:Destroy() Button:Destroy() end
function Toggle:Callback(...) Funcs:InsertCallback(Callback, ...)
() end
function Toggle:Set(Val1, Val2)
if type(Val1) == "string" and type(Val2) == "string" then
LabelFunc:SetTitle(Val1)
LabelFunc:SetDesc(Val2)
elseif type(Val1) == "string" then
LabelFunc:SetTitle(Val1, false, true)
elseif type(Val1) == "boolean" then
if WaitClick and Val2 then
repeat [Link]() until not WaitClick
end
[Link](SetToggle, Val1)
elseif type(Val1) == "function" then
Callback = Val1
end
end
return Toggle
end
function Tab:AddDropdown(Configs)
local DName = Configs[1] or [Link] or [Link] or
"Dropdown"
local DDesc = [Link] or [Link] or ""
local DOptions = Configs[2] or [Link] or {}
local OpDefault = Configs[3] or [Link] or {}
local Flag = Configs[5] or [Link] or false
local DMultiSelect = [Link] or false
local Callback = Funcs:GetCallback(Configs, 4)
local Button, LabelFunc = ButtonFrame(Container, DName, DDesc,
[Link](1, -180))
if MultiSelect then
for index, Value in pairs(CheckFlag(Flag) and
GetFlag(Flag) or Default) do
if type(index) == "string" and (DOptions[index]
or [Link](DOptions, index)) then
Selected[index] = Value
elseif DOptions[Value] then
Selected[Value] = true
end
end
end
Selected[[Link]] = [Link]
CallbackSelected()
else
[Link] = tick()
Selected = [Link]
CallbackSelected()
end
UpdateSelected()
end
[Link]:Connect(function()
Select(Options[Name])
end)
GetOptions = function()
return Options
end
AddNewOptions = function(List, Clear)
if Clear then
[Link](Options, RemoveOption)
end
[Link](List, AddOption)
CallbackSelected()
UpdateSelected()
end
[Link](DOptions, AddOption)
CallbackSelected()
UpdateSelected()
end
[Link]:Connect(Minimize)
NoClickFrame.MouseButton1Down:Connect(Disable)
NoClickFrame.MouseButton1Click:Connect(Disable)
MainFrame:GetPropertyChangedSignal("Visible"):Connect(Disable)
SelectedFrame:GetPropertyChangedSignal("AbsolutePosition"):Connect(CalculatePos)
[Link]:Connect(CalculateSize)
[Link]:Connect(CalculateSize)
[Link]:Connect(CalculateSize)
CalculatePos()
CalculateSize()
local Dropdown = {}
function Dropdown:Visible(...) Funcs:ToggleVisible(Button, ...)
end
function Dropdown:Destroy() Button:Destroy() end
function Dropdown:Callback(...)
Funcs:InsertCallback(Callback, ...)(Selected) end
function Dropdown:Add(...)
local NewOptions = {...}
if type(NewOptions[1]) == "table" then
[Link](Option, function(_,Name)
AddOption(Name)
end)
else
[Link](NewOptions, function(_,Name)
AddOption(Name)
end)
end
end
function Dropdown:Remove(Option)
for index, Value in pairs(GetOptions()) do
if type(Option) == "number" and index == Option or
[Link] == "Option" then
RemoveOption(index, [Link])
end
end
end
function Dropdown:Select(Option)
if type(Option) == "string" then
for _,Val in pairs(Options) do
if [Link] == Option then
[Link]()
end
end
elseif type(Option) == "number" then
for ind,Val in pairs(Options) do
if ind == Option then
[Link]()
end
end
end
end
function Dropdown:Set(Val1, Clear)
if type(Val1) == "table" then
AddNewOptions(Val1, not Clear)
elseif type(Val1) == "function" then
Callback = Val1
end
end
return Dropdown
end
function Tab:AddSlider(Configs)
local SName = Configs[1] or [Link] or [Link] or
"Slider!"
local SDesc = [Link] or [Link] or ""
local Min = Configs[2] or [Link] or [Link] or 10
local Max = Configs[3] or [Link] or [Link] or 100
local Increase = Configs[4] or [Link] or 1
local Callback = Funcs:GetCallback(Configs, 6)
local Flag = Configs[7] or [Link] or false
local Default = Configs[5] or [Link] or 25
if CheckFlag(Flag) then Default = GetFlag(Flag) end
Min, Max = Min / Increase, Max / Increase
[Link] = [Link]([Link](ConfigureDpiPos,
0, 1), 0, 0.5, 0)
end
SliderHolder.MouseButton1Down:Connect(function()
CreateTween({SliderIcon, "Transparency", 0, 0.3})
[Link] = false
while
UserInputService:IsMouseButtonPressed([Link].MouseButton1) do
[Link]()
ControlPos()
end
CreateTween({SliderIcon, "Transparency", 0.2, 0.3})
[Link] = true
SetFlag(Flag, Default)
end)
LabelVal:GetPropertyChangedSignal("Text"):Connect(function()
[Link] = 0.3
CreateTween({UIScale, "Scale", 1.2, 0.1})
CreateTween({LabelVal, "Rotation", [Link](-1, 1) * 5,
0.15, true})
CreateTween({UIScale, "Scale", 1, 0.2})
CreateTween({LabelVal, "Rotation", 0, 0.1})
end)
function SetSlider(NewValue)
if type(NewValue) ~= "number" then return end
SetFlag(Flag, NewValue)
CreateTween({ SliderIcon, "Position",
[Link]([Link](SliderPos, 0, 1), 0.5), 0.3, true })
end;SetSlider(Default)
SliderIcon:GetPropertyChangedSignal("Position"):Connect(UpdateValues)UpdateValues()
local Slider = {}
function Slider:Set(NewVal1, NewVal2)
if NewVal1 and NewVal2 then
LabelFunc:SetTitle(NewVal1)
LabelFunc:SetDesc(NewVal2)
elseif type(NewVal1) == "string" then
LabelFunc:SetTitle(NewVal1)
elseif type(NewVal1) == "function" then
Callback = NewVal1
elseif type(NewVal1) == "number" then
SetSlider(NewVal1)
end
end
function Slider:Callback(...) Funcs:InsertCallback(Callback, ...)
(tonumber(Default)) end
function Slider:Visible(...) Funcs:ToggleVisible(Button, ...) end
function Slider:Destroy() Button:Destroy() end
return Slider
end
function Tab:AddTextBox(Configs)
local TName = Configs[1] or [Link] or [Link] or
"Text Box"
local TDesc = [Link] or [Link] or ""
local TDefault = Configs[2] or [Link] or ""
local TPlaceholderText = Configs[5] or [Link] or
"Input"
local TClearText = Configs[3] or [Link] or false
local Callback = Funcs:GetCallback(Configs, 4)
if type(TDefault) ~= "string" or TDefault:gsub(" ", ""):len() < 1
then
TDefault = false
end
local TextBox = {}
local function Input()
local Text = [Link]
if Text:gsub(" ", ""):len() > 0 then
if [Link] then Text =
[Link](Text) or Text end
Funcs:FireCallback(Callback, Text)
[Link] = Text
end
end
[Link]:Connect(Input)Input()
[Link]:Connect(function()
CreateTween({Pencil, "ImageColor3", [Link](255,
255, 255), 0.2})
end)
[Link]:Connect(function()
CreateTween({Pencil, "ImageColor3", Theme["Color Theme"],
0.2})
end)
[Link] = false
function TextBox:Visible(...) Funcs:ToggleVisible(Button, ...)
end
function TextBox:Destroy() Button:Destroy() end
return TextBox
end
function Tab:AddDiscordInvite(Configs)
local Title = Configs[1] or [Link] or [Link] or
"Discord"
local Desc = [Link] or [Link] or ""
local Logo = Configs[2] or [Link] or ""
local Invite = Configs[3] or [Link] or ""
local ClickDelay
[Link]:Connect(function()
setclipboard(Invite)
if ClickDelay then return end
ClickDelay = true
SetProps(JoinButton, {
Text = "Copied to Clipboard",
BackgroundColor3 = [Link](100, 100, 100),
TextColor3 = [Link](150, 150, 150)
})[Link](5)
SetProps(JoinButton, {
Text = "Join",
BackgroundColor3 = [Link](50, 150, 50),
TextColor3 = [Link](220, 220, 220)
})ClickDelay = false
end)
local DiscordInvite = {}
function DiscordInvite:Destroy() InviteHolder:Destroy() end
function DiscordInvite:Visible(...)
Funcs:ToggleVisible(InviteHolder, ...) end
return DiscordInvite
end
return Tab
end
[Link]:Connect([Link])
[Link]:Connect([Link])
return Window
end
return redzlib