-- Updated LocalScript: Draggable UI with Tabs (Auto Win & Stamina) and Roblox-style Alerts -- Fixes: Robust across respawns/deaths - always uses current character/HRP -- GUI always creates; functions check for valid character before running -- Slider for Inf Stamina delay -- Fixed TweenPosition with proper enums -- Place this as a LocalScript in StarterPlayerScripts or run it in the client local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") -- Function to show Roblox-style alert local function showAlert(message, title, duration) duration = duration or 5 local alertFrame = Instance.new("Frame") alertFrame.Size = UDim2.new(0, 300, 0, 100) alertFrame.Position = UDim2.new(1, -310, 0, 10) alertFrame.BackgroundColor3 = Color3.fromRGB(0, 162, 255) alertFrame.BorderSizePixel = 0 alertFrame.Parent = PlayerGui alertFrame:TweenPosition(UDim2.new(1, -310, 0, 10), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.3, true) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = alertFrame local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, -10, 0, 25) titleLabel.Position = UDim2.new(0, 5, 0, 5) titleLabel.BackgroundTransparency = 1 titleLabel.Text = title or "Alert" titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.TextScaled = true titleLabel.Font = Enum.Font.SourceSansBold titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = alertFrame local messageLabel = Instance.new("TextLabel") messageLabel.Size = UDim2.new(1, -10, 0, 40) messageLabel.Position = UDim2.new(0, 5, 0, 30) messageLabel.BackgroundTransparency = 1 messageLabel.Text = message messageLabel.TextColor3 = Color3.fromRGB(255, 255, 255) messageLabel.TextScaled = true messageLabel.Font = Enum.Font.SourceSans messageLabel.TextXAlignment = Enum.TextXAlignment.Left messageLabel.TextYAlignment = Enum.TextYAlignment.Top messageLabel.Parent = alertFrame local okButton = Instance.new("TextButton") okButton.Size = UDim2.new(0, 60, 0, 25) okButton.Position = UDim2.new(1, -70, 1, -30) okButton.BackgroundColor3 = Color3.fromRGB(0, 200, 0) okButton.Text = "OK" okButton.TextColor3 = Color3.fromRGB(255, 255, 255) okButton.TextScaled = true okButton.Font = Enum.Font.SourceSansBold okButton.Parent = alertFrame local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 4) buttonCorner.Parent = okButton local dismissed = false okButton.MouseButton1Click:Connect(function() if not dismissed then dismissed = true dismissAlert() end end) local function dismissAlert() local fadeOut = TweenService:Create(alertFrame, TweenInfo.new(0.3), {BackgroundTransparency = 1}) local fadeTitle = TweenService:Create(titleLabel, TweenInfo.new(0.3), {TextTransparency = 1}) local fadeMessage = TweenService:Create(messageLabel, TweenInfo.new(0.3), {TextTransparency = 1}) local fadeButton = TweenService:Create(okButton, TweenInfo.new(0.3), {BackgroundTransparency = 1, TextTransparency = 1}) fadeOut:Play() fadeTitle:Play() fadeMessage:Play() fadeButton:Play() fadeOut.Completed:Connect(function() alertFrame:Destroy() end) end task.delay(duration, dismissAlert) end -- Create ScreenGui (always create, even in menu) local screenGui = Instance.new("ScreenGui") screenGui.Name = "AutoWinGui" screenGui.Parent = PlayerGui screenGui.ResetOnSpawn = false -- Main Frame local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 180, 0, 140) frame.Position = UDim2.new(0, 10, 0, 10) frame.BackgroundColor3 = Color3.fromRGB(45, 45, 45) frame.BorderSizePixel = 0 frame.Parent = screenGui local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 8) frameCorner.Parent = frame -- Tab Bar local tabBar = Instance.new("Frame") tabBar.Size = UDim2.new(1, 0, 0, 20) tabBar.BackgroundTransparency = 1 tabBar.Parent = frame local autoWinTab = Instance.new("TextButton") autoWinTab.Size = UDim2.new(0.5, -1, 1, 0) autoWinTab.Position = UDim2.new(0, 1, 0, 0) autoWinTab.BackgroundColor3 = Color3.fromRGB(0, 162, 255) autoWinTab.Text = "Auto" autoWinTab.TextColor3 = Color3.fromRGB(255, 255, 255) autoWinTab.TextScaled = true autoWinTab.Font = Enum.Font.SourceSansBold autoWinTab.Parent = tabBar local autoWinTabCorner = Instance.new("UICorner") autoWinTabCorner.CornerRadius = UDim.new(0, 4) autoWinTabCorner.Parent = autoWinTab local staminaTab = Instance.new("TextButton") staminaTab.Size = UDim2.new(0.5, 0, 1, 0) staminaTab.Position = UDim2.new(0.5, 0, 0, 0) staminaTab.BackgroundColor3 = Color3.fromRGB(70, 70, 70) staminaTab.Text = "Stam" staminaTab.TextColor3 = Color3.fromRGB(255, 255, 255) staminaTab.TextScaled = true staminaTab.Font = Enum.Font.SourceSansBold staminaTab.Parent = tabBar local staminaTabCorner = Instance.new("UICorner") staminaTabCorner.CornerRadius = UDim.new(0, 4) staminaTabCorner.Parent = staminaTab -- Content Area local contentArea = Instance.new("Frame") contentArea.Size = UDim2.new(1, -10, 1, -25) contentArea.Position = UDim2.new(0, 5, 0, 25) contentArea.BackgroundTransparency = 1 contentArea.Parent = frame -- Auto Win Content local autoWinContent = Instance.new("Frame") autoWinContent.Size = UDim2.new(1, 0, 1, 0) autoWinContent.BackgroundTransparency = 1 autoWinContent.Visible = true autoWinContent.Parent = contentArea local autoWinButton = Instance.new("TextButton") autoWinButton.Size = UDim2.new(0, 140, 0, 30) autoWinButton.Position = UDim2.new(0.5, -70, 0.5, -15) autoWinButton.BackgroundColor3 = Color3.fromRGB(0, 162, 255) autoWinButton.Text = "Auto Win" autoWinButton.TextColor3 = Color3.fromRGB(255, 255, 255) autoWinButton.TextScaled = true autoWinButton.Font = Enum.Font.SourceSansBold autoWinButton.Parent = autoWinContent local autoWinButtonCorner = Instance.new("UICorner") autoWinButtonCorner.CornerRadius = UDim.new(0, 6) autoWinButtonCorner.Parent = autoWinButton -- Stamina Content local staminaContent = Instance.new("Frame") staminaContent.Size = UDim2.new(1, 0, 1, 0) staminaContent.BackgroundTransparency = 1 staminaContent.Visible = false staminaContent.Parent = contentArea local infStaminaButton = Instance.new("TextButton") infStaminaButton.Size = UDim2.new(0, 140, 0, 30) infStaminaButton.Position = UDim2.new(0.5, -70, 0, 0) infStaminaButton.BackgroundColor3 = Color3.fromRGB(255, 162, 0) infStaminaButton.Text = "Inf Stamina (OFF)" infStaminaButton.TextColor3 = Color3.fromRGB(255, 255, 255) infStaminaButton.TextScaled = true infStaminaButton.Font = Enum.Font.SourceSansBold infStaminaButton.Parent = staminaContent local infStaminaCorner = Instance.new("UICorner") infStaminaCorner.CornerRadius = UDim.new(0, 6) infStaminaCorner.Parent = infStaminaButton -- Delay Slider local sliderFrame = Instance.new("Frame") sliderFrame.Size = UDim2.new(1, 0, 0, 40) sliderFrame.Position = UDim2.new(0, 0, 0, 40) sliderFrame.BackgroundTransparency = 1 sliderFrame.Parent = staminaContent local sliderBg = Instance.new("Frame") sliderBg.Size = UDim2.new(0.8, 0, 0, 6) sliderBg.Position = UDim2.new(0.1, 0, 0.5, -3) sliderBg.BackgroundColor3 = Color3.fromRGB(100, 100, 100) sliderBg.Parent = sliderFrame local sliderBgCorner = Instance.new("UICorner") sliderBgCorner.CornerRadius = UDim.new(0, 3) sliderBgCorner.Parent = sliderBg local sliderKnob = Instance.new("TextButton") sliderKnob.Size = UDim2.new(0, 20, 0, 20) sliderKnob.BackgroundColor3 = Color3.fromRGB(0, 162, 255) sliderKnob.Text = "" sliderKnob.Parent = sliderFrame local sliderKnobCorner = Instance.new("UICorner") sliderKnobCorner.CornerRadius = UDim.new(1, 0) sliderKnobCorner.Parent = sliderKnob local delayLabel = Instance.new("TextLabel") delayLabel.Size = UDim2.new(1, 0, 0.5, 0) delayLabel.BackgroundTransparency = 1 delayLabel.Text = "Delay: 1.5s" delayLabel.TextColor3 = Color3.fromRGB(255, 255, 255) delayLabel.TextScaled = true delayLabel.Font = Enum.Font.SourceSans delayLabel.Parent = sliderFrame local minLabel = Instance.new("TextLabel") minLabel.Size = UDim2.new(0.1, 0, 0.5, 0) minLabel.Position = UDim2.new(0, 0, 0.5, 0) minLabel.BackgroundTransparency = 1 minLabel.Text = "0.5s" minLabel.TextColor3 = Color3.fromRGB(150, 150, 150) minLabel.TextScaled = true minLabel.Parent = sliderFrame local maxLabel = Instance.new("TextLabel") maxLabel.Size = UDim2.new(0.1, 0, 0.5, 0) maxLabel.Position = UDim2.new(0.9, 0, 0.5, 0) maxLabel.BackgroundTransparency = 1 maxLabel.Text = "5s" maxLabel.TextColor3 = Color3.fromRGB(150, 150, 150) maxLabel.TextScaled = true maxLabel.Parent = sliderFrame -- Slider logic local MIN_DELAY = 0.5 local MAX_DELAY = 5.0 local infStaminaDelay = 1.5 local function updateSlider() local relativeX = math.clamp((sliderKnob.AbsolutePosition.X - sliderBg.AbsolutePosition.X) / sliderBg.AbsoluteSize.X, 0, 1) infStaminaDelay = MIN_DELAY + (MAX_DELAY - MIN_DELAY) * relativeX delayLabel.Text = string.format("Delay: %.1fs", infStaminaDelay) sliderKnob.Position = UDim2.new(relativeX, -10, 0.5, -10) end sliderKnob.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then local conn; conn = input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then conn:Disconnect() end end) local moveConn; moveConn = UserInputService.InputChanged:Connect(function(input2) if input2.UserInputType == Enum.UserInputType.MouseMovement then local delta = input2.Position.X - input.Position.X local newX = math.clamp(sliderKnob.Position.X.Scale + (delta / sliderBg.AbsoluteSize.X), 0, 1) sliderKnob.Position = UDim2.new(newX, sliderKnob.Position.X.Offset, sliderKnob.Position.Y.Scale, sliderKnob.Position.Y.Offset) updateSlider() end end) input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then moveConn:Disconnect() end end) end end) -- Initial slider position local initRel = (infStaminaDelay - MIN_DELAY) / (MAX_DELAY - MIN_DELAY) sliderKnob.Position = UDim2.new(initRel, -10, 0.5, -10) updateSlider() -- Tab switching local function switchTab(tab) autoWinContent.Visible = tab == "Auto" staminaContent.Visible = tab == "Stam" autoWinTab.BackgroundColor3 = tab == "Auto" and Color3.fromRGB(0, 162, 255) or Color3.fromRGB(70, 70, 70) staminaTab.BackgroundColor3 = tab == "Stam" and Color3.fromRGB(0, 162, 255) or Color3.fromRGB(70, 70, 70) end autoWinTab.MouseButton1Click:Connect(function() switchTab("Auto") end) staminaTab.MouseButton1Click:Connect(function() switchTab("Stam") end) switchTab("Auto") -- Draggable frame local dragging = false frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true local startPos = frame.Position local startInput = input.Position local conn; conn = input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false conn:Disconnect() end end) local moveConn = UserInputService.InputChanged:Connect(function(input2) if dragging and input2.UserInputType == Enum.UserInputType.MouseMovement then local delta = input2.Position - startInput frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) end end) -- Find water part local function findWaterPart() local success, part = pcall(function() return workspace.map.WaterFountains["water fountain"].BOX end) return success and part end -- Get current HRP local function getHRP() return LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") end -- Fire food touches local function fireFoodTouches() local hrp = getHRP() if not hrp then showAlert("No character detected! Execute in match.", "Error") return false end local success, foodFolder = pcall(function() return workspace.map.Lunchables.food end) if not success or not foodFolder then showAlert("Food not found. EXECUTE IN-ROUND or TRY A NEW MAP!!", "Error") return false end local count = 0 for _, obj in foodFolder:GetChildren() do if obj:IsA("BasePart") then pcall(function() firetouchinterest(obj, hrp, 0) task.wait(0.1) firetouchinterest(obj, hrp, 1) end) count = count + 1 end end return count > 0 end -- Teleport to exit local function teleportToExit() local hrp = getHRP() if not hrp then return false end local success, exitDoor = pcall(function() return workspace.map.Doors["Exit Door"] end) if success and exitDoor then local target = exitDoor:IsA("BasePart") and exitDoor or (exitDoor.PrimaryPart or exitDoor:FindFirstChildOfClass("BasePart")) if target then hrp.CFrame = target.CFrame + Vector3.new(0, 5, 0) return true end end return false end -- Auto Win click autoWinButton.MouseButton1Click:Connect(function() local hrp = getHRP() if not hrp then showAlert("Do not execute in the Menu! Execute this in Match!!", "Error") return end autoWinButton.Text = "Running..." autoWinButton.BackgroundColor3 = Color3.fromRGB(255, 162, 0) task.spawn(function() if fireFoodTouches() then task.wait(1) teleportToExit() end autoWinButton.Text = "Auto Win" autoWinButton.BackgroundColor3 = Color3.fromRGB(0, 162, 255) end) end) -- Inf Stamina variables local infStaminaEnabled = false local infStaminaLoop = nil -- Toggle Inf Stamina local function toggleInfStamina() local hrp = getHRP() if not hrp then showAlert("Do not execute in the Menu! Execute this in Match!!", "Error") return end local waterPart = findWaterPart() if not waterPart then showAlert("Water Fountain not found. EXECUTE IN-ROUND or TRY A NEW MAP!!", "Error") return end infStaminaEnabled = not infStaminaEnabled if infStaminaEnabled then infStaminaButton.Text = "Inf Stamina (ON)" infStaminaButton.BackgroundColor3 = Color3.fromRGB(0, 200, 0) infStaminaLoop = task.spawn(function() while infStaminaEnabled do local currentHRP = getHRP() if currentHRP then pcall(function() firetouchinterest(waterPart, currentHRP, 0) task.wait(0.1) firetouchinterest(waterPart, currentHRP, 1) end) end task.wait(infStaminaDelay) end end) else infStaminaButton.Text = "Inf Stamina (OFF)" infStaminaButton.BackgroundColor3 = Color3.fromRGB(255, 162, 0) if infStaminaLoop then task.cancel(infStaminaLoop) infStaminaLoop = nil end end end infStaminaButton.MouseButton1Click:Connect(toggleInfStamina) print("Robust AutoWin UI loaded! Works across respawns/deaths.")