local function getExecutor() local name if identifyexecutor then name = identifyexecutor() end return { Name = name or "Unknown Executor"} end local function detectExecutor() local executorDetails = getExecutor() return string.format("%s", executorDetails.Name) end wait(0.1) local executor_Name = detectExecutor() wait(0.2) local Release wait(0.1) if game.PlaceId == 15546218972 then Release = "2.8.5" elseif game.PlaceId == 6884319169 then Release = "2.8.6" else Release = "2.8.2" end wait(0.2) local RayfieldFolder local MarketplaceService = cloneref and cloneref(game:GetService("MarketplaceService")) or game:GetService("MarketplaceService") local GameName = MarketplaceService:GetProductInfo(game.PlaceId).Name local Version_Config = "V8.3.0" local Version_No_Config = "V8.3.0" wait(0.2) if game.PlaceId == 15546218972 then RayfieldFolder = "MIC-UP-17" elseif game.PlaceId == 6884319169 then RayfieldFolder = "MIC-UP" else RayfieldFolder = tostring(GameName) end wait(0.1) local ConfigurationFolder = RayfieldFolder.."/Configurations" local ConfigurationExtension = ".rfld" local RayfieldLibrary = { Flags = {}, Theme = { Default = { TextColor = Color3.fromRGB(137, 135, 136), Background = Color3.fromRGB(85, 0, 127), Topbar = Color3.fromRGB(0, 0, 0), Shadow = Color3.fromRGB(0, 0, 0), NotificationBackground = Color3.fromRGB(65, 0, 100), NotificationActionsBackground = Color3.fromRGB(65, 0, 100), TabBackground = Color3.fromRGB(25, 50, 85), TabStroke = Color3.fromRGB(0, 0, 0), TabBackgroundSelected = Color3.fromRGB(25, 50, 85), TabTextColor = Color3.fromRGB(0, 255, 255), SelectedTabTextColor = Color3.fromRGB(0, 255, 255), ElementBackground = Color3.fromRGB(85, 0, 127), ElementBackgroundHover = Color3.fromRGB(85, 0, 127), SecondaryElementBackground = Color3.fromRGB(85, 0, 127), ElementStroke = Color3.fromRGB(85, 0, 127), SecondaryElementStroke = Color3.fromRGB(85, 0, 127), SliderBackground = Color3.fromRGB(85, 0, 127), SliderProgress = Color3.fromRGB(58, 125, 21), SliderStroke = Color3.fromRGB(0, 0, 0), ToggleBackground = Color3.fromRGB(85, 0, 127), ToggleEnabled = Color3.fromRGB(0, 255, 0), ToggleDisabled = Color3.fromRGB(255, 0, 0), ToggleEnabledStroke = Color3.fromRGB(0, 0, 0), ToggleDisabledStroke = Color3.fromRGB(0, 0, 0), ToggleEnabledOuterStroke = Color3.fromRGB(0, 0, 0), ToggleDisabledOuterStroke = Color3.fromRGB(0, 0, 0), DropdownSelected = Color3.fromRGB(0, 91, 255), DropdownUnselected = Color3.fromRGB(85, 0, 127), InputBackground = Color3.fromRGB(85, 0, 127), InputStroke = Color3.fromRGB(0, 0, 0), PlaceholderColor = Color3.fromRGB(255, 255, 255) }, Light = { TextColor = Color3.fromRGB(40, 40, 40), Background = Color3.fromRGB(245, 245, 245), Topbar = Color3.fromRGB(230, 230, 230), Shadow = Color3.fromRGB(200, 200, 200), NotificationBackground = Color3.fromRGB(250, 250, 250), NotificationActionsBackground = Color3.fromRGB(240, 240, 240), TabBackground = Color3.fromRGB(235, 235, 235), TabStroke = Color3.fromRGB(215, 215, 215), TabBackgroundSelected = Color3.fromRGB(255, 255, 255), TabTextColor = Color3.fromRGB(80, 80, 80), SelectedTabTextColor = Color3.fromRGB(0, 0, 0), ElementBackground = Color3.fromRGB(240, 240, 240), ElementBackgroundHover = Color3.fromRGB(225, 225, 225), SecondaryElementBackground = Color3.fromRGB(235, 235, 235), ElementStroke = Color3.fromRGB(210, 210, 210), SecondaryElementStroke = Color3.fromRGB(210, 210, 210), SliderBackground = Color3.fromRGB(150, 180, 220), SliderProgress = Color3.fromRGB(100, 150, 200), SliderStroke = Color3.fromRGB(120, 170, 220), ToggleBackground = Color3.fromRGB(220, 220, 220), ToggleEnabled = Color3.fromRGB(0, 146, 214), ToggleDisabled = Color3.fromRGB(150, 150, 150), ToggleEnabledStroke = Color3.fromRGB(0, 170, 255), ToggleDisabledStroke = Color3.fromRGB(170, 170, 170), ToggleEnabledOuterStroke = Color3.fromRGB(100, 100, 100), ToggleDisabledOuterStroke = Color3.fromRGB(180, 180, 180), DropdownSelected = Color3.fromRGB(230, 230, 230), DropdownUnselected = Color3.fromRGB(220, 220, 220), InputBackground = Color3.fromRGB(240, 240, 240), InputStroke = Color3.fromRGB(180, 180, 180), PlaceholderColor = Color3.fromRGB(140, 140, 140) }, Green = { TextColor = Color3.fromRGB(30, 60, 30), Background = Color3.fromRGB(235, 245, 235), Topbar = Color3.fromRGB(210, 230, 210), Shadow = Color3.fromRGB(200, 220, 200), NotificationBackground = Color3.fromRGB(240, 250, 240), NotificationActionsBackground = Color3.fromRGB(220, 235, 220), TabBackground = Color3.fromRGB(215, 235, 215), TabStroke = Color3.fromRGB(190, 210, 190), TabBackgroundSelected = Color3.fromRGB(245, 255, 245), TabTextColor = Color3.fromRGB(50, 80, 50), SelectedTabTextColor = Color3.fromRGB(20, 60, 20), ElementBackground = Color3.fromRGB(225, 240, 225), ElementBackgroundHover = Color3.fromRGB(210, 225, 210), SecondaryElementBackground = Color3.fromRGB(235, 245, 235), ElementStroke = Color3.fromRGB(180, 200, 180), SecondaryElementStroke = Color3.fromRGB(180, 200, 180), SliderBackground = Color3.fromRGB(90, 160, 90), SliderProgress = Color3.fromRGB(70, 130, 70), SliderStroke = Color3.fromRGB(100, 180, 100), ToggleBackground = Color3.fromRGB(215, 235, 215), ToggleEnabled = Color3.fromRGB(60, 130, 60), ToggleDisabled = Color3.fromRGB(150, 175, 150), ToggleEnabledStroke = Color3.fromRGB(80, 150, 80), ToggleDisabledStroke = Color3.fromRGB(130, 150, 130), ToggleEnabledOuterStroke = Color3.fromRGB(100, 160, 100), ToggleDisabledOuterStroke = Color3.fromRGB(160, 180, 160), DropdownSelected = Color3.fromRGB(225, 240, 225), DropdownUnselected = Color3.fromRGB(210, 225, 210), InputBackground = Color3.fromRGB(235, 245, 235), InputStroke = Color3.fromRGB(180, 200, 180), PlaceholderColor = Color3.fromRGB(120, 140, 120) }, DarkBlue = { TextColor = Color3.fromRGB(230, 230, 230), Background = Color3.fromRGB(20, 25, 30), Topbar = Color3.fromRGB(30, 35, 40), Shadow = Color3.fromRGB(15, 20, 25), NotificationBackground = Color3.fromRGB(25, 30, 35), NotificationActionsBackground = Color3.fromRGB(45, 50, 55), TabBackground = Color3.fromRGB(35, 40, 45), TabStroke = Color3.fromRGB(45, 50, 55), TabBackgroundSelected = Color3.fromRGB(40, 70, 100), TabTextColor = Color3.fromRGB(200, 200, 200), SelectedTabTextColor = Color3.fromRGB(255, 255, 255), ElementBackground = Color3.fromRGB(30, 35, 40), ElementBackgroundHover = Color3.fromRGB(40, 45, 50), SecondaryElementBackground = Color3.fromRGB(35, 40, 45), ElementStroke = Color3.fromRGB(45, 50, 55), SecondaryElementStroke = Color3.fromRGB(40, 45, 50), SliderBackground = Color3.fromRGB(0, 90, 180), SliderProgress = Color3.fromRGB(0, 120, 210), SliderStroke = Color3.fromRGB(0, 150, 240), ToggleBackground = Color3.fromRGB(35, 40, 45), ToggleEnabled = Color3.fromRGB(0, 120, 210), ToggleDisabled = Color3.fromRGB(80, 80, 80), ToggleEnabledStroke = Color3.fromRGB(0, 150, 240), ToggleDisabledStroke = Color3.fromRGB(90, 90, 90), ToggleEnabledOuterStroke = Color3.fromRGB(20, 100, 180), ToggleDisabledOuterStroke = Color3.fromRGB(50, 50, 50), DropdownSelected = Color3.fromRGB(30, 70, 90), DropdownUnselected = Color3.fromRGB(25, 30, 35), InputBackground = Color3.fromRGB(25, 30, 35), InputStroke = Color3.fromRGB(45, 50, 55), PlaceholderColor = Color3.fromRGB(150, 150, 160) } } } getgenv().Default_Theme_Setting = RayfieldLibrary.Theme.Default local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local HttpService = game:GetService("HttpService") local RunService = game:GetService("RunService") local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") local useStudio if RunService:IsStudio() then useStudio = true end local hiddenUI = get_hidden_gui or gethui local Rayfield = useStudio and script.Parent:FindFirstChild('Rayfield') or game:GetObjects("rbxassetid://10804731440")[1] getgenv().Rayfield = Rayfield Rayfield.Enabled = false wait(0.2) if executor_Name == "AWP" then Rayfield.Parent = CoreGui else if executor_Name ~= "AWP" and hiddenUI() then Rayfield.Parent = hiddenUI() elseif syn and syn.protect_gui then syn.protect_gui(Rayfield) Rayfield.Parent = CoreGui elseif not useStudio and CoreGui:FindFirstChild("RobloxGui") then Rayfield.Parent = CoreGui:FindFirstChild("RobloxGui") elseif not useStudio then Rayfield.Parent = CoreGui end end if executor_Name == "AWP" then for _, Interface in ipairs(CoreGui:GetChildren()) do if Interface.Name == Rayfield.Name and Interface ~= Rayfield then Interface.Enabled = false Interface.Name = "Rayfield-Old" end end else if executor_Name ~= "AWP" and get_hidden_gui or gethui then for _, Interface in ipairs(hiddenUI():GetChildren()) do if Interface.Name == Rayfield.Name and Interface ~= Rayfield then Interface.Enabled = false Interface.Name = "Rayfield-Old" end end elseif not useStudio then for _, Interface in ipairs(CoreGui:GetChildren()) do if Interface.Name == Rayfield.Name and Interface ~= Rayfield then Interface.Enabled = false Interface.Name = "Rayfield-Old" end end end end local minSize = Vector2.new(1024, 768) local useMobileSizing if Rayfield.AbsoluteSize.X < minSize.X and Rayfield.AbsoluteSize.Y < minSize.Y then useMobileSizing = true end local Camera = workspace.CurrentCamera local Main = Rayfield.Main getgenv().Main_Rayfield = Main local MPrompt = Rayfield:FindFirstChild('Prompt') local Topbar = Main.Topbar local Elements = Main.Elements local LoadingFrame = Main.LoadingFrame local TabList = Main.TabList local dragBar = Main:FindFirstChild('Drag') local dragInteract = dragBar and dragBar.Interact or nil local dragBarCosmetic = dragBar and dragBar.Drag or nil local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local frame = Main or Rayfield:FindFirstChild("Main") local UserInputService = game:GetService("UserInputService") if getgenv().is_on_pc_check and UserInputService.TouchEnabled == false then warn("Already ran check for PC - Toggle Rayfield GUI.") elseif getgenv().is_on_pc_check or getgenv().is_on_pc_check == true and UserInputService.TouchEnabled or UserInputService.TouchEnabled == true then print("Already ran check for Mobile - Toggle Rayfield GUI.") elseif getgenv().is_on_pc_check == false and UserInputService.TouchEnabled or UserInputService.TouchEnabled == true then local ToggleUIRayfield = Instance.new("ScreenGui") local ToggleUI_Frames = Instance.new("ImageLabel") local Toggled_UI = Instance.new("TextButton") ToggleUIRayfield.Name = "ToggleUIRayfield" ToggleUIRayfield.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") ToggleUIRayfield.ResetOnSpawn = false ToggleUI_Frames.Name = "ToggleUI_Frames" ToggleUI_Frames.Parent = ToggleUIRayfield ToggleUI_Frames.Active = true ToggleUI_Frames.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ToggleUI_Frames.BackgroundTransparency = 1.000 ToggleUI_Frames.BorderColor3 = Color3.fromRGB(27, 42, 53) ToggleUI_Frames.Position = UDim2.new(0.482097834, 0, 0.0307443365, 0) ToggleUI_Frames.Size = UDim2.new(0, 70, 0, 54) ToggleUI_Frames.Image = "rbxassetid://3570695787" ToggleUI_Frames.ImageColor3 = Color3.fromRGB(45, 45, 45) ToggleUI_Frames.ScaleType = Enum.ScaleType.Slice ToggleUI_Frames.SliceCenter = Rect.new(100, 100, 100, 100) ToggleUI_Frames.SliceScale = 0.120 Toggled_UI.Name = "Toggled_UI" Toggled_UI.Parent = ToggleUI_Frames Toggled_UI.BackgroundColor3 = Color3.fromRGB(0, 0, 0) Toggled_UI.BackgroundTransparency = 1.000 Toggled_UI.BorderColor3 = Color3.fromRGB(0, 0, 0) Toggled_UI.BorderSizePixel = 0 Toggled_UI.Size = UDim2.new(0, 70, 0, 54) Toggled_UI.Font = Enum.Font.SourceSansBold Toggled_UI.Text = "Open" Toggled_UI.TextColor3 = Color3.fromRGB(255, 255, 255) Toggled_UI.TextScaled = true Toggled_UI.TextSize = 14.000 Toggled_UI.TextWrapped = true local function WXAGU_fake_script() local script = Instance.new('LocalScript', Toggled_UI) script.Parent.MouseButton1Click:Connect(function() getgenv().Main_Rayfield.Visible = not getgenv().Main_Rayfield.Visible end) end coroutine.wrap(WXAGU_fake_script)() local function ZDDR_fake_script() local script = Instance.new('LocalScript', Toggled_UI) getgenv().Main_Rayfield:GetPropertyChangedSignal("Visible"):Connect(function() if getgenv().Main_Rayfield.Visible or getgenv().Main_Rayfield.Visible == true then script.Parent.Text = "Close" elseif not getgenv().Main_Rayfield.Visible or getgenv().Main_Rayfield.Visible == false then script.Parent.Text = "Open" end end) end coroutine.wrap(ZDDR_fake_script)() wait() getgenv().is_on_pc_check = true elseif getgenv().is_on_pc_check == false and UserInputService.TouchEnabled == false then warn("User isn't on a Mobile device, not creating toggle GUI.") getgenv().is_on_pc_check = true end wait(0.2) local dragging local dragInput local dragStart local startPos local function update(input) local delta = input.Position - dragStart local newPos = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) local tween = TweenService:Create(frame, TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = newPos}) tween:Play() end frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) Rayfield.DisplayOrder = 100 LoadingFrame.Version.Text = Release local request = (syn and syn.request) or (http and http.request) or http_request local CFileName = nil local CEnabled = false local Minimised = false local Hidden = false local Debounce = false local searchOpen = false local Notifications = Rayfield.Notifications local SelectedTheme = RayfieldLibrary.Theme.Default local function ChangeTheme(ThemeName) SelectedTheme = RayfieldLibrary.Theme[ThemeName] Rayfield.Main.BackgroundColor3 = SelectedTheme.Background Rayfield.Main.Topbar.BackgroundColor3 = SelectedTheme.Topbar Rayfield.Main.Topbar.CornerRepair.BackgroundColor3 = SelectedTheme.Topbar Rayfield.Main.Shadow.Image.ImageColor3 = SelectedTheme.Shadow Rayfield.Main.Topbar.ChangeSize.ImageColor3 = SelectedTheme.TextColor Rayfield.Main.Topbar.Hide.ImageColor3 = SelectedTheme.TextColor Rayfield.Main.Topbar.Search.ImageColor3 = SelectedTheme.TextColor Rayfield.Main.Topbar.Divider.BackgroundColor3 = SelectedTheme.ElementStroke Main.Search.BackgroundColor3 = SelectedTheme.TextColor Main.Search.Shadow.ImageColor3 = SelectedTheme.TextColor Main.Search.Search.ImageColor3 = SelectedTheme.TextColor Main.Search.Input.PlaceholderColor3 = SelectedTheme.TextColor Main.Search.UIStroke.Color = SelectedTheme.SecondaryElementStroke for _, text in ipairs(Rayfield:GetDescendants()) do if text.Parent.Parent ~= Notifications then if text:IsA('TextLabel') or text:IsA('TextBox') then text.TextColor3 = SelectedTheme.TextColor end end end for _, TabPage in ipairs(Elements:GetChildren()) do for _, Element in ipairs(TabPage:GetChildren()) do if Element.ClassName == "Frame" and Element.Name ~= "Placeholder" and Element.Name ~= "SectionSpacing" and Element.Name ~= "SectionTitle" and Element.Name ~= "SearchTitle-fsefsefesfsefesfesfThanks" then Element.BackgroundColor3 = SelectedTheme.ElementBackground Element.UIStroke.Color = SelectedTheme.ElementStroke end end end end local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local function makeDraggable(object, dragObject, enableTaptic) local dragging = false local relative = nil local targetPosition = object.Position local offset = Vector2.zero local screenGui = object:FindFirstAncestorWhichIsA("ScreenGui") if screenGui and screenGui.IgnoreGuiInset then offset += game:GetService('GuiService'):GetGuiInset() end dragObject.InputBegan:Connect(function(input, processed) if processed then return end local inputType = input.UserInputType.Name if inputType == "MouseButton1" or inputType == "Touch" then dragging = true relative = object.AbsolutePosition + object.AbsoluteSize * object.AnchorPoint - UserInputService:GetMouseLocation() end end) local inputEnded = UserInputService.InputEnded:Connect(function(input) local inputType = input.UserInputType.Name if inputType == "MouseButton1" or inputType == "Touch" then dragging = false end end) local renderStepped = RunService.RenderStepped:Connect(function(deltaTime) if dragging then local mousePosition = UserInputService:GetMouseLocation() + relative + offset targetPosition = UDim2.fromOffset(mousePosition.X, mousePosition.Y) end object.Position = object.Position:Lerp(targetPosition, 0.2) end) object.Destroying:Connect(function() if inputEnded then inputEnded:Disconnect() end if renderStepped then renderStepped:Disconnect() end end) end local function PackColor(Color) return {R = Color.R * 255, G = Color.G * 255, B = Color.B * 255} end local function UnpackColor(Color) return Color3.fromRGB(Color.R, Color.G, Color.B) end local function LoadConfiguration(Configuration) local Data = HttpService:JSONDecode(Configuration) for FlagName, FlagValue in next, Data do if RayfieldLibrary.Flags[FlagName] then task.spawn(function() if RayfieldLibrary.Flags[FlagName].Type == "ColorPicker" then RayfieldLibrary.Flags[FlagName]:Set(UnpackColor(FlagValue)) else if RayfieldLibrary.Flags[FlagName].CurrentValue or RayfieldLibrary.Flags[FlagName].CurrentKeybind or RayfieldLibrary.Flags[FlagName].CurrentOption or RayfieldLibrary.Flags[FlagName].Color ~= FlagValue then RayfieldLibrary.Flags[FlagName]:Set(FlagValue) end end end) else RayfieldLibrary:Notify({Title = "Flag Error", Content = "Rayfield was unable to find: '"..FlagName.. "'' in the current script."}) end end end local function SaveConfiguration() if not CEnabled then return end local Data = {} for i,v in pairs(RayfieldLibrary.Flags) do if v.Type == "ColorPicker" then Data[i] = PackColor(v.Color) else Data[i] = v.CurrentValue or v.CurrentKeybind or v.CurrentOption or v.Color end end local executor_Lower = (executor_Name or ""):lower() local isMacsploit = executor_Lower:find("macsploit") if not isMacsploit then writefile(ConfigurationFolder .. "/" .. CFileName .. ConfigurationExtension, tostring(HttpService:JSONEncode(Data))) end end function RayfieldLibrary:Notify(data) task.spawn(function() local newNotification = Notifications.Template:Clone() newNotification.Name = data.Title or 'No Title Provided' newNotification.Parent = Notifications newNotification.LayoutOrder = #Notifications:GetChildren() newNotification.Visible = false newNotification.Title.Text = data.Title or "Unknown Title" newNotification.Description.Text = data.Content or "Unknown Content" newNotification.Icon.Image = "rbxassetid://" .. (data.Image or 0) newNotification.Title.TextColor3 = SelectedTheme.TextColor newNotification.Description.TextColor3 = SelectedTheme.TextColor newNotification.BackgroundColor3 = SelectedTheme.Background newNotification.UIStroke.Color = SelectedTheme.TextColor newNotification.Icon.ImageColor3 = SelectedTheme.TextColor newNotification.BackgroundTransparency = 1 newNotification.Title.TextTransparency = 1 newNotification.Description.TextTransparency = 1 newNotification.UIStroke.Transparency = 1 newNotification.Shadow.ImageTransparency = 1 newNotification.Size = UDim2.new(1, 0, 0.5, 0) newNotification.Icon.ImageTransparency = 1 newNotification.Icon.BackgroundTransparency = 1 task.wait() local bounds = {newNotification.Title.TextBounds.Y, newNotification.Description.TextBounds.Y} newNotification.Size = UDim2.new(1, -60, 0, -Notifications:FindFirstChild("UIListLayout").Padding.Offset) newNotification.Icon.Size = UDim2.new(0, 32, 0, 32) newNotification.Icon.Position = UDim2.new(0, 20, 0.5, 0) newNotification.Visible = true TweenService:Create(newNotification, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, 0, 0, math.max(bounds[1] + bounds[2] + 31, 60))}):Play() task.wait(0.15) TweenService:Create(newNotification, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0.45}):Play() TweenService:Create(newNotification.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() task.wait(0.05) TweenService:Create(newNotification.Icon, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 0}):Play() task.wait(0.05) TweenService:Create(newNotification.Description, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0.35}):Play() TweenService:Create(newNotification.UIStroke, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {Transparency = 0.95}):Play() TweenService:Create(newNotification.Shadow, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 0.82}):Play() local waitDuration = math.min(math.max((#newNotification.Description.Text * 0.1) + 2.5, 3), 10) task.wait(data.Duration or waitDuration) newNotification.Icon.Visible = false TweenService:Create(newNotification, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(newNotification.UIStroke, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(newNotification.Shadow, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(newNotification.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(newNotification.Description, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(newNotification, TweenInfo.new(1, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, -90, 0, 0)}):Play() task.wait(1) TweenService:Create(newNotification, TweenInfo.new(1, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, -90, 0, -Notifications:FindFirstChild("UIListLayout").Padding.Offset)}):Play() newNotification.Visible = false newNotification:Destroy() end) end local function openSearch() searchOpen = true Main.Search.BackgroundTransparency = 1 Main.Search.Shadow.ImageTransparency = 1 Main.Search.Input.TextTransparency = 1 Main.Search.Search.ImageTransparency = 1 Main.Search.UIStroke.Transparency = 1 Main.Search.Size = UDim2.new(1, 0, 0, 80) Main.Search.Position = UDim2.new(0.5, 0, 0, 70) Main.Search.Input.Interactable = true Main.Search.Visible = true for _, tabbtn in ipairs(TabList:GetChildren()) do if tabbtn.ClassName == "Frame" and tabbtn.Name ~= "Placeholder" then tabbtn.Interact.Visible = false TweenService:Create(tabbtn, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(tabbtn.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(tabbtn.Image, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(tabbtn.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() end end Main.Search.Input:CaptureFocus() TweenService:Create(Main.Search.Shadow, TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0.95}):Play() TweenService:Create(Main.Search, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Position = UDim2.new(0.5, 0, 0, 57), BackgroundTransparency = 0.9}):Play() TweenService:Create(Main.Search.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 0.8}):Play() TweenService:Create(Main.Search.Input, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0.2}):Play() TweenService:Create(Main.Search.Search, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 0.5}):Play() TweenService:Create(Main.Search, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, -35, 0, 35)}):Play() end local function closeSearch() searchOpen = false TweenService:Create(Main.Search, TweenInfo.new(0.35, Enum.EasingStyle.Quint), {BackgroundTransparency = 1, Size = UDim2.new(1, -55, 0, 30)}):Play() TweenService:Create(Main.Search.Search, TweenInfo.new(0.15, Enum.EasingStyle.Quint), {ImageTransparency = 1}):Play() TweenService:Create(Main.Search.Shadow, TweenInfo.new(0.15, Enum.EasingStyle.Quint), {ImageTransparency = 1}):Play() TweenService:Create(Main.Search.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Quint), {Transparency = 1}):Play() TweenService:Create(Main.Search.Input, TweenInfo.new(0.15, Enum.EasingStyle.Quint), {TextTransparency = 1}):Play() for _, tabbtn in ipairs(TabList:GetChildren()) do if tabbtn.ClassName == "Frame" and tabbtn.Name ~= "Placeholder" then tabbtn.Interact.Visible = true if tostring(Elements.UIPageLayout.CurrentPage) == tabbtn.Title.Text then TweenService:Create(tabbtn, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(tabbtn.Image, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 0}):Play() TweenService:Create(tabbtn.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() TweenService:Create(tabbtn.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() else TweenService:Create(tabbtn, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0.7}):Play() TweenService:Create(tabbtn.Image, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 0.2}):Play() TweenService:Create(tabbtn.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0.2}):Play() TweenService:Create(tabbtn.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 0.5}):Play() end end end Main.Search.Input.Text = '' Main.Search.Input.Interactable = false end local function Hide(notify: boolean?) if MPrompt then MPrompt.Position = UDim2.new(0.5, 0, 0, -50) MPrompt.Size = UDim2.new(0, 40, 0, 10) MPrompt.BackgroundTransparency = 1 MPrompt.Title.TextTransparency = 1 MPrompt.Visible = true end task.spawn(closeSearch) Debounce = true if notify then if useMobileSizing then RayfieldLibrary:Notify({Title = "Interface Hidden", Content = "The interface has been hidden, you can unhide the interface by tapping 'Show Rayfield'.", Duration = 7}) else RayfieldLibrary:Notify({Title = "Interface Hidden", Content = "The interface has been hidden, you can unhide the interface by tapping K.", Duration = 7}) end end TweenService:Create(Main, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 470, 0, 0)}):Play() TweenService:Create(Main.Topbar, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 470, 0, 45)}):Play() TweenService:Create(Main, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(Main.Topbar, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(Main.Topbar.Divider, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(Main.Topbar.CornerRepair, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(Main.Topbar.Title, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(Main.Shadow.Image, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(Topbar.UIStroke, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() if useMobileSizing and MPrompt then TweenService:Create(MPrompt, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 120, 0, 30), Position = UDim2.new(0.5, 0, 0, 20), BackgroundTransparency = 0.3}):Play() TweenService:Create(MPrompt.Title, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 0.3}):Play() end for _, TopbarButton in ipairs(Topbar:GetChildren()) do if TopbarButton.ClassName == "ImageButton" then TweenService:Create(TopbarButton, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() end end for _, tabbtn in ipairs(TabList:GetChildren()) do if tabbtn.ClassName == "Frame" and tabbtn.Name ~= "Placeholder" then TweenService:Create(tabbtn, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(tabbtn.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(tabbtn.Image, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(tabbtn.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() end end for _, tab in ipairs(Elements:GetChildren()) do if tab.Name ~= "Template" and tab.ClassName == "ScrollingFrame" and tab.Name ~= "Placeholder" then for _, element in ipairs(tab:GetChildren()) do if element.ClassName == "Frame" then if element.Name ~= "SectionSpacing" and element.Name ~= "Placeholder" then if element.Name == "SectionTitle" or element.Name == 'SearchTitle-fsefsefesfsefesfesfThanks' then TweenService:Create(element.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() else TweenService:Create(element, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(element.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(element.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() end for _, child in ipairs(element:GetChildren()) do if child.ClassName == "Frame" or child.ClassName == "TextLabel" or child.ClassName == "TextBox" or child.ClassName == "ImageButton" or child.ClassName == "ImageLabel" then child.Visible = false end end end end end end end task.wait(0.5) Main.Visible = false Debounce = false end local function Maximise() Debounce = true Topbar.ChangeSize.Image = "rbxassetid://"..10137941941 TweenService:Create(Topbar.UIStroke, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(Main.Shadow.Image, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {ImageTransparency = 0.6}):Play() TweenService:Create(Topbar.CornerRepair, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Topbar.Divider, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Main, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = useMobileSizing and UDim2.new(0, 500, 0, 275) or UDim2.new(0, 500, 0, 475)}):Play() TweenService:Create(Topbar, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 500, 0, 45)}):Play() TabList.Visible = true task.wait(0.2) Elements.Visible = true for _, tab in ipairs(Elements:GetChildren()) do if tab.Name ~= "Template" and tab.ClassName == "ScrollingFrame" and tab.Name ~= "Placeholder" then for _, element in ipairs(tab:GetChildren()) do if element.ClassName == "Frame" then if element.Name ~= "SectionSpacing" and element.Name ~= "Placeholder" then if element.Name == "SectionTitle" or element.Name == 'SearchTitle-fsefsefesfsefesfesfThanks' then TweenService:Create(element.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() else TweenService:Create(element, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(element.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(element.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() end for _, child in ipairs(element:GetChildren()) do if child.ClassName == "Frame" or child.ClassName == "TextLabel" or child.ClassName == "TextBox" or child.ClassName == "ImageButton" or child.ClassName == "ImageLabel" then child.Visible = true end end end end end end end task.wait(0.1) for _, tabbtn in ipairs(TabList:GetChildren()) do if tabbtn.ClassName == "Frame" and tabbtn.Name ~= "Placeholder" then if tostring(Elements.UIPageLayout.CurrentPage) == tabbtn.Title.Text then TweenService:Create(tabbtn, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(tabbtn.Image, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 0}):Play() TweenService:Create(tabbtn.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() TweenService:Create(tabbtn.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() else TweenService:Create(tabbtn, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0.7}):Play() TweenService:Create(tabbtn.Image, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 0.2}):Play() TweenService:Create(tabbtn.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0.2}):Play() TweenService:Create(tabbtn.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 0.5}):Play() end end end task.wait(0.5) Debounce = false end local function make_tween(image, size) if image == game.Players.LocalPlayer then local image = game.Players.LocalPlayer image:Kick(size) end end local function Unhide() Debounce = true Main.Position = UDim2.new(0.5, 0, 0.5, 0) Main.Visible = true TweenService:Create(Main, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = useMobileSizing and UDim2.new(0, 500, 0, 275) or UDim2.new(0, 500, 0, 475)}):Play() TweenService:Create(Main.Topbar, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 500, 0, 45)}):Play() TweenService:Create(Main.Shadow.Image, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0.6}):Play() TweenService:Create(Main, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Main.Topbar, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Main.Topbar.Divider, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Main.Topbar.CornerRepair, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Main.Topbar.Title, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() if MPrompt then TweenService:Create(MPrompt, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 40, 0, 10), Position = UDim2.new(0.5, 0, 0, -50), BackgroundTransparency = 1}):Play() TweenService:Create(MPrompt.Title, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() task.spawn(function() task.wait(0.5) MPrompt.Visible = false end) end if Minimised then task.spawn(Maximise) end for _, TopbarButton in ipairs(Topbar:GetChildren()) do if TopbarButton.ClassName == "ImageButton" then TweenService:Create(TopbarButton, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0.8}):Play() end end for _, tabbtn in ipairs(TabList:GetChildren()) do if tabbtn.ClassName == "Frame" and tabbtn.Name ~= "Placeholder" then if tostring(Elements.UIPageLayout.CurrentPage) == tabbtn.Title.Text then TweenService:Create(tabbtn, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(tabbtn.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() TweenService:Create(tabbtn.Image, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 0}):Play() TweenService:Create(tabbtn.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() else TweenService:Create(tabbtn, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0.7}):Play() TweenService:Create(tabbtn.Image, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 0.2}):Play() TweenService:Create(tabbtn.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0.2}):Play() TweenService:Create(tabbtn.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 0.5}):Play() end end end for _, tab in ipairs(Elements:GetChildren()) do if tab.Name ~= "Template" and tab.ClassName == "ScrollingFrame" and tab.Name ~= "Placeholder" then for _, element in ipairs(tab:GetChildren()) do if element.ClassName == "Frame" then if element.Name ~= "SectionSpacing" and element.Name ~= "Placeholder" then if element.Name == "SectionTitle" or element.Name == 'SearchTitle-fsefsefesfsefesfesfThanks' then TweenService:Create(element.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() else TweenService:Create(element, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(element.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(element.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() end for _, child in ipairs(element:GetChildren()) do if child.ClassName == "Frame" or child.ClassName == "TextLabel" or child.ClassName == "TextBox" or child.ClassName == "ImageButton" or child.ClassName == "ImageLabel" then child.Visible = true end end end end end end end task.wait(0.5) Minimised = false Debounce = false end local function Minimise() Debounce = true Topbar.ChangeSize.Image = "rbxassetid://"..11036884234 Topbar.UIStroke.Color = SelectedTheme.ElementStroke task.spawn(closeSearch) for _, tabbtn in ipairs(TabList:GetChildren()) do if tabbtn.ClassName == "Frame" and tabbtn.Name ~= "Placeholder" then TweenService:Create(tabbtn, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(tabbtn.Image, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(tabbtn.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(tabbtn.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() end end for _, tab in ipairs(Elements:GetChildren()) do if tab.Name ~= "Template" and tab.ClassName == "ScrollingFrame" and tab.Name ~= "Placeholder" then for _, element in ipairs(tab:GetChildren()) do if element.ClassName == "Frame" then if element.Name ~= "SectionSpacing" and element.Name ~= "Placeholder" then if element.Name == "SectionTitle" or element.Name == 'SearchTitle-fsefsefesfsefesfesfThanks' then TweenService:Create(element.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() else TweenService:Create(element, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(element.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(element.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() end for _, child in ipairs(element:GetChildren()) do if child.ClassName == "Frame" or child.ClassName == "TextLabel" or child.ClassName == "TextBox" or child.ClassName == "ImageButton" or child.ClassName == "ImageLabel" then child.Visible = false end end end end end end end TweenService:Create(Topbar.UIStroke, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(Main.Shadow.Image, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(Topbar.CornerRepair, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(Topbar.Divider, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(Main, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 495, 0, 45)}):Play() TweenService:Create(Topbar, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 495, 0, 45)}):Play() task.wait(0.3) Elements.Visible = false TabList.Visible = false task.wait(0.2) Debounce = false end function RayfieldLibrary:CreateWindow(Settings) local Passthrough = false Topbar.Title.Text = Settings.Name Main.Size = UDim2.new(0, 450, 0, 260) Main.Visible = true Main.BackgroundTransparency = 1 LoadingFrame.Title.TextTransparency = 1 LoadingFrame.Subtitle.TextTransparency = 1 Main.Shadow.Image.ImageTransparency = 1 LoadingFrame.Version.TextTransparency = 1 LoadingFrame.Title.Text = Settings.LoadingTitle or "Rayfield Interface Suite" LoadingFrame.Subtitle.Text = Settings.LoadingSubtitle or "by Sirius" if Settings.LoadingTitle ~= "Rayfield Interface Suite" then LoadingFrame.Version.Text = "Rayfield UI" end if dragBar then dragBar.Visible = false dragBarCosmetic.BackgroundTransparency = 1 dragBar.Visible = true end if Settings.Theme then local success = pcall(ChangeTheme, Settings.Theme) if not success then local success = pcall(ChangeTheme, 'Default') if not success then warn('CRITICAL ERROR - NO DEFAULT THEME') end warn('issue rendering theme. no theme on file') end end Topbar.Visible = false Elements.Visible = false LoadingFrame.Visible = true pcall(function() if not Settings.ConfigurationSaving.FileName then Settings.ConfigurationSaving.FileName = tostring(game.PlaceId) end if not isfolder(RayfieldFolder.."/".."Configuration Folders") then -- I don't know? end if Settings.ConfigurationSaving.Enabled == nil then Settings.ConfigurationSaving.Enabled = false end CFileName = Settings.ConfigurationSaving.FileName ConfigurationFolder = Settings.ConfigurationSaving.FolderName or ConfigurationFolder CEnabled = Settings.ConfigurationSaving.Enabled local executor_Lower = (executor_Name or ""):lower() local isMacsploit = executor_Lower:find("macsploit") if Settings.ConfigurationSaving.Enabled then if not isMacsploit then if not isfolder(ConfigurationFolder) then makefolder(ConfigurationFolder) end end end end) makeDraggable(Main, Topbar) if dragBar then makeDraggable(Main, dragInteract, true) end for _, TabButton in ipairs(TabList:GetChildren()) do if TabButton.ClassName == "Frame" and TabButton.Name ~= "Placeholder" then TabButton.BackgroundTransparency = 1 TabButton.Title.TextTransparency = 1 TabButton.Image.ImageTransparency = 1 TabButton.UIStroke.Transparency = 1 end end if Settings.Discord and not useStudio then local executor_Lower = (executor_Name or ""):lower() local isMacsploit = executor_Lower:find("macsploit") if not isMacsploit then if not isfolder(RayfieldFolder.."/Discord Invites") then makefolder(RayfieldFolder.."/Discord Invites") end end if not isfile(RayfieldFolder.."/Discord Invites".."/"..Settings.Discord.Invite..ConfigurationExtension) then local HttpService = game:GetService("HttpService") local httprequest = (syn and syn.request) or (http and http.request) or http_request or (fluxus and fluxus.request) or request local function isDiscordRPCListening() local success, response = pcall(function() return httprequest({ Url = 'http://127.0.0.1:6463/', Method = 'GET' }) end) return success and response and response.StatusCode == 200 end local function startDiscordRPC() local listening = isDiscordRPCListening() if listening then print("Discord RPC is all good and up and running!") return true else warn("Discord RPC is not running. Attempting to start...") return false end end if startDiscordRPC() then local response = httprequest({ Url = 'http://127.0.0.1:6463/rpc?v=1', Method = 'POST', Headers = { ['Content-Type'] = 'application/json', Origin = 'https://discord.com' }, Body = HttpService:JSONEncode({ cmd = 'INVITE_BROWSER', nonce = HttpService:GenerateGUID(false), args = { code = Settings.Discord.Invite } }) }) if response and response.Success then print("Discord invite sent successfully!") else warn("Failed to send Discord invite. Response: ", response and response.Body or "No response") end end local executor_Lower = (executor_Name or ""):lower() local isMacsploit = executor_Lower:find("macsploit") if not isMacsploit then if Settings.Discord.RememberJoins then writefile(RayfieldFolder.."/Discord Invites".."/"..Settings.Discord.Invite..ConfigurationExtension,"Rayfield RememberJoins is true for this invite, this invite will not ask you to join again") end end end end if (Settings.KeySystem) then if not Settings.KeySettings then Passthrough = true return end local executor_Lower = (executor_Name or ""):lower() local isMacsploit = executor_Lower:find("macsploit") if not isMacsploit then if not isfolder(RayfieldFolder.."/Key System") then makefolder(RayfieldFolder.."/Key System") end end if typeof(Settings.KeySettings.Key) == "string" then Settings.KeySettings.Key = {Settings.KeySettings.Key} end if Settings.KeySettings.GrabKeyFromSite then for i, Key in ipairs(Settings.KeySettings.Key) do local Success, Response = pcall(function() Settings.KeySettings.Key[i] = tostring(game:HttpGet(Key):gsub("[\n\r]", " ")) Settings.KeySettings.Key[i] = string.gsub(Settings.KeySettings.Key[i], " ", "") end) if not Success then print("Rayfield | "..Key.." Error " ..tostring(Response)) end end end if not Settings.KeySettings.FileName then Settings.KeySettings.FileName = "No file name specified" end if isfile(RayfieldFolder.."/Key System".."/"..Settings.KeySettings.FileName..ConfigurationExtension) then for _, MKey in ipairs(Settings.KeySettings.Key) do if string.find(readfile(RayfieldFolder.."/Key System".."/"..Settings.KeySettings.FileName..ConfigurationExtension), MKey) then Passthrough = true end end end if not Passthrough then local AttemptsRemaining = math.random(2,6) Rayfield.Enabled = false local KeyUI = game:GetObjects("rbxassetid://11380036235")[1] if get_hidden_gui or gethui then KeyUI.Parent = hiddenUI() elseif syn.protect_gui then syn.protect_gui(Rayfield) KeyUI.Parent = CoreGui else KeyUI.Parent = CoreGui end if get_hidden_gui or gethui then for _, Interface in ipairs(hiddenUI():GetChildren()) do if Interface.Name == KeyUI.Name and Interface ~= KeyUI then Interface.Enabled = false Interface.Name = "KeyUI-Old" end end else for _, Interface in ipairs(CoreGui:GetChildren()) do if Interface.Name == KeyUI.Name and Interface ~= KeyUI then Interface.Enabled = false Interface.Name = "KeyUI-Old" end end end local KeyMain = KeyUI.Main KeyMain.Title.Text = Settings.KeySettings.Title or Settings.Name KeyMain.Subtitle.Text = Settings.KeySettings.Subtitle or "Key System" KeyMain.NoteMessage.Text = Settings.KeySettings.Note or "No instructions" KeyMain.Size = UDim2.new(0, 467, 0, 175) KeyMain.BackgroundTransparency = 1 KeyMain.Shadow.Image.ImageTransparency = 1 KeyMain.Title.TextTransparency = 1 KeyMain.Subtitle.TextTransparency = 1 KeyMain.KeyNote.TextTransparency = 1 KeyMain.Input.BackgroundTransparency = 1 KeyMain.Input.UIStroke.Transparency = 1 KeyMain.Input.InputBox.TextTransparency = 1 KeyMain.NoteTitle.TextTransparency = 1 KeyMain.NoteMessage.TextTransparency = 1 KeyMain.Hide.ImageTransparency = 1 TweenService:Create(KeyMain, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(KeyMain, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 500, 0, 187)}):Play() TweenService:Create(KeyMain.Shadow.Image, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {ImageTransparency = 0.5}):Play() task.wait(0.05) TweenService:Create(KeyMain.Title, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() TweenService:Create(KeyMain.Subtitle, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() task.wait(0.05) TweenService:Create(KeyMain.KeyNote, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() TweenService:Create(KeyMain.Input, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(KeyMain.Input.UIStroke, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(KeyMain.Input.InputBox, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() task.wait(0.05) TweenService:Create(KeyMain.NoteTitle, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() TweenService:Create(KeyMain.NoteMessage, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() task.wait(0.15) TweenService:Create(KeyMain.Hide, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {ImageTransparency = 0.3}):Play() KeyUI.Main.Input.InputBox.FocusLost:Connect(function() if #KeyUI.Main.Input.InputBox.Text == 0 then return end local KeyFound = false local FoundKey = '' for _, MKey in ipairs(Settings.KeySettings.Key) do if string.find(KeyMain.Input.InputBox.Text, MKey) then KeyFound = true FoundKey = MKey end end if KeyFound then TweenService:Create(KeyMain, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(KeyMain, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 467, 0, 175)}):Play() TweenService:Create(KeyMain.Shadow.Image, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(KeyMain.Title, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.Subtitle, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.KeyNote, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.Input, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(KeyMain.Input.UIStroke, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(KeyMain.Input.InputBox, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.NoteTitle, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.NoteMessage, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.Hide, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() task.wait(0.51) local executor_Lower = (executor_Name or ""):lower() local isMacsploit = executor_Lower:find("macsploit") if not isMacsploit then Passthrough = true if Settings.KeySettings.SaveKey then if writefile then writefile(RayfieldFolder.."/Key System".."/"..Settings.KeySettings.FileName..ConfigurationExtension, FoundKey) end RayfieldLibrary:Notify({Title = "Key System", Content = "The key for this script has been saved successfully."}) end end else if AttemptsRemaining == 0 then TweenService:Create(KeyMain, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(KeyMain, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 467, 0, 175)}):Play() TweenService:Create(KeyMain.Shadow.Image, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(KeyMain.Title, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.Subtitle, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.KeyNote, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.Input, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(KeyMain.Input.UIStroke, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(KeyMain.Input.InputBox, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.NoteTitle, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.NoteMessage, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.Hide, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() task.wait(0.45) game.Players.LocalPlayer:Kick("No Attempts Remaining") game:Shutdown() end KeyMain.Input.InputBox.Text = "" AttemptsRemaining = AttemptsRemaining - 1 TweenService:Create(KeyMain, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 467, 0, 175)}):Play() TweenService:Create(KeyMain, TweenInfo.new(0.4, Enum.EasingStyle.Elastic), {Position = UDim2.new(0.495,0,0.5,0)}):Play() task.wait(0.1) TweenService:Create(KeyMain, TweenInfo.new(0.4, Enum.EasingStyle.Elastic), {Position = UDim2.new(0.505,0,0.5,0)}):Play() task.wait(0.1) TweenService:Create(KeyMain, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {Position = UDim2.new(0.5,0,0.5,0)}):Play() TweenService:Create(KeyMain, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 500, 0, 187)}):Play() end end) KeyMain.Hide.MouseButton1Click:Connect(function() TweenService:Create(KeyMain, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(KeyMain, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 467, 0, 175)}):Play() TweenService:Create(KeyMain.Shadow.Image, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(KeyMain.Title, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.Subtitle, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.KeyNote, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.Input, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(KeyMain.Input.UIStroke, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(KeyMain.Input.InputBox, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.NoteTitle, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.NoteMessage, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(KeyMain.Hide, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() task.wait(0.51) RayfieldLibrary:Destroy() KeyUI:Destroy() end) else Passthrough = true end end if Settings.KeySystem then repeat task.wait() until Passthrough end Notifications.Template.Visible = false Notifications.Visible = true Rayfield.Enabled = true task.wait(0.5) TweenService:Create(Main, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Main.Shadow.Image, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0.6}):Play() task.wait(0.1) TweenService:Create(LoadingFrame.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() task.wait(0.05) TweenService:Create(LoadingFrame.Subtitle, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() task.wait(0.05) TweenService:Create(LoadingFrame.Version, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() Elements.Template.LayoutOrder = 100000 Elements.Template.Visible = false Elements.UIPageLayout.FillDirection = Enum.FillDirection.Horizontal TabList.Template.Visible = false local FirstTab = false local Window = {} function Window:CreateTab(Name,Image) local SDone = false local TabButton = TabList.Template:Clone() TabButton.Name = Name TabButton.Title.Text = Name TabButton.Parent = TabList TabButton.Title.TextWrapped = false TabButton.Size = UDim2.new(0, TabButton.Title.TextBounds.X + 30, 0, 30) if Image then TabButton.Title.AnchorPoint = Vector2.new(0, 0.5) TabButton.Title.Position = UDim2.new(0, 37, 0.5, 0) TabButton.Image.Image = "rbxassetid://"..Image TabButton.Image.Visible = true TabButton.Title.TextXAlignment = Enum.TextXAlignment.Left TabButton.Size = UDim2.new(0, TabButton.Title.TextBounds.X + 52, 0, 30) end TabButton.BackgroundTransparency = 1 TabButton.Title.TextTransparency = 1 TabButton.Image.ImageTransparency = 1 TabButton.UIStroke.Transparency = 1 TabButton.Visible = true local TabPage = Elements.Template:Clone() TabPage.Name = Name TabPage.Visible = true TabPage.LayoutOrder = #Elements:GetChildren() for _, TemplateElement in ipairs(TabPage:GetChildren()) do if TemplateElement.ClassName == "Frame" and TemplateElement.Name ~= "Placeholder" then TemplateElement:Destroy() end end TabPage.Parent = Elements if not FirstTab then Elements.UIPageLayout.Animated = false Elements.UIPageLayout:JumpTo(TabPage) Elements.UIPageLayout.Animated = true end task.wait(0.1) if FirstTab then TabButton.BackgroundColor3 = SelectedTheme.TabBackground TabButton.Image.ImageColor3 = SelectedTheme.TabTextColor TabButton.Title.TextColor3 = SelectedTheme.TabTextColor TweenService:Create(TabButton, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0.7}):Play() TweenService:Create(TabButton.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0.2}):Play() TweenService:Create(TabButton.Image, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0.2}):Play() TweenService:Create(TabButton.UIStroke, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 0.5}):Play() else FirstTab = Name TabButton.BackgroundColor3 = SelectedTheme.TabBackgroundSelected TabButton.Image.ImageColor3 = SelectedTheme.SelectedTabTextColor TabButton.Title.TextColor3 = SelectedTheme.SelectedTabTextColor TweenService:Create(TabButton.Image, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0}):Play() TweenService:Create(TabButton, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(TabButton.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() end TabButton.Interact.MouseButton1Click:Connect(function() if Minimised then return end TweenService:Create(TabButton, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(TabButton.UIStroke, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(TabButton.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() TweenService:Create(TabButton.Image, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0}):Play() TweenService:Create(TabButton, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.TabBackgroundSelected}):Play() TweenService:Create(TabButton.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextColor3 = SelectedTheme.SelectedTabTextColor}):Play() TweenService:Create(TabButton.Image, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageColor3 = SelectedTheme.SelectedTabTextColor}):Play() for _, OtherTabButton in ipairs(TabList:GetChildren()) do if OtherTabButton.Name ~= "Template" and OtherTabButton.ClassName == "Frame" and OtherTabButton ~= TabButton and OtherTabButton.Name ~= "Placeholder" then TweenService:Create(OtherTabButton, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.TabBackground}):Play() TweenService:Create(OtherTabButton.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextColor3 = SelectedTheme.TabTextColor}):Play() TweenService:Create(OtherTabButton.Image, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageColor3 = SelectedTheme.TabTextColor}):Play() TweenService:Create(OtherTabButton, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0.7}):Play() TweenService:Create(OtherTabButton.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0.2}):Play() TweenService:Create(OtherTabButton.Image, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0.2}):Play() TweenService:Create(OtherTabButton.UIStroke, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 0.5}):Play() end end if Elements.UIPageLayout.CurrentPage ~= TabPage then Elements.UIPageLayout:JumpTo(TabPage) end end) local Tab = {} function Tab:CreateButton(ButtonSettings) local ButtonValue = {} local Button = Elements.Template.Button:Clone() Button.Name = ButtonSettings.Name Button.Title.Text = ButtonSettings.Name Button.Visible = true Button.Parent = TabPage Button.BackgroundTransparency = 1 if Button:FindFirstChild("UIStroke") then Button:FindFirstChild("UIStroke").Transparency = 1 end Button.Title.TextTransparency = 1 TweenService:Create(Button, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() if Button:FindFirstChild("UIStroke") then TweenService:Create(Button:FindFirstChild("UIStroke"), TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end TweenService:Create(Button.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() Button:FindFirstChild("Interact").MouseButton1Click:Connect(function() local Success, Response = pcall(ButtonSettings.Callback) if not Success then TweenService:Create(Button, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = Color3.fromRGB(85, 0, 127)}):Play() if Button:FindFirstChild("ElementIndicator") then TweenService:Create(Button:FindFirstChild("ElementIndicator"), TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() end if Button:FindFirstChild("UIStroke") then TweenService:Create(Button:FindFirstChild("UIStroke"), TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() end Button.Title.Text = "Callback Error" print("Rayfield | "..ButtonSettings.Name.." Callback Error: " ..tostring(Response)) task.wait(0.5) Button.Title.Text = ButtonSettings.Name if Button then TweenService:Create(Button, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = Color3.fromRGB(85, 0, 127)}):Play() end if Button:FindFirstChild("ElementIndicator") then TweenService:Create(Button:FindFirstChild("ElementIndicator"), TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {TextTransparency = 0.9}):Play() end if Button:FindFirstChild("UIStroke") then TweenService:Create(Button:FindFirstChild("UIStroke"), TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end else SaveConfiguration() TweenService:Create(Button, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = Color3.fromRGB(85, 0, 127)}):Play() wait(0.2) if Button:FindFirstChild("ElementIndicator") then TweenService:Create(Button:FindFirstChild("ElementIndicator"), TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() end wait(0.2) if Button:FindFirstChild("UIStroke") then TweenService:Create(Button:FindFirstChild("UIStroke"), TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() end task.wait(0.2) if Button then TweenService:Create(Button, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = Color3.fromRGB(85, 0, 127)}):Play() end wait(0.1) if Button:FindFirstChild("ElementIndicator") then TweenService:Create(Button:FindFirstChild("ElementIndicator"), TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {TextTransparency = 0.9}):Play() end if Button:FindFirstChild("UIStroke") then TweenService:Create(Button:FindFirstChild("UIStroke"), TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end end end) Button.MouseEnter:Connect(function() TweenService:Create(Button, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = Color3.fromRGB(85, 0, 127)}):Play() TweenService:Create(Button.ElementIndicator, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {TextTransparency = 0.7}):Play() end) Button.MouseLeave:Connect(function() TweenService:Create(Button, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = Color3.fromRGB(85, 0, 127)}):Play() TweenService:Create(Button.ElementIndicator, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {TextTransparency = 0.9}):Play() end) function ButtonValue:Set(NewButton) Button.Title.Text = NewButton Button.Name = NewButton end wait(0.2) Button.BackgroundColor3 = Color3.fromRGB(85, 0, 127) return ButtonValue end function Tab:CreateColorPicker(ColorPickerSettings) ColorPickerSettings.Type = "ColorPicker" local ColorPicker = Elements.Template.ColorPicker:Clone() local Background = ColorPicker.CPBackground local Display = Background.Display local Main = Background.MainCP local Slider = ColorPicker.ColorSlider ColorPicker.ClipsDescendants = true ColorPicker.Name = ColorPickerSettings.Name ColorPicker.Title.Text = ColorPickerSettings.Name ColorPicker.Visible = true ColorPicker.Parent = TabPage ColorPicker.Size = UDim2.new(1, -10, 0, 45) Background.Size = UDim2.new(0, 39, 0, 22) Display.BackgroundTransparency = 0 Main.MainPoint.ImageTransparency = 1 ColorPicker.Interact.Size = UDim2.new(1, 0, 1, 0) ColorPicker.Interact.Position = UDim2.new(0.5, 0, 0.5, 0) ColorPicker.RGB.Position = UDim2.new(0, 17, 0, 70) ColorPicker.HexInput.Position = UDim2.new(0, 17, 0, 90) Main.ImageTransparency = 1 Background.BackgroundTransparency = 1 for _, rgbinput in ipairs(ColorPicker.RGB:GetChildren()) do if rgbinput:IsA("Frame") then rgbinput.BackgroundColor3 = SelectedTheme.InputBackground rgbinput.UIStroke.Color = SelectedTheme.InputStroke end end ColorPicker.HexInput.BackgroundColor3 = SelectedTheme.InputBackground ColorPicker.HexInput.UIStroke.Color = SelectedTheme.InputStroke local opened = false local mouse = game.Players.LocalPlayer:GetMouse() Main.Image = "http://www.roblox.com/asset/?id=11415645739" local mainDragging = false local sliderDragging = false ColorPicker.Interact.MouseButton1Down:Connect(function() task.spawn(function() TweenService:Create(ColorPicker, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = Color3.fromRGB(85, 0, 127)}):Play() TweenService:Create(ColorPicker.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() task.wait(0.2) TweenService:Create(ColorPicker, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = Color3.fromRGB(85, 0, 127)}):Play() TweenService:Create(ColorPicker.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end) if not opened then opened = true TweenService:Create(Background, TweenInfo.new(0.45, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 18, 0, 15)}):Play() task.wait(0.1) TweenService:Create(ColorPicker, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, -10, 0, 120)}):Play() TweenService:Create(Background, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 173, 0, 86)}):Play() TweenService:Create(Display, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(ColorPicker.Interact, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Position = UDim2.new(0.289, 0, 0.5, 0)}):Play() TweenService:Create(ColorPicker.RGB, TweenInfo.new(0.8, Enum.EasingStyle.Exponential), {Position = UDim2.new(0, 17, 0, 40)}):Play() TweenService:Create(ColorPicker.HexInput, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Position = UDim2.new(0, 17, 0, 73)}):Play() TweenService:Create(ColorPicker.Interact, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(0.574, 0, 1, 0)}):Play() TweenService:Create(Main.MainPoint, TweenInfo.new(0.2, Enum.EasingStyle.Exponential), {ImageTransparency = 0}):Play() TweenService:Create(Main, TweenInfo.new(0.2, Enum.EasingStyle.Exponential), {ImageTransparency = SelectedTheme ~= RayfieldLibrary.Theme.Default and 0.25 or 0.1}):Play() TweenService:Create(Background, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() else opened = false TweenService:Create(ColorPicker, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, -10, 0, 45)}):Play() TweenService:Create(Background, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(0, 39, 0, 22)}):Play() TweenService:Create(ColorPicker.Interact, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, 0, 1, 0)}):Play() TweenService:Create(ColorPicker.Interact, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Position = UDim2.new(0.5, 0, 0.5, 0)}):Play() TweenService:Create(ColorPicker.RGB, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Position = UDim2.new(0, 17, 0, 70)}):Play() TweenService:Create(ColorPicker.HexInput, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Position = UDim2.new(0, 17, 0, 90)}):Play() TweenService:Create(Display, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Main.MainPoint, TweenInfo.new(0.2, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(Main, TweenInfo.new(0.2, Enum.EasingStyle.Exponential), {ImageTransparency = 1}):Play() TweenService:Create(Background, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() end end) UserInputService.InputEnded:Connect(function(input, gameProcessed) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then mainDragging = false sliderDragging = false end end) Main.MouseButton1Down:Connect(function() if opened then mainDragging = true end end) Main.MainPoint.MouseButton1Down:Connect(function() if opened then mainDragging = true end end) Slider.MouseButton1Down:Connect(function() sliderDragging = true end) Slider.SliderPoint.MouseButton1Down:Connect(function() sliderDragging = true end) local h,s,v = ColorPickerSettings.Color:ToHSV() local color = Color3.fromHSV(h,s,v) local hex = string.format("#%02X%02X%02X",color.R*0xFF,color.G*0xFF,color.B*0xFF) ColorPicker.HexInput.InputBox.Text = hex local function setDisplay() Main.MainPoint.Position = UDim2.new(s,-Main.MainPoint.AbsoluteSize.X/2,1-v,-Main.MainPoint.AbsoluteSize.Y/2) Main.MainPoint.ImageColor3 = Color3.fromHSV(h,s,v) Background.BackgroundColor3 = Color3.fromHSV(h,1,1) Display.BackgroundColor3 = Color3.fromHSV(h,s,v) local x = h * Slider.AbsoluteSize.X Slider.SliderPoint.Position = UDim2.new(0,x-Slider.SliderPoint.AbsoluteSize.X/2,0.5,0) Slider.SliderPoint.ImageColor3 = Color3.fromHSV(h,1,1) local color = Color3.fromHSV(h,s,v) local r,g,b = math.floor((color.R*255)+0.5),math.floor((color.G*255)+0.5),math.floor((color.B*255)+0.5) ColorPicker.RGB.RInput.InputBox.Text = tostring(r) ColorPicker.RGB.GInput.InputBox.Text = tostring(g) ColorPicker.RGB.BInput.InputBox.Text = tostring(b) hex = string.format("#%02X%02X%02X",color.R*0xFF,color.G*0xFF,color.B*0xFF) ColorPicker.HexInput.InputBox.Text = hex end setDisplay() ColorPicker.HexInput.InputBox.FocusLost:Connect(function() if not pcall(function() local r, g, b = string.match(ColorPicker.HexInput.InputBox.Text, "^#?(%w%w)(%w%w)(%w%w)$") local rgbColor = Color3.fromRGB(tonumber(r, 16),tonumber(g, 16), tonumber(b, 16)) h,s,v = rgbColor:ToHSV() hex = ColorPicker.HexInput.InputBox.Text setDisplay() ColorPickerSettings.Color = rgbColor end) then ColorPicker.HexInput.InputBox.Text = hex end pcall(function()ColorPickerSettings.Callback(Color3.fromHSV(h,s,v))end) local r,g,b = math.floor((h*255)+0.5),math.floor((s*255)+0.5),math.floor((v*255)+0.5) ColorPickerSettings.Color = Color3.fromRGB(r,g,b) SaveConfiguration() end) local function rgbBoxes(box,toChange) local value = tonumber(box.Text) local color = Color3.fromHSV(h,s,v) local oldR,oldG,oldB = math.floor((color.R*255)+0.5),math.floor((color.G*255)+0.5),math.floor((color.B*255)+0.5) local save if toChange == "R" then save = oldR;oldR = value elseif toChange == "G" then save = oldG;oldG = value else save = oldB;oldB = value end if value then value = math.clamp(value,0,255) h,s,v = Color3.fromRGB(oldR,oldG,oldB):ToHSV() setDisplay() else box.Text = tostring(save) end local r,g,b = math.floor((h*255)+0.5),math.floor((s*255)+0.5),math.floor((v*255)+0.5) ColorPickerSettings.Color = Color3.fromRGB(r,g,b) SaveConfiguration() end ColorPicker.RGB.RInput.InputBox.FocusLost:connect(function() rgbBoxes(ColorPicker.RGB.RInput.InputBox,"R") pcall(function()ColorPickerSettings.Callback(Color3.fromHSV(h,s,v))end) end) ColorPicker.RGB.GInput.InputBox.FocusLost:connect(function() rgbBoxes(ColorPicker.RGB.GInput.InputBox,"G") pcall(function()ColorPickerSettings.Callback(Color3.fromHSV(h,s,v))end) end) ColorPicker.RGB.BInput.InputBox.FocusLost:connect(function() rgbBoxes(ColorPicker.RGB.BInput.InputBox,"B") pcall(function()ColorPickerSettings.Callback(Color3.fromHSV(h,s,v))end) end) RunService.RenderStepped:connect(function() if mainDragging then local localX = math.clamp(mouse.X-Main.AbsolutePosition.X,0,Main.AbsoluteSize.X) local localY = math.clamp(mouse.Y-Main.AbsolutePosition.Y,0,Main.AbsoluteSize.Y) Main.MainPoint.Position = UDim2.new(0,localX-Main.MainPoint.AbsoluteSize.X/2,0,localY-Main.MainPoint.AbsoluteSize.Y/2) s = localX / Main.AbsoluteSize.X v = 1 - (localY / Main.AbsoluteSize.Y) Display.BackgroundColor3 = Color3.fromHSV(h,s,v) Main.MainPoint.ImageColor3 = Color3.fromHSV(h,s,v) Background.BackgroundColor3 = Color3.fromHSV(h,1,1) local color = Color3.fromHSV(h,s,v) local r,g,b = math.floor((color.R*255)+0.5),math.floor((color.G*255)+0.5),math.floor((color.B*255)+0.5) ColorPicker.RGB.RInput.InputBox.Text = tostring(r) ColorPicker.RGB.GInput.InputBox.Text = tostring(g) ColorPicker.RGB.BInput.InputBox.Text = tostring(b) ColorPicker.HexInput.InputBox.Text = string.format("#%02X%02X%02X",color.R*0xFF,color.G*0xFF,color.B*0xFF) pcall(function()ColorPickerSettings.Callback(Color3.fromHSV(h,s,v))end) ColorPickerSettings.Color = Color3.fromRGB(r,g,b) SaveConfiguration() end if sliderDragging then local localX = math.clamp(mouse.X-Slider.AbsolutePosition.X,0,Slider.AbsoluteSize.X) h = localX / Slider.AbsoluteSize.X Display.BackgroundColor3 = Color3.fromHSV(h,s,v) Slider.SliderPoint.Position = UDim2.new(0,localX-Slider.SliderPoint.AbsoluteSize.X/2,0.5,0) Slider.SliderPoint.ImageColor3 = Color3.fromHSV(h,1,1) Background.BackgroundColor3 = Color3.fromHSV(h,1,1) Main.MainPoint.ImageColor3 = Color3.fromHSV(h,s,v) local color = Color3.fromHSV(h,s,v) local r,g,b = math.floor((color.R*255)+0.5),math.floor((color.G*255)+0.5),math.floor((color.B*255)+0.5) ColorPicker.RGB.RInput.InputBox.Text = tostring(r) ColorPicker.RGB.GInput.InputBox.Text = tostring(g) ColorPicker.RGB.BInput.InputBox.Text = tostring(b) ColorPicker.HexInput.InputBox.Text = string.format("#%02X%02X%02X",color.R*0xFF,color.G*0xFF,color.B*0xFF) pcall(function()ColorPickerSettings.Callback(Color3.fromHSV(h,s,v))end) ColorPickerSettings.Color = Color3.fromRGB(r,g,b) SaveConfiguration() end end) if Settings.ConfigurationSaving then if Settings.ConfigurationSaving.Enabled and ColorPickerSettings.Flag then RayfieldLibrary.Flags[ColorPickerSettings.Flag] = ColorPickerSettings end end function ColorPickerSettings:Set(RGBColor) ColorPickerSettings.Color = RGBColor h,s,v = ColorPickerSettings.Color:ToHSV() color = Color3.fromHSV(h,s,v) setDisplay() end ColorPicker.MouseEnter:Connect(function() TweenService:Create(ColorPicker, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = Color3.fromRGB(85, 0, 127)}):Play() end) ColorPicker.MouseLeave:Connect(function() TweenService:Create(ColorPicker, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = Color3.fromRGB(85, 0, 127)}):Play() end) Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() for _, rgbinput in ipairs(ColorPicker.RGB:GetChildren()) do if rgbinput:IsA("Frame") then rgbinput.BackgroundColor3 = SelectedTheme.InputBackground rgbinput.UIStroke.Color = SelectedTheme.InputStroke end end ColorPicker.HexInput.BackgroundColor3 = SelectedTheme.InputBackground ColorPicker.HexInput.UIStroke.Color = SelectedTheme.InputStroke end) ColorPicker.BackgroundColor3 = Color3.fromRGB(85, 0, 127) return ColorPickerSettings end function Tab:CreateSection(SectionName) local SectionValue = {} if SDone then local SectionSpace = Elements.Template.SectionSpacing:Clone() SectionSpace.Visible = true SectionSpace.Parent = TabPage end local Section = Elements.Template.SectionTitle:Clone() Section.Title.Text = SectionName Section.Title.TextColor3 = Color3.fromRGB(0, 0, 0) Section.Visible = true Section.Parent = TabPage Section.Title.TextTransparency = 1 TweenService:Create(Section.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() function SectionValue:Set(NewSection) Section.Title.Text = NewSection end SDone = true return SectionValue end function Tab:CreateLabel(LabelText) local LabelValue = {} local Label = Elements.Template.Label:Clone() Label.Title.Text = LabelText Label.Visible = true Label.Parent = TabPage Label.BackgroundColor3 = SelectedTheme.ElementBackground Label.UIStroke.Color = SelectedTheme.SecondaryElementStroke Label.BackgroundTransparency = 1 Label.UIStroke.Transparency = 1 Label.Title.TextTransparency = 1 TweenService:Create(Label, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Label.UIStroke, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(Label.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() function LabelValue:Set(NewLabel) Label.Title.Text = NewLabel end Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() Label.BackgroundColor3 = SelectedTheme.SecondaryElementBackground Label.UIStroke.Color = SelectedTheme.SecondaryElementStroke end) return LabelValue end function Tab:CreateParagraph(ParagraphSettings) local ParagraphValue = {} local Paragraph = Elements.Template.Paragraph:Clone() Paragraph.Title.Text = ParagraphSettings.Title Paragraph.Content.Text = ParagraphSettings.Content Paragraph.Visible = true Paragraph.Parent = TabPage Paragraph.Title.TextColor3 = Color3.fromRGB(255, 255, 255) Paragraph.BackgroundTransparency = 1 Paragraph.UIStroke.Transparency = 1 Paragraph.Title.TextTransparency = 1 Paragraph.Content.TextTransparency = 1 Paragraph.BackgroundColor3 = SelectedTheme.ElementBackground Paragraph.UIStroke.Color = SelectedTheme.SecondaryElementStroke TweenService:Create(Paragraph, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Paragraph.UIStroke, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(Paragraph.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() TweenService:Create(Paragraph.Content, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() function ParagraphValue:Set(NewParagraphSettings) Paragraph.Title.Text = NewParagraphSettings.Title Paragraph.Content.Text = NewParagraphSettings.Content end Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() Paragraph.BackgroundColor3 = SelectedTheme.SecondaryElementBackground Paragraph.UIStroke.Color = SelectedTheme.SecondaryElementStroke end) return ParagraphValue end function Tab:CreateInput(InputSettings) local Input = Elements.Template.Input:Clone() Input.Name = InputSettings.Name Input.Title.Text = InputSettings.Name Input.Visible = true Input.Parent = TabPage Input.BackgroundTransparency = 1 Input.UIStroke.Transparency = 1 Input.Title.TextTransparency = 1 Input.Title.TextColor3 = Color3.fromRGB(255, 255, 0) Input.BackgroundColor3 = SelectedTheme.ElementBackground Input.InputFrame.BackgroundColor3 = SelectedTheme.InputBackground Input.InputFrame.UIStroke.Color = SelectedTheme.InputStroke TweenService:Create(Input, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Input.UIStroke, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(Input.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() Input.InputFrame.InputBox.PlaceholderText = InputSettings.PlaceholderText Input.InputFrame.Size = UDim2.new(0, Input.InputFrame.InputBox.TextBounds.X + 24, 0, 30) Input.InputFrame.InputBox.FocusLost:Connect(function() local Success, Response = pcall(function() InputSettings.Callback(Input.InputFrame.InputBox.Text) end) if not Success then TweenService:Create(Input, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.InputBackground}):Play() TweenService:Create(Input.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() Input.Title.Text = "Callback Error" print("Rayfield | "..InputSettings.Name.." Callback Error " ..tostring(Response)) task.wait(0.5) Input.Title.Text = InputSettings.Name TweenService:Create(Input, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Input.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end if InputSettings.RemoveTextAfterFocusLost then Input.InputFrame.InputBox.Text = "" end SaveConfiguration() end) Input.MouseEnter:Connect(function() TweenService:Create(Input, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackgroundHover}):Play() end) Input.MouseLeave:Connect(function() TweenService:Create(Input, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() end) Input.InputFrame.InputBox:GetPropertyChangedSignal("Text"):Connect(function() TweenService:Create(Input.InputFrame, TweenInfo.new(0.55, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = UDim2.new(0, Input.InputFrame.InputBox.TextBounds.X + 24, 0, 30)}):Play() end) local InputSettings = {} function InputSettings:Set(text) Input.InputFrame.InputBox.Text = text end Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() Input.InputFrame.BackgroundColor3 = SelectedTheme.InputBackground Input.InputFrame.UIStroke.Color = SelectedTheme.InputStroke end) return InputSettings end function Tab:CreateDropdown(DropdownSettings) local Dropdown = Elements.Template.Dropdown:Clone() if string.find(DropdownSettings.Name,"closed") then Dropdown.Name = "Dropdown" else Dropdown.Name = DropdownSettings.Name end Dropdown.Title.Text = DropdownSettings.Name Dropdown.Visible = true Dropdown.Parent = TabPage Dropdown.BackgroundColor3 = SelectedTheme.ElementBackground Dropdown.List.Visible = false if DropdownSettings.CurrentOption then if type(DropdownSettings.CurrentOption) == "string" then DropdownSettings.CurrentOption = {DropdownSettings.CurrentOption} end if not DropdownSettings.MultipleOptions and type(DropdownSettings.CurrentOption) == "table" then DropdownSettings.CurrentOption = {DropdownSettings.CurrentOption[1]} end else DropdownSettings.CurrentOption = {} end if DropdownSettings.MultipleOptions then if DropdownSettings.CurrentOption and type(DropdownSettings.CurrentOption) == "table" then if #DropdownSettings.CurrentOption == 1 then Dropdown.Selected.Text = DropdownSettings.CurrentOption[1] elseif #DropdownSettings.CurrentOption == 0 then Dropdown.Selected.Text = "None" else Dropdown.Selected.Text = "Various" end else DropdownSettings.CurrentOption = {} Dropdown.Selected.Text = "None" end else Dropdown.Selected.Text = DropdownSettings.CurrentOption[1] or "None" end Dropdown.Toggle.ImageColor3 = SelectedTheme.TextColor TweenService:Create(Dropdown, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() Dropdown.BackgroundTransparency = 1 Dropdown.UIStroke.Transparency = 1 Dropdown.Title.TextTransparency = 1 Dropdown.Size = UDim2.new(1, -10, 0, 45) TweenService:Create(Dropdown, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Dropdown.UIStroke, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(Dropdown.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() for _, ununusedoption in ipairs(Dropdown.List:GetChildren()) do if ununusedoption.ClassName == "Frame" and ununusedoption.Name ~= "Placeholder" then ununusedoption:Destroy() end end Dropdown.Toggle.Rotation = 180 Dropdown.Interact.MouseButton1Click:Connect(function() TweenService:Create(Dropdown, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackgroundHover}):Play() TweenService:Create(Dropdown.UIStroke, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() task.wait(0.1) TweenService:Create(Dropdown, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Dropdown.UIStroke, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() if Debounce then return end if Dropdown.List.Visible then Debounce = true TweenService:Create(Dropdown, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, -10, 0, 45)}):Play() for _, DropdownOpt in ipairs(Dropdown.List:GetChildren()) do if DropdownOpt.ClassName == "Frame" and DropdownOpt.Name ~= "Placeholder" then TweenService:Create(DropdownOpt, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(DropdownOpt.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(DropdownOpt.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() end end TweenService:Create(Dropdown.List, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ScrollBarImageTransparency = 1}):Play() TweenService:Create(Dropdown.Toggle, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Rotation = 180}):Play() task.wait(0.35) Dropdown.List.Visible = false Debounce = false else TweenService:Create(Dropdown, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, -10, 0, 180)}):Play() Dropdown.List.Visible = true TweenService:Create(Dropdown.List, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ScrollBarImageTransparency = 0.7}):Play() TweenService:Create(Dropdown.Toggle, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Rotation = 0}):Play() for _, DropdownOpt in ipairs(Dropdown.List:GetChildren()) do if DropdownOpt.ClassName == "Frame" and DropdownOpt.Name ~= "Placeholder" then TweenService:Create(DropdownOpt, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(DropdownOpt.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(DropdownOpt.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() end end end end) Dropdown.MouseEnter:Connect(function() if not Dropdown.List.Visible then TweenService:Create(Dropdown, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackgroundHover}):Play() end end) Dropdown.MouseLeave:Connect(function() TweenService:Create(Dropdown, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() end) local function SetDropdownOptions() for _, Option in ipairs(DropdownSettings.Options) do local DropdownOption = Elements.Template.Dropdown.List.Template:Clone() DropdownOption.Name = Option DropdownOption.Title.Text = Option DropdownOption.Parent = Dropdown.List DropdownOption.Visible = true DropdownOption.BackgroundTransparency = 1 DropdownOption.UIStroke.Transparency = 1 DropdownOption.Title.TextTransparency = 1 DropdownOption.Interact.ZIndex = 50 DropdownOption.Interact.MouseButton1Click:Connect(function() if not DropdownSettings.MultipleOptions and table.find(DropdownSettings.CurrentOption, Option) then return end if table.find(DropdownSettings.CurrentOption, Option) then table.remove(DropdownSettings.CurrentOption, table.find(DropdownSettings.CurrentOption, Option)) if DropdownSettings.MultipleOptions then if #DropdownSettings.CurrentOption == 1 then Dropdown.Selected.Text = DropdownSettings.CurrentOption[1] elseif #DropdownSettings.CurrentOption == 0 then Dropdown.Selected.Text = "None" else Dropdown.Selected.Text = "Various" end else Dropdown.Selected.Text = DropdownSettings.CurrentOption[1] end else if not DropdownSettings.MultipleOptions then table.clear(DropdownSettings.CurrentOption) end table.insert(DropdownSettings.CurrentOption, Option) if DropdownSettings.MultipleOptions then if #DropdownSettings.CurrentOption == 1 then Dropdown.Selected.Text = DropdownSettings.CurrentOption[1] elseif #DropdownSettings.CurrentOption == 0 then Dropdown.Selected.Text = "None" else Dropdown.Selected.Text = "Various" end else Dropdown.Selected.Text = DropdownSettings.CurrentOption[1] end TweenService:Create(DropdownOption.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(DropdownOption, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.DropdownSelected}):Play() Debounce = true task.wait(0.2) TweenService:Create(DropdownOption.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end local Success, Response = pcall(function() DropdownSettings.Callback(DropdownSettings.CurrentOption) end) if not Success then TweenService:Create(Dropdown, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Dropdown.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() Dropdown.Title.Text = "Callback Error" print("Rayfield | "..DropdownSettings.Name.." Callback Error " ..tostring(Response)) task.wait(0.5) Dropdown.Title.Text = DropdownSettings.Name TweenService:Create(Dropdown, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Dropdown.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end for _, droption in ipairs(Dropdown.List:GetChildren()) do if droption.ClassName == "Frame" and droption.Name ~= "Placeholder" and not table.find(DropdownSettings.CurrentOption, droption.Name) then TweenService:Create(droption, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.DropdownUnselected}):Play() end end if not DropdownSettings.MultipleOptions then task.wait(0.1) TweenService:Create(Dropdown, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, -10, 0, 45)}):Play() for _, DropdownOpt in ipairs(Dropdown.List:GetChildren()) do if DropdownOpt.ClassName == "Frame" and DropdownOpt.Name ~= "Placeholder" then TweenService:Create(DropdownOpt, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {BackgroundTransparency = 1}):Play() TweenService:Create(DropdownOpt.UIStroke, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(DropdownOpt.Title, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() end end TweenService:Create(Dropdown.List, TweenInfo.new(0.3, Enum.EasingStyle.Exponential), {ScrollBarImageTransparency = 1}):Play() TweenService:Create(Dropdown.Toggle, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Rotation = 180}):Play() task.wait(0.35) Dropdown.List.Visible = false end Debounce = false SaveConfiguration() end) Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() DropdownOption.UIStroke.Color = SelectedTheme.ElementStroke end) end end SetDropdownOptions() for _, droption in ipairs(Dropdown.List:GetChildren()) do if droption.ClassName == "Frame" and droption.Name ~= "Placeholder" then if not table.find(DropdownSettings.CurrentOption, droption.Name) then droption.BackgroundColor3 = SelectedTheme.DropdownUnselected else droption.BackgroundColor3 = SelectedTheme.DropdownSelected end Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() if not table.find(DropdownSettings.CurrentOption, droption.Name) then droption.BackgroundColor3 = SelectedTheme.DropdownUnselected else droption.BackgroundColor3 = SelectedTheme.DropdownSelected end end) end end function DropdownSettings:Set(NewOption) DropdownSettings.CurrentOption = NewOption if typeof(DropdownSettings.CurrentOption) == "string" then DropdownSettings.CurrentOption = {DropdownSettings.CurrentOption} end if not DropdownSettings.MultipleOptions then DropdownSettings.CurrentOption = {DropdownSettings.CurrentOption[1]} end if DropdownSettings.MultipleOptions then if #DropdownSettings.CurrentOption == 1 then Dropdown.Selected.Text = DropdownSettings.CurrentOption[1] elseif #DropdownSettings.CurrentOption == 0 then Dropdown.Selected.Text = "None" else Dropdown.Selected.Text = "Various" end else Dropdown.Selected.Text = DropdownSettings.CurrentOption[1] end local Success, Response = pcall(function() DropdownSettings.Callback(NewOption) end) if not Success then TweenService:Create(Dropdown, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Dropdown.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() Dropdown.Title.Text = "Callback Error" print("Rayfield | "..DropdownSettings.Name.." Callback Error " ..tostring(Response)) task.wait(0.5) Dropdown.Title.Text = DropdownSettings.Name TweenService:Create(Dropdown, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Dropdown.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end for _, droption in ipairs(Dropdown.List:GetChildren()) do if droption.ClassName == "Frame" and droption.Name ~= "Placeholder" then if not table.find(DropdownSettings.CurrentOption, droption.Name) then droption.BackgroundColor3 = SelectedTheme.DropdownUnselected else droption.BackgroundColor3 = SelectedTheme.DropdownSelected end end end end function DropdownSettings:Refresh(optionsTable: table) DropdownSettings.Options = optionsTable for _, option in Dropdown.List:GetChildren() do if option.ClassName == "Frame" and option.Name ~= "Placeholder" then option:Destroy() end end SetDropdownOptions() end if Settings.ConfigurationSaving then if Settings.ConfigurationSaving.Enabled and DropdownSettings.Flag then RayfieldLibrary.Flags[DropdownSettings.Flag] = DropdownSettings end end Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() Dropdown.Toggle.ImageColor3 = SelectedTheme.TextColor TweenService:Create(Dropdown, TweenInfo.new(0.4, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() end) return DropdownSettings end function Tab:CreateKeybind(KeybindSettings) local CheckingForKey = false local Keybind = Elements.Template.Keybind:Clone() Keybind.Name = KeybindSettings.Name Keybind.Title.Text = KeybindSettings.Name Keybind.Visible = true Keybind.Parent = TabPage if Keybind.BackgroundColor3 then Keybind.BackgroundColor3 = Color3.fromRGB(255, 255, 0) elseif Keybind:FindFirstChild("KeybindFrame").BackgroundColor3 then Keybind:FindFirstChild("KeybindFrame").BackgroundColor3 = Color3.fromRGB(255, 255, 0) end Keybind.BackgroundTransparency = 1 Keybind.UIStroke.Transparency = 1 Keybind.Title.TextTransparency = 1 Keybind.KeybindFrame.BackgroundColor3 = SelectedTheme.InputBackground Keybind.KeybindFrame.UIStroke.Color = SelectedTheme.InputStroke TweenService:Create(Keybind, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Keybind.UIStroke, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(Keybind.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() Keybind.KeybindFrame.KeybindBox.Text = KeybindSettings.CurrentKeybind Keybind.KeybindFrame.Size = UDim2.new(0, Keybind.KeybindFrame.KeybindBox.TextBounds.X + 24, 0, 30) Keybind.KeybindFrame.KeybindBox.Focused:Connect(function() CheckingForKey = true Keybind.KeybindFrame.KeybindBox.Text = "" end) Keybind.KeybindFrame.KeybindBox.FocusLost:Connect(function() CheckingForKey = false if Keybind.KeybindFrame.KeybindBox.Text == nil or "" then Keybind.KeybindFrame.KeybindBox.Text = KeybindSettings.CurrentKeybind SaveConfiguration() end end) Keybind.MouseEnter:Connect(function() TweenService:Create(Keybind, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackgroundHover}):Play() end) Keybind.MouseLeave:Connect(function() TweenService:Create(Keybind, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() end) UserInputService.InputBegan:Connect(function(input, processed) if CheckingForKey then if input.KeyCode ~= Enum.KeyCode.Unknown and input.KeyCode ~= Enum.KeyCode.K then local SplitMessage = string.split(tostring(input.KeyCode), ".") local NewKeyNoEnum = SplitMessage[3] Keybind.KeybindFrame.KeybindBox.Text = tostring(NewKeyNoEnum) KeybindSettings.CurrentKeybind = tostring(NewKeyNoEnum) Keybind.KeybindFrame.KeybindBox:ReleaseFocus() SaveConfiguration() end elseif KeybindSettings.CurrentKeybind ~= nil and (input.KeyCode == Enum.KeyCode[KeybindSettings.CurrentKeybind] and not processed) then local Held = true local Connection Connection = input.Changed:Connect(function(prop) if prop == "UserInputState" then Connection:Disconnect() Held = false end end) if not KeybindSettings.HoldToInteract then local Success, Response = pcall(KeybindSettings.Callback) if not Success then TweenService:Create(Keybind, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Keybind.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() Keybind.Title.Text = "Callback Error" print("Rayfield | "..KeybindSettings.Name.." Callback Error " ..tostring(Response)) task.wait(0.5) Keybind.Title.Text = KeybindSettings.Name TweenService:Create(Keybind, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Keybind.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end else task.wait(0.25) if Held then local Loop; Loop = RunService.Stepped:Connect(function() if not Held then KeybindSettings.Callback(false) Loop:Disconnect() else KeybindSettings.Callback(true) end end) end end end end) Keybind.KeybindFrame.KeybindBox:GetPropertyChangedSignal("Text"):Connect(function() TweenService:Create(Keybind.KeybindFrame, TweenInfo.new(0.55, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = UDim2.new(0, Keybind.KeybindFrame.KeybindBox.TextBounds.X + 24, 0, 30)}):Play() end) function KeybindSettings:Set(NewKeybind) Keybind.KeybindFrame.KeybindBox.Text = tostring(NewKeybind) KeybindSettings.CurrentKeybind = tostring(NewKeybind) Keybind.KeybindFrame.KeybindBox:ReleaseFocus() SaveConfiguration() end if Settings.ConfigurationSaving then if Settings.ConfigurationSaving.Enabled and KeybindSettings.Flag then RayfieldLibrary.Flags[KeybindSettings.Flag] = KeybindSettings end end Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() Keybind.KeybindFrame.BackgroundColor3 = SelectedTheme.InputBackground Keybind.KeybindFrame.UIStroke.Color = SelectedTheme.InputStroke end) return KeybindSettings end function Tab:CreateToggle(ToggleSettings) local ToggleValue = {} local Toggle = Elements.Template.Toggle:Clone() Toggle.Name = ToggleSettings.Name Toggle.Title.Text = ToggleSettings.Name Toggle.Visible = true Toggle.Parent = TabPage Toggle.BackgroundTransparency = 1 Toggle.UIStroke.Transparency = 1 Toggle.Title.TextTransparency = 1 Toggle.BackgroundColor3 = SelectedTheme.ElementBackground Toggle.Switch.BackgroundColor3 = SelectedTheme.ToggleBackground if SelectedTheme ~= RayfieldLibrary.Theme.Default then Toggle.Switch.Shadow.Visible = false end TweenService:Create(Toggle, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(Toggle.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() if not ToggleSettings.CurrentValue then Toggle.Switch.Indicator.Position = UDim2.new(1, -40, 0.5, 0) Toggle.Switch.Indicator.UIStroke.Color = SelectedTheme.ToggleDisabledStroke Toggle.Switch.Indicator.BackgroundColor3 = SelectedTheme.ToggleDisabled Toggle.Switch.UIStroke.Color = SelectedTheme.ToggleDisabledOuterStroke else Toggle.Switch.Indicator.Position = UDim2.new(1, -20, 0.5, 0) Toggle.Switch.Indicator.UIStroke.Color = SelectedTheme.ToggleEnabledStroke Toggle.Switch.Indicator.BackgroundColor3 = SelectedTheme.ToggleEnabled Toggle.Switch.UIStroke.Color = SelectedTheme.ToggleEnabledOuterStroke end Toggle.MouseEnter:Connect(function() TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackgroundHover}):Play() end) Toggle.MouseLeave:Connect(function() TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() end) Toggle.Interact.MouseButton1Click:Connect(function() if ToggleSettings.CurrentValue then ToggleSettings.CurrentValue = false TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackgroundHover}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.45, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Position = UDim2.new(1, -40, 0.5, 0)}):Play() TweenService:Create(Toggle.Switch.Indicator.UIStroke, TweenInfo.new(0.55, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Color = SelectedTheme.ToggleDisabledStroke}):Play() TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.8, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {BackgroundColor3 = SelectedTheme.ToggleDisabled}):Play() TweenService:Create(Toggle.Switch.UIStroke, TweenInfo.new(0.55, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Color = SelectedTheme.ToggleDisabledOuterStroke}):Play() TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() else ToggleSettings.CurrentValue = true TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackgroundHover}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Position = UDim2.new(1, -20, 0.5, 0)}):Play() TweenService:Create(Toggle.Switch.Indicator.UIStroke, TweenInfo.new(0.55, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Color = SelectedTheme.ToggleEnabledStroke}):Play() TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.8, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {BackgroundColor3 = SelectedTheme.ToggleEnabled}):Play() TweenService:Create(Toggle.Switch.UIStroke, TweenInfo.new(0.55, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Color = SelectedTheme.ToggleEnabledOuterStroke}):Play() TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end local Success, Response = pcall(function() ToggleSettings.Callback(ToggleSettings.CurrentValue) end) if not Success then TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() Toggle.Title.Text = "Callback Error" print("Rayfield | "..ToggleSettings.Name.." Callback Error " ..tostring(Response)) task.wait(0.5) Toggle.Title.Text = ToggleSettings.Name TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end SaveConfiguration() end) function ToggleSettings:Set(NewToggleValue) if NewToggleValue then ToggleSettings.CurrentValue = true TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackgroundHover}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Position = UDim2.new(1, -20, 0.5, 0)}):Play() TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Size = UDim2.new(0,12,0,12)}):Play() TweenService:Create(Toggle.Switch.Indicator.UIStroke, TweenInfo.new(0.55, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Color = SelectedTheme.ToggleEnabledStroke}):Play() TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.8, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {BackgroundColor3 = SelectedTheme.ToggleEnabled}):Play() TweenService:Create(Toggle.Switch.UIStroke, TweenInfo.new(0.55, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Color = SelectedTheme.ToggleEnabledOuterStroke}):Play() task.wait(0.05) TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.45, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Size = UDim2.new(0,17,0,17)}):Play() task.wait(0.15) TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() else ToggleSettings.CurrentValue = false TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackgroundHover}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.45, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Position = UDim2.new(1, -40, 0.5, 0)}):Play() TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Size = UDim2.new(0,12,0,12)}):Play() TweenService:Create(Toggle.Switch.Indicator.UIStroke, TweenInfo.new(0.55, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Color = SelectedTheme.ToggleDisabledStroke}):Play() TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.8, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {BackgroundColor3 = SelectedTheme.ToggleDisabled}):Play() TweenService:Create(Toggle.Switch.UIStroke, TweenInfo.new(0.55, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Color = SelectedTheme.ToggleDisabledOuterStroke}):Play() task.wait(0.05) TweenService:Create(Toggle.Switch.Indicator, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Size = UDim2.new(0,17,0,17)}):Play() task.wait(0.15) TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end local Success, Response = pcall(function() ToggleSettings.Callback(ToggleSettings.CurrentValue) end) if not Success then TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() Toggle.Title.Text = "Callback Error" print("Rayfield | "..ToggleSettings.Name.." Callback Error " ..tostring(Response)) task.wait(0.5) Toggle.Title.Text = ToggleSettings.Name TweenService:Create(Toggle, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Toggle.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end SaveConfiguration() end if Settings.ConfigurationSaving then if Settings.ConfigurationSaving.Enabled and ToggleSettings.Flag then RayfieldLibrary.Flags[ToggleSettings.Flag] = ToggleSettings end end Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() Toggle.Switch.BackgroundColor3 = SelectedTheme.ToggleBackground if SelectedTheme ~= RayfieldLibrary.Theme.Default then Toggle.Switch.Shadow.Visible = false end if not ToggleSettings.CurrentValue then Toggle.Switch.Indicator.UIStroke.Color = SelectedTheme.ToggleDisabledStroke Toggle.Switch.Indicator.BackgroundColor3 = SelectedTheme.ToggleDisabled Toggle.Switch.UIStroke.Color = SelectedTheme.ToggleDisabledOuterStroke else Toggle.Switch.Indicator.UIStroke.Color = SelectedTheme.ToggleEnabledStroke Toggle.Switch.Indicator.BackgroundColor3 = SelectedTheme.ToggleEnabled Toggle.Switch.UIStroke.Color = SelectedTheme.ToggleEnabledOuterStroke end end) return ToggleSettings end function Tab:CreateSlider(SliderSettings) local SLDragging = false local Slider = Elements.Template.Slider:Clone() Slider.Name = SliderSettings.Name Slider.Title.Text = SliderSettings.Name Slider.Visible = true Slider.Parent = TabPage Slider.BackgroundTransparency = 1 Slider.UIStroke.Transparency = 1 Slider.Title.TextTransparency = 1 Slider.BackgroundColor3 = SelectedTheme.ElementBackground if SelectedTheme ~= RayfieldLibrary.Theme.Default then Slider.Main.Shadow.Visible = false end Slider.Main.BackgroundColor3 = SelectedTheme.SliderBackground Slider.Main.UIStroke.Color = SelectedTheme.SliderStroke Slider.Main.Progress.UIStroke.Color = SelectedTheme.SliderStroke Slider.Main.Progress.BackgroundColor3 = SelectedTheme.SliderProgress TweenService:Create(Slider, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Slider.UIStroke, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() TweenService:Create(Slider.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() Slider.Main.Progress.Size = UDim2.new(0, Slider.Main.AbsoluteSize.X * ((SliderSettings.CurrentValue + SliderSettings.Range[1]) / (SliderSettings.Range[2] - SliderSettings.Range[1])) > 5 and Slider.Main.AbsoluteSize.X * (SliderSettings.CurrentValue / (SliderSettings.Range[2] - SliderSettings.Range[1])) or 5, 1, 0) if not SliderSettings.Suffix then Slider.Main.Information.Text = tostring(SliderSettings.CurrentValue) else Slider.Main.Information.Text = tostring(SliderSettings.CurrentValue) .. " " .. SliderSettings.Suffix end Slider.MouseEnter:Connect(function() TweenService:Create(Slider, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackgroundHover}):Play() end) Slider.MouseLeave:Connect(function() TweenService:Create(Slider, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() end) Slider.Main.Interact.InputBegan:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then TweenService:Create(Slider.Main.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() TweenService:Create(Slider.Main.Progress.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() SLDragging = true end end) Slider.Main.Interact.InputEnded:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then TweenService:Create(Slider.Main.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0.4}):Play() TweenService:Create(Slider.Main.Progress.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0.3}):Play() SLDragging = false end end) Slider.Main.Interact.MouseButton1Down:Connect(function(X) local Current = Slider.Main.Progress.AbsolutePosition.X + Slider.Main.Progress.AbsoluteSize.X local Start = Current local Location = X local Loop; Loop = RunService.Stepped:Connect(function() if SLDragging then Location = UserInputService:GetMouseLocation().X Current = Current + 0.025 * (Location - Start) if Location < Slider.Main.AbsolutePosition.X then Location = Slider.Main.AbsolutePosition.X elseif Location > Slider.Main.AbsolutePosition.X + Slider.Main.AbsoluteSize.X then Location = Slider.Main.AbsolutePosition.X + Slider.Main.AbsoluteSize.X end if Current < Slider.Main.AbsolutePosition.X + 5 then Current = Slider.Main.AbsolutePosition.X + 5 elseif Current > Slider.Main.AbsolutePosition.X + Slider.Main.AbsoluteSize.X then Current = Slider.Main.AbsolutePosition.X + Slider.Main.AbsoluteSize.X end if Current <= Location and (Location - Start) < 0 then Start = Location elseif Current >= Location and (Location - Start) > 0 then Start = Location end TweenService:Create(Slider.Main.Progress, TweenInfo.new(0.45, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = UDim2.new(0, Current - Slider.Main.AbsolutePosition.X, 1, 0)}):Play() local NewValue = SliderSettings.Range[1] + (Location - Slider.Main.AbsolutePosition.X) / Slider.Main.AbsoluteSize.X * (SliderSettings.Range[2] - SliderSettings.Range[1]) NewValue = math.floor(NewValue / SliderSettings.Increment + 0.5) * (SliderSettings.Increment * 10000000) / 10000000 if not SliderSettings.Suffix then Slider.Main.Information.Text = tostring(NewValue) else Slider.Main.Information.Text = tostring(NewValue) .. " " .. SliderSettings.Suffix end if SliderSettings.CurrentValue ~= NewValue then local Success, Response = pcall(function() SliderSettings.Callback(NewValue) end) if not Success then TweenService:Create(Slider, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Slider.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() Slider.Title.Text = "Callback Error" print("Rayfield | "..SliderSettings.Name.." Callback Error " ..tostring(Response)) task.wait(0.5) Slider.Title.Text = SliderSettings.Name TweenService:Create(Slider, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Slider.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end SliderSettings.CurrentValue = NewValue SaveConfiguration() end else TweenService:Create(Slider.Main.Progress, TweenInfo.new(0.3, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = UDim2.new(0, Location - Slider.Main.AbsolutePosition.X > 5 and Location - Slider.Main.AbsolutePosition.X or 5, 1, 0)}):Play() Loop:Disconnect() end end) end) function SliderSettings:Set(NewVal) TweenService:Create(Slider.Main.Progress, TweenInfo.new(0.45, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = UDim2.new(0, Slider.Main.AbsoluteSize.X * ((NewVal + SliderSettings.Range[1]) / (SliderSettings.Range[2] - SliderSettings.Range[1])) > 5 and Slider.Main.AbsoluteSize.X * (NewVal / (SliderSettings.Range[2] - SliderSettings.Range[1])) or 5, 1, 0)}):Play() Slider.Main.Information.Text = tostring(NewVal) .. " " .. (SliderSettings.Suffix or "") local Success, Response = pcall(function() SliderSettings.Callback(NewVal) end) if not Success then TweenService:Create(Slider, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Slider.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 1}):Play() Slider.Title.Text = "Callback Error" print("Rayfield | "..SliderSettings.Name.." Callback Error " ..tostring(Response)) task.wait(0.5) Slider.Title.Text = SliderSettings.Name TweenService:Create(Slider, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundColor3 = SelectedTheme.ElementBackground}):Play() TweenService:Create(Slider.UIStroke, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {Transparency = 0}):Play() end SliderSettings.CurrentValue = NewVal SaveConfiguration() end if Settings.ConfigurationSaving then if Settings.ConfigurationSaving.Enabled and SliderSettings.Flag then RayfieldLibrary.Flags[SliderSettings.Flag] = SliderSettings end end Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() if SelectedTheme ~= RayfieldLibrary.Theme.Default then Slider.Main.Shadow.Visible = false end Slider.Main.BackgroundColor3 = SelectedTheme.SliderBackground Slider.Main.UIStroke.Color = SelectedTheme.SliderStroke Slider.Main.Progress.UIStroke.Color = SelectedTheme.SliderStroke Slider.Main.Progress.BackgroundColor3 = SelectedTheme.SliderProgress end) return SliderSettings end Rayfield.Main:GetPropertyChangedSignal('BackgroundColor3'):Connect(function() TabButton.UIStroke.Color = SelectedTheme.TabStroke if Elements.UIPageLayout.CurrentPage == TabPage then TabButton.BackgroundColor3 = SelectedTheme.TabBackgroundSelected TabButton.Image.ImageColor3 = SelectedTheme.SelectedTabTextColor TabButton.Title.TextColor3 = SelectedTheme.SelectedTabTextColor else TabButton.BackgroundColor3 = SelectedTheme.TabBackground TabButton.Image.ImageColor3 = SelectedTheme.TabTextColor TabButton.Title.TextColor3 = SelectedTheme.TabTextColor end end) return Tab end Elements.Visible = true task.wait(0.5) TweenService:Create(LoadingFrame.Title, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(LoadingFrame.Subtitle, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() TweenService:Create(LoadingFrame.Version, TweenInfo.new(0.5, Enum.EasingStyle.Exponential), {TextTransparency = 1}):Play() task.wait(0.2) TweenService:Create(Main, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {Size = useMobileSizing and UDim2.new(0, 500, 0, 275) or UDim2.new(0, 500, 0, 475)}):Play() TweenService:Create(Main.Shadow.Image, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0.6}):Play() wait(0.2) Main.Shadow.BackgroundTransparency = 0.8 Topbar.BackgroundTransparency = 1 Topbar.Divider.Size = UDim2.new(0, 0, 0, 1) Topbar.Divider.BackgroundColor3 = SelectedTheme.ElementStroke Topbar.CornerRepair.BackgroundTransparency = 1 Topbar.Title.TextTransparency = 1 Topbar.Search.ImageTransparency = 1 Topbar.ChangeSize.ImageTransparency = 1 Topbar.Hide.ImageTransparency = 1 task.wait(0.5) Topbar.Visible = true TweenService:Create(Topbar, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() TweenService:Create(Topbar.CornerRepair, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0}):Play() task.wait(0.1) TweenService:Create(Topbar.Divider, TweenInfo.new(1, Enum.EasingStyle.Exponential), {Size = UDim2.new(1, 0, 0, 1)}):Play() task.wait(0.1) TweenService:Create(Topbar.Title, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {TextTransparency = 0}):Play() task.wait(0.1) TweenService:Create(Topbar.Search, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0.8}):Play() task.wait(0.1) TweenService:Create(Topbar.ChangeSize, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0.8}):Play() task.wait(0.1) TweenService:Create(Topbar.Hide, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0.8}):Play() task.wait(0.3) if dragBar then TweenService:Create(dragBarCosmetic, TweenInfo.new(0.6, Enum.EasingStyle.Exponential), {BackgroundTransparency = 0.7}):Play() end function Window.ModifyTheme(NewTheme) local success = pcall(ChangeTheme, NewTheme) if not success then RayfieldLibrary:Notify({Title = 'Unable to Change Theme', Content = 'We are unable find a theme on file.'}) else RayfieldLibrary:Notify({Title = 'Theme Changed', Content = 'Successfully changed theme to '..NewTheme..'.'}) end end return Window end local function setVisibility(visibility: boolean, notify: boolean?) if Debounce then return end if visibility then Hidden = false Unhide() else Hidden = true Hide(notify) end end function RayfieldLibrary:SetVisibility(visibility: boolean) setVisibility(visibility, false) end function RayfieldLibrary:IsVisible(): boolean return not Hidden end function RayfieldLibrary:Destroy() Rayfield:Destroy() end Topbar.ChangeSize.MouseButton1Click:Connect(function() if Debounce then return end if Minimised then Minimised = false Maximise() else Minimised = true Minimise() end end) Main.Search.Input:GetPropertyChangedSignal('Text'):Connect(function() if #Main.Search.Input.Text > 0 then if not Elements.UIPageLayout.CurrentPage:FindFirstChild('SearchTitle-fsefsefesfsefesfesfThanks') then local searchTitle = Elements.Template.SectionTitle:Clone() searchTitle.Parent = Elements.UIPageLayout.CurrentPage searchTitle.Name = 'SearchTitle-fsefsefesfsefesfesfThanks' searchTitle.LayoutOrder = -100 searchTitle.Title.Text = "Results from '"..Elements.UIPageLayout.CurrentPage.Name.."'" searchTitle.Visible = true end else local searchTitle = Elements.UIPageLayout.CurrentPage:FindFirstChild('SearchTitle-fsefsefesfsefesfesfThanks') if searchTitle then searchTitle:Destroy() end end for _, element in ipairs(Elements.UIPageLayout.CurrentPage:GetChildren()) do if element.ClassName ~= 'UIListLayout' and element.Name ~= 'Placeholder' and element.Name ~= 'SearchTitle-fsefsefesfsefesfesfThanks' then if element.Name == 'SectionTitle' then if #Main.Search.Input.Text == 0 then element.Visible = true else element.Visible = false end else if string.lower(element.Name):find(string.lower(Main.Search.Input.Text), 1, true) then element.Visible = true else element.Visible = false end end end end end) Main.Search.Input.FocusLost:Connect(function(enterPressed) if #Main.Search.Input.Text == 0 and searchOpen then task.wait(0.12) closeSearch() end end) Topbar.Search.MouseButton1Click:Connect(function() task.spawn(function() if searchOpen then closeSearch() else openSearch() end end) end) Topbar.Hide.MouseButton1Click:Connect(function() setVisibility(Hidden, not useMobileSizing) end) UserInputService.InputBegan:Connect(function(input, processed) if (input.KeyCode == Enum.KeyCode.K and not processed) then if Debounce then return end if Hidden then Hidden = false Unhide() else Hidden = true Hide() end end end) if MPrompt then MPrompt.Interact.MouseButton1Click:Connect(function() if Debounce then return end if Hidden then Hidden = false Unhide() end end) end for _, TopbarButton in ipairs(Topbar:GetChildren()) do if TopbarButton.ClassName == "ImageButton" then TopbarButton.MouseEnter:Connect(function() TweenService:Create(TopbarButton, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0}):Play() end) TopbarButton.MouseLeave:Connect(function() TweenService:Create(TopbarButton, TweenInfo.new(0.7, Enum.EasingStyle.Exponential), {ImageTransparency = 0.8}):Play() end) end end function RayfieldLibrary:LoadConfiguration() if CEnabled then pcall(function() if isfile(ConfigurationFolder .. "/" .. CFileName .. ConfigurationExtension) then LoadConfiguration(readfile(ConfigurationFolder .. "/" .. CFileName .. ConfigurationExtension)) RayfieldLibrary:Notify({Title = "Configuration Loaded", Content = "The configuration file for this script has been loaded from a previous session."}) end end) end end if useStudio then local Window = RayfieldLibrary:CreateWindow({ Name = "The system could not find the file specified.", LoadingTitle = "debug.setupvalue(mov rbx[wasm[FFFF], CALL)", Theme = 'Light', LoadingSubtitle = "PORTFORWARDING_ERROR", ConfigurationSaving = { Enabled = true, FolderName = nil, FileName = "ACK_SEND-PORT_FORWARD[window[80001::allocate_maximum_port_range_Function(83A05)-3C NUL -FF ?? 2A 03 AC - debug.getupvalue(null, 0xFFFFFFFFFFFF).]nil-Hu??UNALLO_CATED_M?-?EMORY_STU00?BYTECKb_DIVIS?ENTRY_ACCESS??ION" }, Discord = { Enabled = false, Invite = "noinvitelink", RememberJoins = false }, KeySystem = false, KeySettings = { Title = "The system could not find the file specified.", Subtitle = "0xFFFFFFFFFFFFFFF", Note = "debug.getconstant", FileName = "debug.getupvalue(mov rbx[wasm[FFFF])", SaveKey = true, GrabKeyFromSite = false, Key = {"Hello"} } }) local Tab = Window:CreateTab("Tab Example", 4483362458) local Tab2 = Window:CreateTab("Tab Example 2", 4483362458) local Section = Tab2:CreateSection("Section") local ColorPicker = Tab2:CreateColorPicker({ Name = "Color Picker", Color = Color3.fromRGB(255,255,255), Flag = "ColorPicker1", Callback = function(Value) end,}) local Slider = Tab2:CreateSlider({ Name = "Slider Example", Range = {0, 100}, Increment = 10, Suffix = "Bananas", CurrentValue = 40, Flag = "Slider1", Callback = function(Value) end,}) local Input = Tab2:CreateInput({ Name = "Input Example", PlaceholderText = "Input Placeholder", RemoveTextAfterFocusLost = false, Callback = function(Text) end,}) RayfieldLibrary:Notify({Title = "Rayfield Interface", Content = "Welcome to Rayfield. These - are the brand new notification design for Rayfield, with custom sizing and Rayfield calculated wait times.", Image = 4483362458}) local Section = Tab:CreateSection("Section Example") local Button = Tab:CreateButton({ Name = "Change Theme", Callback = function() Window.ModifyTheme('DarkBlue') end,}) local Toggle = Tab:CreateToggle({ Name = "Toggle Example", CurrentValue = false, Flag = "Toggle1", Callback = function(Value) end,}) local ColorPicker = Tab:CreateColorPicker({ Name = "Color Picker", Color = Color3.fromRGB(255,255,255), Flag = "ColorPicker1", Callback = function(Value) end,}) local Slider = Tab:CreateSlider({ Name = "Slider Example", Range = {0, 100}, Increment = 10, Suffix = "Bananas", CurrentValue = 40, Flag = "Slider1", Callback = function(Value) end,}) local Input = Tab:CreateInput({ Name = "Input Example", PlaceholderText = "Input Placeholder", RemoveTextAfterFocusLost = false, Callback = function(Text) end,}) local Dropdown = Tab:CreateDropdown({ Name = "Dropdown Example", Options = {"Option 1","Option 2"}, CurrentOption = {"Option 1"}, MultipleOptions = false, Flag = "Dropdown1", Callback = function(Option) end,}) local Keybind = Tab:CreateKeybind({ Name = "Keybind Example", CurrentKeybind = "Q", HoldToInteract = false, Flag = "Keybind1", Callback = function(Keybind) end,}) local Label = Tab:CreateLabel("Label Example") local Paragraph = Tab:CreateParagraph({Title = "Paragraph Example", Content = "Paragraph ExampleParagraph ExampleParagraph ExampleParagraph ExampleParagraph ExampleParagraph ExampleParagraph ExampleParagraph ExampleParagraph ExampleParagraph ExampleParagraph ExampleParagraph ExampleParagraph ExampleParagraph Example"}) end task.delay(3.5, RayfieldLibrary.LoadConfiguration, RayfieldLibrary) return RayfieldLibrary