-- blud obby v1.5 by bubba local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() -- themes local OfficialRed = { TextColor = Color3.fromRGB(240, 240, 240), Background = Color3.fromRGB(25, 10, 10), Topbar = Color3.fromRGB(45, 15, 15), Shadow = Color3.fromRGB(15, 5, 5), NotificationBackground = Color3.fromRGB(35, 12, 12), NotificationActionsBackground = Color3.fromRGB(180, 40, 40), TabBackground = Color3.fromRGB(50, 20, 20), TabStroke = Color3.fromRGB(80, 30, 30), TabBackgroundSelected = Color3.fromRGB(160, 40, 40), TabTextColor = Color3.fromRGB(230, 230, 230), SelectedTabTextColor = Color3.fromRGB(255, 255, 255), ElementBackground = Color3.fromRGB(35, 15, 15), ElementBackgroundHover = Color3.fromRGB(45, 20, 20), SecondaryElementBackground = Color3.fromRGB(30, 12, 12), ElementStroke = Color3.fromRGB(60, 25, 25), SecondaryElementStroke = Color3.fromRGB(50, 20, 20), SliderBackground = Color3.fromRGB(80, 30, 30), SliderProgress = Color3.fromRGB(180, 40, 40), SliderStroke = Color3.fromRGB(200, 50, 50), ToggleBackground = Color3.fromRGB(40, 15, 15), ToggleEnabled = Color3.fromRGB(180, 40, 40), ToggleDisabled = Color3.fromRGB(70, 70, 70), ToggleEnabledStroke = Color3.fromRGB(210, 50, 50), ToggleDisabledStroke = Color3.fromRGB(90, 90, 90), ToggleEnabledOuterStroke = Color3.fromRGB(100, 30, 30), ToggleDisabledOuterStroke = Color3.fromRGB(50, 50, 50), DropdownSelected = Color3.fromRGB(55, 20, 20), DropdownUnselected = Color3.fromRGB(35, 12, 12), InputBackground = Color3.fromRGB(35, 15, 15), InputStroke = Color3.fromRGB(70, 25, 25), PlaceholderColor = Color3.fromRGB(160, 160, 160) } local BlueFunTheme = { TextColor = Color3.fromRGB(240, 240, 240), Background = Color3.fromRGB(10, 10, 25), Topbar = Color3.fromRGB(15, 15, 45), Shadow = Color3.fromRGB(5, 5, 15), NotificationBackground = Color3.fromRGB(12, 12, 35), NotificationActionsBackground = Color3.fromRGB(40, 40, 180), TabBackground = Color3.fromRGB(20, 20, 50), TabStroke = Color3.fromRGB(30, 30, 80), TabBackgroundSelected = Color3.fromRGB(40, 40, 160), TabTextColor = Color3.fromRGB(230, 230, 230), SelectedTabTextColor = Color3.fromRGB(255, 255, 255), ElementBackground = Color3.fromRGB(15, 15, 35), ElementBackgroundHover = Color3.fromRGB(20, 20, 45), SecondaryElementBackground = Color3.fromRGB(12, 12, 30), ElementStroke = Color3.fromRGB(25, 25, 60), SecondaryElementStroke = Color3.fromRGB(20, 20, 50), SliderBackground = Color3.fromRGB(30, 30, 80), SliderProgress = Color3.fromRGB(40, 40, 180), SliderStroke = Color3.fromRGB(50, 50, 200), ToggleBackground = Color3.fromRGB(15, 15, 40), ToggleEnabled = Color3.fromRGB(40, 40, 180), ToggleDisabled = Color3.fromRGB(70, 70, 70), ToggleEnabledStroke = Color3.fromRGB(50, 50, 210), ToggleDisabledStroke = Color3.fromRGB(90, 90, 90), ToggleEnabledOuterStroke = Color3.fromRGB(30, 30, 100), ToggleDisabledOuterStroke = Color3.fromRGB(50, 50, 50), DropdownSelected = Color3.fromRGB(20, 20, 55), DropdownUnselected = Color3.fromRGB(12, 12, 35), InputBackground = Color3.fromRGB(15, 15, 35), InputStroke = Color3.fromRGB(25, 25, 70), PlaceholderColor = Color3.fromRGB(160, 160, 160) } local Window = Rayfield:CreateWindow({ Name = "BLUD OBBY HUB", LoadingTitle = "BLUD OBBY", LoadingSubtitle = "lololol", ConfigurationSaving = { Enabled = true, FolderName = "BludObbyConfig", FileName = "bludconfig" }, Discord = { Enabled = false, Invite = "noinvitelink", RememberJoins = true }, KeySystem = false, Theme = OfficialRed }) local MainTab = Window:CreateTab("Main", 0) local FunTab = Window:CreateTab("Fun", 0) local S51Tab = Window:CreateTab("Stage 51", 0) _G.TouchOff = false _G.AntiShell = false _G.Noclip = false _G.InfJump = false local Player = game.Players.LocalPlayer local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") RunService.Stepped:Connect(function() if Player.Character then -- Logic: If TouchOff is true, set CanTouch to false. If TouchOff is false, ensure it's true. for _, v in pairs(Player.Character:GetDescendants()) do if v:IsA("BasePart") then if _G.TouchOff then if v.CanTouch then v.CanTouch = false end else -- This ensures that when you disable the toggle, your parts can touch again. if not v.CanTouch then v.CanTouch = true end end -- Noclip logic if _G.Noclip then if v.CanCollide then v.CanCollide = false end end end end end end) local function nukeShell() local locs = {Player:FindFirstChild("PlayerScripts"), Player:FindFirstChild("PlayerGui"), Player.Character} for _, folder in pairs(locs) do if folder then for _, v in pairs(folder:GetDescendants()) do if v.Name:lower():find("megashellshock") then v:Destroy() end end end end end -- --- MAIN --- MainTab:CreateSection("Movement") MainTab:CreateToggle({ Name = "Noclip", CurrentValue = false, Flag = "noclip", Callback = function(V) _G.Noclip = V end }) MainTab:CreateSection("Fixes & Stage Nerfs") MainTab:CreateToggle({ Name = "CanTouch Off (Stage 25-29)", CurrentValue = false, Flag = "ctouch", Callback = function(V) _G.TouchOff = V end }) MainTab:CreateButton({ Name = "Nerf Stage 29 (Shellshock)", Callback = function() _G.AntiShell = true task.spawn(function() while _G.AntiShell do nukeShell() task.wait(0.5) end end) Rayfield:Notify({Title = "Nerfed", Content = "MegaShellshock wiped. Platformer remains.", Duration = 3}) end, }) MainTab:CreateButton({ Name = "Nerf Stage 41", Callback = function() local stages = workspace:FindFirstChild("Stages") if stages then local nodes = stages:FindFirstChild("Nodes", true) if nodes then for _, n in pairs(nodes:GetChildren()) do if n.Name == "Node" then n:Destroy() end end end end Rayfield:Notify({Title = "Nerfed", Content = "Nodes deleted.", Duration = 3}) end, }) MainTab:CreateButton({ Name = "Nerf Stage 45", Callback = function() local stages = workspace:FindFirstChild("Stages") if stages then local s45 = stages:FindFirstChild("Stage 45", true) or stages:FindFirstChild("45", true) if s45 then for _, p in pairs(s45:GetDescendants()) do if p:IsA("BasePart") then p.CustomPhysicalProperties = PhysicalProperties.new(0.7, 2, 0.5, 100, 100) end end Rayfield:Notify({Title = "Ice Fixed", Content = "Gripped!", Duration = 3}) end end end, }) MainTab:CreateToggle({ Name = "Fullbright", CurrentValue = false, Flag = "fbr", Callback = function(Value) Lighting.Brightness = Value and 2 or 1 Lighting.ClockTime = Value and 14 or 12 Lighting.GlobalShadows = not Value Lighting.Ambient = Value and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(0, 0, 0) end, }) -- --- FUN --- FunTab:CreateSection("Physics") FunTab:CreateToggle({ Name = "Moon Gravity", CurrentValue = false, Flag = "grav", Callback = function(V) workspace.Gravity = V and 50 or 196.2 end }) game:GetService("UserInputService").JumpRequest:Connect(function() if _G.InfJump then local c = Player.Character if c and c:FindFirstChildOfClass("Humanoid") then c:FindFirstChildOfClass("Humanoid"):ChangeState("Jumping") end end end) FunTab:CreateToggle({ Name = "No Jump Cooldown", CurrentValue = false, Flag = "infj", Callback = function(V) _G.InfJump = V end }) -- --- STAGE 51 --- S51Tab:CreateSection("Enphoso Boss") S51Tab:CreateButton({ Name = "Delete Enphoso", Callback = function() local RS = game:GetService("ReplicatedStorage") local sp = RS:FindFirstChild("Sprites") if sp then local en = sp:FindFirstChild("Enphoso") if en then for _, v in pairs(en:GetDescendants()) do if v:IsA("ImageLabel") then v.Image = "rbxassetid://126248720865885" end end task.wait(0.1) en:Destroy() Rayfield:Notify({Title = "Done", Content = "Enphoso nuked.", Duration = 3}) end end end, }) -- --- THEME --- task.spawn(function() local LastTheme = "Red" while task.wait(0.2) do local Gui = game:GetService("CoreGui"):FindFirstChild("Rayfield") if Gui and Gui:FindFirstChild("Main") then local Holder = Gui.Main:FindFirstChild("TabHolder") if Holder then for _, btn in pairs(Holder:GetChildren()) do if btn:IsA("TextButton") and btn.Transparency == 0 then if btn.Text == "Fun" and LastTheme ~= "Blue" then Window:ModifyTheme(BlueFunTheme) LastTheme = "Blue" elseif (btn.Text == "Main" or btn.Text == "Stage 51") and LastTheme ~= "Red" then Window:ModifyTheme(OfficialRed) LastTheme = "Red" end end end end end end end)