--// SERVICES local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local mouse = player:GetMouse() --// MAIN GUI HOLDER local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui")) gui.Name = "ObbyFinisherV1" gui.ResetOnSpawn = false --// CLICK SOUND local clickSound = Instance.new("Sound", gui) clickSound.SoundId = "rbxassetid://5419098673" clickSound.Volume = 1 --// GUI TOGGLE FUNCTION local mainUI -- forward declare local function toggleUI() if mainUI then mainUI.Visible = not mainUI.Visible end end --// HOTKEY TOGGLE (F) UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.F then toggleUI() end end) --// PINEAPPLE SPARKLE INTRO local function createIntro() local intro = Instance.new("Frame", gui) intro.Size = UDim2.new(1, 0, 1, 0) intro.BackgroundColor3 = Color3.new(0, 0, 0) intro.Name = "IntroFrame" local sparkle = Instance.new("ParticleEmitter", intro) sparkle.Texture = "rbxassetid://2592074584" sparkle.Size = NumberSequence.new(1) sparkle.Rate = 20 sparkle.Lifetime = NumberRange.new(2) sparkle.Speed = NumberRange.new(5) sparkle.VelocitySpread = 180 local pineapple = Instance.new("TextLabel", intro) pineapple.Text = "🍍" pineapple.Size = UDim2.new(1, 0, 0, 60) pineapple.Position = UDim2.new(0, 0, 0.3, 0) pineapple.TextScaled = true pineapple.Font = Enum.Font.GothamBlack pineapple.TextColor3 = Color3.fromRGB(255, 255, 0) pineapple.BackgroundTransparency = 1 local title = Instance.new("TextLabel", intro) title.Text = "OBBY FINISHER V1" title.Size = UDim2.new(1, 0, 0, 50) title.Position = UDim2.new(0, 0, 0.4, 0) title.TextScaled = true title.Font = Enum.Font.GothamBold title.TextColor3 = Color3.new(1, 1, 1) title.BackgroundTransparency = 1 local credit = Instance.new("TextLabel", intro) credit.Text = "Credits to Anas" credit.Size = UDim2.new(1, 0, 0, 30) credit.Position = UDim2.new(0, 0, 0.47, 0) credit.TextScaled = true credit.Font = Enum.Font.Gotham credit.TextColor3 = Color3.fromRGB(180, 180, 180) credit.BackgroundTransparency = 1 local barBack = Instance.new("Frame", intro) barBack.Size = UDim2.new(0.5, 0, 0, 20) barBack.Position = UDim2.new(0.25, 0, 0.55, 0) barBack.BackgroundColor3 = Color3.fromRGB(60, 60, 60) local barFill = Instance.new("Frame", barBack) barFill.Size = UDim2.new(0, 0, 1, 0) barFill.BackgroundColor3 = Color3.fromRGB(0, 255, 0) TweenService:Create(barFill, TweenInfo.new(2.5), {Size = UDim2.new(1, 0, 1, 0)}):Play() wait(2.5) intro:Destroy() end --// MAIN GUI FUNCTION function makeMainUI() mainUI = Instance.new("Frame", gui) mainUI.Size = UDim2.new(0, 260, 0, 180) mainUI.Position = UDim2.new(0, 20, 0.6, 0) mainUI.BackgroundColor3 = Color3.fromRGB(25, 25, 25) mainUI.BorderSizePixel = 0 mainUI.Active = true mainUI.Draggable = true local header = Instance.new("TextLabel", mainUI) header.Text = "OBBY FINISHER V1" header.Size = UDim2.new(1, 0, 0, 30) header.BackgroundColor3 = Color3.fromRGB(35, 35, 35) header.TextColor3 = Color3.new(1, 1, 1) header.Font = Enum.Font.GothamBold header.TextScaled = true local closeBtn = Instance.new("TextButton", mainUI) closeBtn.Size = UDim2.new(0, 25, 0, 25) closeBtn.Position = UDim2.new(1, -30, 0, 5) closeBtn.Text = "X" closeBtn.Font = Enum.Font.GothamBold closeBtn.TextScaled = true closeBtn.TextColor3 = Color3.new(1, 0.4, 0.4) closeBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 50) closeBtn.MouseButton1Click:Connect(toggleUI) local tpButton = Instance.new("TextButton", mainUI) tpButton.Text = "Teleport to End" tpButton.Size = UDim2.new(1, -20, 0, 30) tpButton.Position = UDim2.new(0, 10, 0, 40) tpButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60) tpButton.TextColor3 = Color3.new(1, 1, 1) tpButton.Font = Enum.Font.Gotham tpButton.TextScaled = true local status = Instance.new("TextLabel", mainUI) status.Size = UDim2.new(1, 0, 0, 25) status.Position = UDim2.new(0, 0, 1, -25) status.BackgroundColor3 = Color3.fromRGB(50, 50, 50) status.Text = "Status: OFF" status.TextColor3 = Color3.fromRGB(255, 0, 0) status.Font = Enum.Font.Gotham status.TextScaled = true local stageText = Instance.new("TextLabel", mainUI) stageText.Size = UDim2.new(1, 0, 0, 25) stageText.Position = UDim2.new(0, 0, 0, 75) stageText.BackgroundColor3 = Color3.fromRGB(40, 40, 40) stageText.TextColor3 = Color3.new(1, 1, 1) stageText.Font = Enum.Font.Gotham stageText.TextScaled = true stageText.Text = "Stage: N/A" -- Update Stage spawn(function() while true do local s = player.leaderstats and player.leaderstats:FindFirstChild("Stage") if s then stageText.Text = "Stage: " .. s.Value else stageText.Text = "Stage: Unknown" end wait(1) end end) -- Game Finish Detection spawn(function() while true do local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then for _, v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") and v.Name:lower():match("win") then if (char.HumanoidRootPart.Position - v.Position).Magnitude < 10 then status.Text = "Status: FINISHED" status.TextColor3 = Color3.fromRGB(0, 255, 0) end end end end wait(2) end end) -- Teleport to End tpButton.MouseButton1Click:Connect(function() clickSound:Play() local found = false for _, v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") then local name = v.Name:lower() if name:find("win") or name:find("end") or name:find("finish") then player.Character:MoveTo(v.Position + Vector3.new(0, 5, 0)) status.Text = "Status: ON" status.TextColor3 = Color3.fromRGB(0, 255, 0) found = true break end end end if not found then status.Text = "Status: FAILED" status.TextColor3 = Color3.fromRGB(255, 0, 0) end end) end --// SAFE EXECUTOR CHECK local executorName = identifyexecutor and identifyexecutor() or "Unknown" local knownGood = {"Delta", "Codex", "Script-Ware", "Fluxus"} local skipWarning = false for _, name in pairs(knownGood) do if executorName:lower():find(name:lower()) then skipWarning = true end end if skipWarning then createIntro() makeMainUI() else createIntro() local unc = (getexecutor and getexecutor().Unc) or 90 if unc < 95 then local warnFrame = Instance.new("Frame", gui) warnFrame.Size = UDim2.new(0, 350, 0, 200) warnFrame.Position = UDim2.new(0.5, -175, 0.5, -100) warnFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) local warnText = Instance.new("TextLabel", warnFrame) warnText.Size = UDim2.new(1, -20, 0.6, 0) warnText.Position = UDim2.new(0, 10, 0, 10) warnText.TextWrapped = true warnText.Text = "Looks like you got a bad executer!\nYour executer UNC is below 95.\nThere might be bugs.\nPlease upgrade to Delta or Codex." warnText.Font = Enum.Font.Gotham warnText.TextScaled = true warnText.TextColor3 = Color3.new(1, 1, 1) warnText.BackgroundTransparency = 1 local fineBtn = Instance.new("TextButton", warnFrame) fineBtn.Size = UDim2.new(0.45, 0, 0.2, 0) fineBtn.Position = UDim2.new(0.05, 0, 0.75, 0) fineBtn.Text = "[fine]" fineBtn.Font = Enum.Font.GothamBold fineBtn.TextScaled = true fineBtn.TextColor3 = Color3.new(1, 1, 1) fineBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) local noBtn = Instance.new("TextButton", warnFrame) noBtn.Size = UDim2.new(0.45, 0, 0.2, 0) noBtn.Position = UDim2.new(0.5, 0, 0.75, 0) noBtn.Text = "no" noBtn.Font = Enum.Font.GothamBold noBtn.TextScaled = true noBtn.TextColor3 = Color3.new(1, 1, 1) noBtn.BackgroundColor3 = Color3.fromRGB(120, 30, 30) fineBtn.Parent = warnFrame noBtn.Parent = warnFrame warnText.Parent = warnFrame warnFrame.Parent = gui fineBtn.MouseButton1Click:Connect(function() warnFrame:Destroy() makeMainUI() end) noBtn.MouseButton1Click:Connect(function() gui:Destroy() end) else makeMainUI() end end