-- Load Rayfield UI Library local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() -- Create the main window local Window = Rayfield:CreateWindow({ Name = "Golds Easy Hub Obby Game!", LoadingTitle = "Loading Script...", LoadingSubtitle = "by goldgoldgoldblazn", ConfigurationSaving = { Enabled = true, FolderName = "ObbyGameHub", FileName = "ObbyConfig" }, Discord = { Enabled = true, Invite = "CnNqEVFxh6", RememberJoins = true }, KeySystem = false }) -- Credits Notification UI Rayfield:Notify({ Title = "Golds Easy Hub Loaded!", Content = "Script by goldgoldgoldblazn\nOwner: Owner meaning Main Developer/Only Developer\nDiscord Server: discord.gg/CnNqEVFxh6", Duration = 8, Image = 4483362458, Actions = { Ignore = { Name = "Okay!", Callback = function() print("Credits acknowledged") end }, }, }) -- Services local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local Workspace = game:GetService("Workspace") local ReplicatedStorage = game:GetService("ReplicatedStorage") -- Variables local Player = Players.LocalPlayer local Character = Player.Character or Player.CharacterAdded:Wait() local Humanoid = Character:WaitForChild("Humanoid") local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart") -- Refresh character references Player.CharacterAdded:Connect(function(char) Character = char Humanoid = char:WaitForChild("Humanoid") HumanoidRootPart = char:WaitForChild("HumanoidRootPart") end) -- CREDITS Tab for self glaze and promotion when changing this make sure to give me like some credits pretty please? local CreditsTab = Window:CreateTab("📋 Credits", 4483362458) local CreditsSection = CreditsTab:CreateSection("Developer Information") CreditsTab:CreateParagraph({ Title = "Script Creator", Content = "Username: goldgoldgoldblazn\nOwner: Owner meaning Main Developer/Only Developer!!" }) CreditsTab:CreateButton({ Name = "Join Discord Server", Callback = function() setclipboard("https://discord.gg/CnNqEVFxh6") Rayfield:Notify({ Title = "Discord Link Copied!", Content = "Link copied to clipboard: discord.gg/CnNqEVFxh6", Duration = 5, Image = 4483362458 }) end, }) CreditsTab:CreateParagraph({ Title = "Thank You!", Content = "Thanks for using this script! Join Our Discord Server for Updates and Free Support." }) local PlayerTab = Window:CreateTab("👤 Player", 4483362458) local PlayerSection = PlayerTab:CreateSection("Movement") local WalkSpeedSlider = PlayerTab:CreateSlider({ Name = "WalkSpeed", Range = {16, 200}, Increment = 1, Suffix = "Speed", CurrentValue = 16, Flag = "WalkSpeed", Callback = function(Value) if Humanoid then Humanoid.WalkSpeed = Value end end, }) local JumpPowerSlider = PlayerTab:CreateSlider({ Name = "JumpPower", Range = {50, 300}, Increment = 5, Suffix = "Power", CurrentValue = 50, Flag = "JumpPower", Callback = function(Value) if Humanoid then Humanoid.JumpPower = Value end end, }) local InfiniteJumpConnection = nil PlayerTab:CreateToggle({ Name = "Infinite Jump", CurrentValue = false, Flag = "InfiniteJump", Callback = function(Value) if Value then InfiniteJumpConnection = game:GetService("UserInputService").JumpRequest:Connect(function() if Humanoid then Humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) else if InfiniteJumpConnection then InfiniteJumpConnection:Disconnect() InfiniteJumpConnection = nil end end end, }) local PlayerSection2 = PlayerTab:CreateSection("Movement Bypass") local noclipEnabled = false local noclipConnection = nil PlayerTab:CreateToggle({ Name = "Noclip", CurrentValue = false, Flag = "Noclip", Callback = function(Value) noclipEnabled = Value if Value then noclipConnection = game:GetService("RunService").Stepped:Connect(function() if Character then for _, part in pairs(Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) Rayfield:Notify({ Title = "Noclip Enabled", Content = "Walk through walls!", Duration = 3 }) else if noclipConnection then noclipConnection:Disconnect() noclipConnection = nil end if Character then for _, part in pairs(Character:GetDescendants()) do if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then part.CanCollide = true end end end Rayfield:Notify({ Title = "Noclip Disabled", Content = "Collisions restored", Duration = 3 }) end end, }) local fakeSkillEnabled = false PlayerTab:CreateToggle({ Name = "Fake Skill Bypass", CurrentValue = false, Flag = "FakeSkill", Callback = function(Value) fakeSkillEnabled = Value if Value then -- Create invisible bypass walls on current stage spawn(function() while fakeSkillEnabled do local currentStage = Player.leaderstats and Player.leaderstats:FindFirstChild("🏆 Stage") if currentStage and HumanoidRootPart then local stages = Workspace:FindFirstChild("Stages") if stages then local stage = stages:FindFirstChild(tostring(currentStage.Value)) if stage then -- Make stage parts non-collidable for _, part in pairs(stage:GetDescendants()) do if part:IsA("BasePart") and not part:FindFirstChild("BypassMarker") then part.CanCollide = false local marker = Instance.new("BoolValue") marker.Name = "BypassMarker" marker.Parent = part -- Create small visible wall for "skill illusion" local fakeWall = Instance.new("Part") fakeWall.Size = Vector3.new(1, 4, 0.5) fakeWall.Position = part.Position + Vector3.new(3, 2, 0) fakeWall.Anchored = true fakeWall.Transparency = 0.8 fakeWall.CanCollide = false fakeWall.BrickColor = BrickColor.new("Bright green") fakeWall.Material = Enum.Material.Neon fakeWall.Name = "FakeSkillWall" fakeWall.Parent = stage end end end end end wait(1) end end) Rayfield:Notify({ Title = "Fake Skill Active!", Content = "Stage walls bypassed with skill illusion", Duration = 3 }) else -- Restore collisions and remove fake walls local stages = Workspace:FindFirstChild("Stages") if stages then for _, stage in pairs(stages:GetChildren()) do for _, part in pairs(stage:GetDescendants()) do if part:IsA("BasePart") and part:FindFirstChild("BypassMarker") then part.CanCollide = true part.BypassMarker:Destroy() end if part.Name == "FakeSkillWall" then part:Destroy() end end end end Rayfield:Notify({ Title = "Fake Skill Disabled", Content = "Normal gameplay restored", Duration = 3 }) end end, }) -- STAGES TAB This is here for like people who want to skid lol. local StagesTab = Window:CreateTab("🎯 Stages", 4483362458) local StagesSection = StagesTab:CreateSection("Stage Teleportation") StagesTab:CreateInput({ Name = "Telepert to Stage", PlaceholderText = "Enter stage number (1-61)", RemoveTextAfterFocusLost = false, Callback = function(Text) local stageNum = tonumber(Text) if stageNum and stageNum >= 1 and stageNum <= 61 then local stages = Workspace:FindFirstChild("Stages") if stages then local targetStage = stages:FindFirstChild(tostring(stageNum)) if targetStage and HumanoidRootPart then HumanoidRootPart.CFrame = targetStage.CFrame + Vector3.new(0, 5, 0) Rayfield:Notify({ Title = "Teleported!", Content = "Teleported to Stage " .. stageNum, Duration = 3 }) else Rayfield:Notify({ Title = "Error", Content = "Stage " .. stageNum .. " not found!", Duration = 3 }) end end end end, }) StagesTab:CreateButton({ Name = "Skip to Next Stage", Callback = function() local currentStage = Player.leaderstats and Player.leaderstats:FindFirstChild("🏆 Stage") if currentStage then local nextStage = currentStage.Value + 1 local stages = Workspace:FindFirstChild("Stages") if stages then local targetStage = stages:FindFirstChild(tostring(nextStage)) if targetStage and HumanoidRootPart then HumanoidRootPart.CFrame = targetStage.CFrame + Vector3.new(0, 5, 0) Rayfield:Notify({ Title = "Stage Skipped!", Content = "Moved to Stage " .. nextStage, Duration = 3 }) end end end end, }) StagesTab:CreateButton({ Name = "Teleport to End", Callback = function() local endArea = Workspace:FindFirstChild("End") if endArea and HumanoidRootPart then local endPart = endArea:FindFirstChildWhichIsA("BasePart", true) if endPart then HumanoidRootPart.CFrame = endPart.CFrame + Vector3.new(0, 5, 0) Rayfield:Notify({ Title = "Teleported!", Content = "Teleported to the End!", Duration = 3 }) end end end, }) local StagesSection2 = StagesTab:CreateSection("Auto Farm") local autoFarmEnabled = false StagesTab:CreateToggle({ Name = "Auto Complete Stages", CurrentValue = false, Flag = "AutoFarm", Callback = function(Value) autoFarmEnabled = Value if Value then spawn(function() while autoFarmEnabled do local currentStage = Player.leaderstats and Player.leaderstats:FindFirstChild("🏆 Stage") if currentStage then local nextStage = currentStage.Value + 1 local stages = Workspace:FindFirstChild("Stages") if stages and nextStage <= 155 then local targetStage = stages:FindFirstChild(tostring(nextStage)) if targetStage and HumanoidRootPart then HumanoidRootPart.CFrame = targetStage.CFrame + Vector3.new(0, 5, 0) wait(0.5) end else autoFarmEnabled = false Rayfield:Notify({ Title = "Auto Farm Complete!", Content = "Reached final stage or end not found", Duration = 5 }) break end end wait(0.1) end end) end end, }) local function AutoReturnToSpawn(seconds, actionName) local spawn = Workspace:FindFirstChild("Spawn") if not spawn then return end local spawnPart = spawn:FindFirstChild("SpawnLocation") or spawn:FindFirstChildWhichIsA("BasePart", true) if not spawnPart then return end task.spawn(function() local endTime = tick() + seconds while tick() < endTime do if HumanoidRootPart then HumanoidRootPart.CFrame = spawnPart.CFrame + Vector3.new(0, 5, 0) end task.wait(0.1) end Rayfield:Notify({ Title = "Success!", Content = "Successfully teleported to spawn and \"" .. actionName .. "\" completed successfully!", Duration = 4 }) end) end -- ========================================== -- TOOLS TAB -- ========================= local ToolsTab = Window:CreateTab("🛠️ Tools", 4483362458) local ToolsSection = ToolsTab:CreateSection("Get Tools (Teleports to Givers)") local function TouchGiver(giverName, notifyText, actionName) local givers = Workspace:FindFirstChild("CoilGivers") if not givers then return end local giver = givers:FindFirstChild(giverName) if giver and HumanoidRootPart then local hitPart = giver:FindFirstChild("HitPart") if hitPart then local oldPos = HumanoidRootPart.CFrame HumanoidRootPart.CFrame = hitPart.CFrame task.wait(0.5) HumanoidRootPart.CFrame = oldPos Rayfield:Notify({ Title = "Tool Obtained!", Content = notifyText, Duration = 3 }) AutoReturnToSpawn(2.33, actionName) end end end ToolsTab:CreateButton({ Name = "Get Speed Coil", Callback = function() TouchGiver("SpeedCoilGiver", "Speed Coil with abilities added", "Get Speed Coil") end, }) ToolsTab:CreateButton({ Name = "Get Gravity Coil", Callback = function() TouchGiver("GravityCoilGiver", "Gravity Coil with abilities added", "Get Gravity Coil") end, }) ToolsTab:CreateButton({ Name = "Get Flying Cloud", Callback = function() TouchGiver("CloudGiver", "Flying Cloud with abilities added", "Get Flying Cloud") end, }) ToolsTab:CreateButton({ Name = "Get Hammer", Callback = function() TouchGiver("HammerGiver", "Hammer with abilities added", "Get Hammer") end, }) ToolsTab:CreateButton({ Name = "Get All Tools", Callback = function() local givers = Workspace:FindFirstChild("CoilGivers") if givers and HumanoidRootPart then local oldPos = HumanoidRootPart.CFrame for _, giver in pairs(givers:GetChildren()) do local hitPart = giver:FindFirstChild("HitPart") if hitPart then HumanoidRootPart.CFrame = hitPart.CFrame task.wait(0.5) end end HumanoidRootPart.CFrame = oldPos Rayfield:Notify({ Title = "All Tools Obtained!", Content = "All tools with abilities added to inventory", Duration = 3 }) -- SPAM TP FOR 2.33 SECONDS AutoReturnToSpawn(2.33, "Get All Tools") end end, }) -- TELEPORTS TAB This is here for like people who want to skid lol. local TeleportsTab = Window:CreateTab("📍 Teleports", 4483362458) local TeleportsSection = TeleportsTab:CreateSection("Quick Teleports") TeleportsTab:CreateButton({ Name = "Teleport to Spawn", Callback = function() local spawn = Workspace:FindFirstChild("Spawn") if spawn and HumanoidRootPart then local spawnPart = spawn:FindFirstChild("SpawnLocation") or spawn:FindFirstChildWhichIsA("BasePart", true) if spawnPart then HumanoidRootPart.CFrame = spawnPart.CFrame + Vector3.new(0, 5, 0) Rayfield:Notify({ Title = "Teleported!", Content = "Teleported to Spawn", Duration = 3 }) end end end, }) TeleportsTab:CreateButton({ Name = "Teleport to Coil Givers WARNING TURN ON INF JUMP IN PLAYER TAB!", Callback = function() local coilGivers = Workspace:FindFirstChild("CoilGivers") if coilGivers and HumanoidRootPart then local coilPart = coilGivers:FindFirstChild("SpeedCoilGiver") if coilPart then coilPart = coilPart:FindFirstChild("Handle") or coilPart:FindFirstChildWhichIsA("BasePart", true) if coilPart then HumanoidRootPart.CFrame = coilPart.CFrame + Vector3.new(0, 5, 0) Rayfield:Notify({ Title = "Teleported!", Content = "Teleported to Coil Givers", Duration = 3 }) end end end end, }) -- MISC TAB This is here for like people who want to skid lol. local MiscTab = Window:CreateTab("⚙️ Misc", 4483362458) local MiscSection = MiscTab:CreateSection("FPS Boost") MiscTab:CreateButton({ Name = "Remove Textures (FPS Boost)", Callback = function() for _, obj in pairs(Workspace:GetDescendants()) do if obj:IsA("Texture") or obj:IsA("Decal") then obj:Destroy() end end Rayfield:Notify({ Title = "Textures Removed!", Content = "FPS should be improved", Duration = 3 }) end, }) MiscTab:CreateButton({ Name = "Disable Particles (FPS Boost)", Callback = function() for _, obj in pairs(Workspace:GetDescendants()) do if obj:IsA("ParticleEmitter") or obj:IsA("Trail") or obj:IsA("Smoke") or obj:IsA("Fire") or obj:IsA("Sparkles") then obj.Enabled = false end end Rayfield:Notify({ Title = "Particles Disabled!", Content = "FPS should be improved", Duration = 3 }) end, }) MiscTab:CreateButton({ Name = "Remove Meshes (Major FPS Boost)", Callback = function() for _, obj in pairs(Workspace:GetDescendants()) do if obj:IsA("SpecialMesh") or obj:IsA("MeshPart") then obj:Destroy() end end Rayfield:Notify({ Title = "Meshes Removed!", Content = "Major FPS boost applied", Duration = 3 }) end, }) MiscTab:CreateToggle({ Name = "Lower Graphics Quality", CurrentValue = false, Flag = "LowGraphics", Callback = function(Value) local lighting = game:GetService("Lighting") if Value then settings().Rendering.QualityLevel = Enum.QualityLevel.Level01 lighting.GlobalShadows = false lighting.FogEnd = 9e9 Rayfield:Notify({ Title = "Low Graphics Enabled", Content = "Graphics quality reduced for better FPS", Duration = 3 }) else settings().Rendering.QualityLevel = Enum.QualityLevel.Automatic lighting.GlobalShadows = true Rayfield:Notify({ Title = "Graphics Restored", Content = "Normal graphics quality restored", Duration = 3 }) end end, }) MiscTab:CreateButton({ Name = "Full FPS Boost (All Options)", Callback = function() -- Remove textures for _, obj in pairs(Workspace:GetDescendants()) do if obj:IsA("Texture") or obj:IsA("Decal") then obj:Destroy() end if obj:IsA("ParticleEmitter") or obj:IsA("Trail") or obj:IsA("Smoke") or obj:IsA("Fire") or obj:IsA("Sparkles") then obj.Enabled = false end end -- Lower graphics settings().Rendering.QualityLevel = Enum.QualityLevel.Level01 game:GetService("Lighting").GlobalShadows = false game:GetService("Lighting").FogEnd = 9e9 Rayfield:Notify({ Title = "Full FPS Boost Applied!", Content = "All optimizations active", Duration = 3 }) end, }) local MiscSection2 = MiscTab:CreateSection("Game Features") MiscTab:CreateButton({ Name = "Remove Kill Parts", Callback = function() local walls = Workspace:FindFirstChild("Walls") if walls then for _, v in pairs(walls:GetDescendants()) do if v.Name == "KillPart" and v:IsA("BasePart") then v:Destroy() end end Rayfield:Notify({ Title = "Kill Parts Removed!", Content = "All kill parts have been removed", Duration = 3 }) end end, }) MiscTab:CreateToggle({ Name = "Anti-AFK", CurrentValue = false, Flag = "AntiAFK", Callback = function(Value) if Value then local vu = game:GetService("VirtualUser") game:GetService("Players").LocalPlayer.Idled:Connect(function() vu:Button2Down(Vector2.new(0,0),workspace.CurrentCamera.CFrame) wait(1) vu:Button2Up(Vector2.new(0,0),workspace.CurrentCamera.CFrame) end) Rayfield:Notify({ Title = "Anti-AFK Enabled", Content = "You won't be kicked for being idle", Duration = 3 }) end end, }) MiscTab:CreateButton({ Name = "Rejoin Server", Callback = function() game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, Player) end, }) MiscTab:CreateButton({ Name = "Server Hop", Callback = function() local Http = game:GetService("HttpService") local TPS = game:GetService("TeleportService") local Api = "https://games.roblox.com/v1/games/" local _place = game.PlaceId local _servers = Api.._place.."/servers/Public?sortOrder=Asc&limit=100" local function ListServers(cursor) local Raw = game:HttpGet(_servers .. ((cursor and "&cursor="..cursor) or "")) return Http:JSONDecode(Raw) end local Server, Next repeat local Servers = ListServers(Next) Server = Servers.data[1] Next = Servers.nextPageCursor until Server TPS:TeleportToPlaceInstance(_place, Server.id, Player) end, }) local UITab = Window:CreateTab("🎨 UI Settings", 4483362458) UITab:CreateSection("Interface") UITab:CreateKeybind({ Name = "Toggle UI", CurrentKeybind = "RightControl", HoldToInteract = false, Flag = "UIToggle", Callback = function(Keybind) end, }) UITab:CreateButton({ Name = "Destroy UI", Callback = function() Rayfield:Destroy() end, }) Rayfield:Notify({ Title = "Golds Easy Hub Loaded!", Content = "All features ready! Enjoy the script!", Duration = 5, Image = 4483362458 }) print("Golds Easy Hub by goldgoldgoldblazn loaded successfully!")