-- Services local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer -- Variables local waypoint = nil local waypointHistory = {} -- Create ScreenGui local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "Gl1tchr00tWaypointGUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = game:GetService("CoreGui") --------------------------------------------------- -- UTILITY FUNCTIONS --------------------------------------------------- local function addCorner(obj, radius) local c = Instance.new("UICorner") c.CornerRadius = UDim.new(0, radius) c.Parent = obj end local function addGlow(obj) local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(170, 80, 255) stroke.Thickness = 2 stroke.Transparency = 0.2 stroke.Parent = obj local gradient = Instance.new("UIGradient") gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(200, 100, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(120, 0, 200)) }) gradient.Parent = stroke -- Pulse animation task.spawn(function() while obj.Parent do TweenService:Create(stroke, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Transparency = 0.6}):Play() task.wait(1.5) TweenService:Create(stroke, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Transparency = 0.2}):Play() task.wait(1.5) end end) end local function makeDraggable(frame, dragHandle) local dragging, dragStart, startPos dragHandle.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) dragHandle.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and dragging then local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) end --------------------------------------------------- -- MAIN FRAME --------------------------------------------------- local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 260, 0, 330) MainFrame.Position = UDim2.new(0.05, 0, 0.2, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(8, 8, 15) MainFrame.BorderSizePixel = 0 MainFrame.Parent = ScreenGui MainFrame.Visible = true addCorner(MainFrame, 16) addGlow(MainFrame) -- Title Bar local TitleBar = Instance.new("Frame") TitleBar.Size = UDim2.new(1, 0, 0, 42) TitleBar.BackgroundColor3 = Color3.fromRGB(18, 0, 40) TitleBar.BorderSizePixel = 0 TitleBar.Parent = MainFrame addCorner(TitleBar, 16) local TitleLabel = Instance.new("TextLabel") TitleLabel.Size = UDim2.new(1, -10, 1, 0) TitleLabel.Position = UDim2.new(0, 10, 0, 0) TitleLabel.BackgroundTransparency = 1 TitleLabel.Text = "Gl1tchr00t's Waypoint GUI" TitleLabel.TextColor3 = Color3.fromRGB(200, 120, 255) TitleLabel.TextScaled = true TitleLabel.Font = Enum.Font.GothamBold TitleLabel.Parent = TitleBar makeDraggable(MainFrame, TitleBar) --------------------------------------------------- -- BUTTON CREATOR --------------------------------------------------- local function createButton(text, yPos) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.9, 0, 0, 42) btn.Position = UDim2.new(0.05, 0, 0, yPos) btn.BackgroundColor3 = Color3.fromRGB(30, 0, 70) btn.Text = text btn.TextColor3 = Color3.fromRGB(210, 140, 255) btn.TextScaled = true btn.Font = Enum.Font.GothamBold btn.BorderSizePixel = 0 btn.Parent = MainFrame addCorner(btn, 14) addGlow(btn) -- Hover animation btn.MouseEnter:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(60, 0, 120)}):Play() end) btn.MouseLeave:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(30, 0, 70)}):Play() end) return btn end -- Buttons local SetWaypointBtn = createButton("Set Waypoint", 60) local GotoWaypointBtn = createButton("Goto Waypoint", 115) local ViewHistoryBtn = createButton("View Waypoint History", 170) local ClearHistoryBtn = createButton("Clear History", 225) --------------------------------------------------- -- HISTORY FRAME --------------------------------------------------- local HistoryFrame = Instance.new("Frame") HistoryFrame.Size = UDim2.new(0, 260, 0, 330) HistoryFrame.Position = UDim2.new(0.37, 0, 0.2, 0) HistoryFrame.BackgroundColor3 = Color3.fromRGB(8, 8, 15) HistoryFrame.BorderSizePixel = 0 HistoryFrame.Parent = ScreenGui HistoryFrame.Visible = false addCorner(HistoryFrame, 16) addGlow(HistoryFrame) local HistoryTitle = Instance.new("TextLabel") HistoryTitle.Size = UDim2.new(1, 0, 0, 42) HistoryTitle.BackgroundColor3 = Color3.fromRGB(18, 0, 40) HistoryTitle.BorderSizePixel = 0 HistoryTitle.Text = "Waypoint History" HistoryTitle.TextColor3 = Color3.fromRGB(200, 120, 255) HistoryTitle.TextScaled = true HistoryTitle.Font = Enum.Font.GothamBold HistoryTitle.Parent = HistoryFrame addCorner(HistoryTitle, 16) makeDraggable(HistoryFrame, HistoryTitle) local HistoryList = Instance.new("Frame") HistoryList.Size = UDim2.new(1, 0, 1, -50) HistoryList.Position = UDim2.new(0, 0, 0, 50) HistoryList.BackgroundTransparency = 1 HistoryList.Parent = HistoryFrame local UIListLayout = Instance.new("UIListLayout", HistoryList) UIListLayout.Padding = UDim.new(0, 10) UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center local function createHistoryButton(text) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.9, 0, 0, 42) btn.BackgroundColor3 = Color3.fromRGB(30, 0, 70) btn.Text = text btn.TextColor3 = Color3.fromRGB(210, 140, 255) btn.TextScaled = true btn.Font = Enum.Font.GothamBold btn.BorderSizePixel = 0 btn.Parent = HistoryList addCorner(btn, 14) addGlow(btn) btn.MouseEnter:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(60, 0, 120)}):Play() end) btn.MouseLeave:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(30, 0, 70)}):Play() end) return btn end --------------------------------------------------- -- FUNCTIONS --------------------------------------------------- local function refreshHistory() for _, child in ipairs(HistoryList:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end for i, pos in ipairs(waypointHistory) do local btn = createHistoryButton("Waypoint " .. i) btn.MouseButton1Click:Connect(function() local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = CFrame.new(pos) end end) end end --------------------------------------------------- -- BUTTON LOGIC --------------------------------------------------- SetWaypointBtn.MouseButton1Click:Connect(function() local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then waypoint = char.HumanoidRootPart.Position table.insert(waypointHistory, waypoint) end end) GotoWaypointBtn.MouseButton1Click:Connect(function() if waypoint then local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = CFrame.new(waypoint) end end end) ViewHistoryBtn.MouseButton1Click:Connect(function() if HistoryFrame.Visible then TweenService:Create(HistoryFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = HistoryFrame.Position + UDim2.new(0.05, 0, 0, 0)}):Play() task.wait(0.25) HistoryFrame.Visible = false else HistoryFrame.Position = UDim2.new(0.42, 0, 0.2, 0) HistoryFrame.Visible = true TweenService:Create(HistoryFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = UDim2.new(0.37, 0, 0.2, 0)}):Play() refreshHistory() end end) ClearHistoryBtn.MouseButton1Click:Connect(function() waypointHistory = {} refreshHistory() end) --------------------------------------------------- -- TOGGLE BUTTON (BOTTOM) --------------------------------------------------- local ToggleBtn = Instance.new("TextButton") ToggleBtn.Size = UDim2.new(0, 60, 0, 40) ToggleBtn.Position = UDim2.new(0.02, 0, 0.9, 0) ToggleBtn.BackgroundColor3 = Color3.fromRGB(30, 0, 70) ToggleBtn.Text = "WP" ToggleBtn.TextColor3 = Color3.fromRGB(210, 140, 255) ToggleBtn.TextScaled = true ToggleBtn.Font = Enum.Font.GothamBold ToggleBtn.BorderSizePixel = 0 ToggleBtn.Parent = ScreenGui addCorner(ToggleBtn, 14) addGlow(ToggleBtn) ToggleBtn.MouseButton1Click:Connect(function() if MainFrame.Visible then TweenService:Create(MainFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = MainFrame.Position + UDim2.new(0, 0, 0.1, 0)}):Play() task.wait(0.25) MainFrame.Visible = false HistoryFrame.Visible = false else MainFrame.Position = UDim2.new(0.05, 0, 0.3, 0) MainFrame.Visible = true TweenService:Create(MainFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = UDim2.new(0.05, 0, 0.2, 0)}):Play() end end)