-- Load the Fluent UI Library
local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
-- Services
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
-- Remote Paths
local Remotes = ReplicatedStorage:WaitForChild("Remotes")
local AddSpin = Remotes:WaitForChild("AddSpin")
local SpinEventWheel = Remotes:WaitForChild("SpinEventWheel")
-- Variables for Toggles
local _G = getgenv and getgenv() or _G
_G.InfSpins = false
_G.InfMoney = false
_G.OGBrainrots = false
_G.SleepyMutation = false
-- Create the main window
local Window = Fluent:CreateWindow({
Title = "Roblox Script Hub",
SubTitle = "by Client",
TabWidth = 160,
Size = UDim2.fromOffset(580, 460),
Acrylic = true,
Theme = "Dark",
MinimizeKey = Enum.KeyCode.LeftControl
})
-- Tabs
local MainTab = Window:AddTab({ Title = "Main", Icon = "user" })
local OPTab = Window:AddTab({ Title = "OP", Icon = "zap" })
local SettingsTab = Window:AddTab({ Title = "Settings", Icon = "settings" })
---------------------------------------------------------
-- MAIN TAB: Movement & Physics
---------------------------------------------------------
-- WalkSpeed Slider
local SpeedSlider = MainTab:AddSlider("WalkSpeedSlider", {
Title = "Movement Speed",
Description = "Adjust your character's walk speed",
Default = 16,
Min = 16,
Max = 500,
Rounding = 0,
Callback = function(Value)
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
LocalPlayer.Character:FindFirstChildOfClass("Humanoid").WalkSpeed = Value
end
end
})
-- Automatically re-apply speed when respawning
LocalPlayer.CharacterAdded:Connect(function(Character)
local Humanoid = Character:WaitForChild("Humanoid")
Humanoid.WalkSpeed = SpeedSlider.Value
end)
---------------------------------------------------------
-- OP TAB: Exploit Loops & Remotes
---------------------------------------------------------
-- 1. Infinite Spins Toggle
OPTab:AddToggle("InfSpinsToggle", {
Title = "Infinite Spins",
Default = false,
Callback = function(Value)
_G.InfSpins = Value
if Value then
task.spawn(function()
while _G.InfSpins do
AddSpin:FireServer()
task.wait() -- Replaced 0.1 delay with maximum execution speed
end
end)
end
end
})
-- 2. Infinite Money Toggle (Wheel Arg 1)
OPTab:AddToggle("InfMoneyToggle", {
Title = "Infinite Money",
Default = false,
Callback = function(Value)
_G.InfMoney = Value
if Value then
task.spawn(function()
while _G.InfMoney do
SpinEventWheel:FireServer(1)
task.wait() -- Replaced 0.1 delay with maximum execution speed
end
end)
end
end
})
-- 3. OG Brainrots Toggle (Wheel Arg 4)
OPTab:AddToggle("OGBrainrotsToggle", {
Title = "Get OG Brainrots",
Default = false,
Callback = function(Value)
_G.OGBrainrots = Value
if Value then
task.spawn(function()
while _G.OGBrainrots do
SpinEventWheel:FireServer(4)
task.wait() -- Replaced 0.1 delay with maximum execution speed
end
end)
end
end
})
-- 4. Sleepy Mutation Toggle (Wheel Arg 5)
OPTab:AddToggle("SleepyMutationToggle", {
Title = "Get Sleepy Mutation",
Default = false,
Callback = function(Value)
_G.SleepyMutation = Value
if Value then
task.spawn(function()
while _G.SleepyMutation do
SpinEventWheel:FireServer(5)
task.wait() -- Replaced 0.1 delay with maximum execution speed
end
end)
end
end
})
---------------------------------------------------------
-- SETTINGS TAB: UI Configs
---------------------------------------------------------
SettingsTab:AddButton({
Title = "Destroy UI",
Description = "Completely unloads the script menu",
Callback = function()
-- Turn off all loops before breaking UI
_G.InfSpins = false
_G.InfMoney = false
_G.OGBrainrots = false
_G.SleepyMutation = false
Window:Destroy()
end
})
-- Select the first tab by default
Window:SelectTab(1)
-- Notify the user
Fluent:Notify({
Title = "Script Hub Loaded",
Content = "Main and OP features are active. Press Left-Control to minimize.",
Duration = 5
})
Comments
No comments yet
Be the first to share your thoughts!