local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local StarterGui = game:GetService("StarterGui") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local Camera = workspace.CurrentCamera local ScreenGui = Instance.new("ScreenGui", PlayerGui) ScreenGui.Name = "UltimateUtilityGUI" ScreenGui.ResetOnSpawn = false local function makeDraggable(frame) local dragging, offset frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true offset = Vector2.new(input.Position.X - frame.Position.X.Offset, input.Position.Y - frame.Position.Y.Offset) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then frame.Position = UDim2.new(0, input.Position.X - offset.X, 0, input.Position.Y - offset.Y) end end) end local MainFrame = Instance.new("Frame", ScreenGui) MainFrame.Size = UDim2.new(0, 220, 0, 370) MainFrame.Position = UDim2.new(0, 50, 0.5, -150) MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) MainFrame.Name = "MainGUI" makeDraggable(MainFrame) local UIList = Instance.new("UIListLayout", MainFrame) UIList.Padding = UDim.new(0, 5) UIList.FillDirection = Enum.FillDirection.Vertical UIList.HorizontalAlignment = Enum.HorizontalAlignment.Center UIList.SortOrder = Enum.SortOrder.LayoutOrder local function makeButton(name, callback) local b = Instance.new("TextButton", MainFrame) b.Size = UDim2.new(0, 200, 0, 40) b.BackgroundColor3 = Color3.fromRGB(50, 50, 50) b.TextColor3 = Color3.new(1,1,1) b.TextScaled = true b.Text = name b.MouseButton1Click:Connect(callback) end local espOn = false local espObjs = {} local function clearESP() for _, e in pairs(espObjs) do if e and e.Parent then e:Destroy() end end table.clear(espObjs) end local function applyESP(player) if player == LocalPlayer then return end local char = player.Character if not char or not char:FindFirstChild("Head") then return end for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") or part:IsA("Accessory") then pcall(function() part.Color = Color3.new(0, 0, 0) part.Material = Enum.Material.SmoothPlastic end) end end if not char:FindFirstChild("ESP_Billboard") then local bb = Instance.new("BillboardGui") bb.Name = "ESP_Billboard" bb.Size = UDim2.new(4, 0, 4, 0) bb.AlwaysOnTop = true bb.Adornee = char:FindFirstChild("Head") bb.Parent = char local frame = Instance.new("Frame", bb) frame.Size = UDim2.new(1, 0, 1, 0) frame.BackgroundColor3 = Color3.new(1, 0, 0) frame.BackgroundTransparency = 0.5 frame.BorderSizePixel = 0 table.insert(espObjs, bb) end end local function toggleESP(state) espOn = state clearESP() if not state then return end for _, p in pairs(Players:GetPlayers()) do applyESP(p) end Players.PlayerAdded:Connect(function(p) p.CharacterAdded:Connect(function() task.wait(1) applyESP(p) end) end) for _, p in pairs(Players:GetPlayers()) do p.CharacterAdded:Connect(function() task.wait(1) applyESP(p) end) end end makeButton("ESP Toggle", function() espOn = not espOn toggleESP(espOn) end) makeButton("Click to Teleport", function() local tool = Instance.new("Tool") tool.RequiresHandle = false tool.Name = "ClickTP" tool.CanBeDropped = false tool.Parent = LocalPlayer.Backpack tool.Activated:Connect(function() local mouse = LocalPlayer:GetMouse() if mouse and mouse.Hit then local pos = mouse.Hit.Position if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(pos + Vector3.new(0,3,0)) end end end) end) makeButton("Set Dash Key", function() local keyBind = nil local dashGui = Instance.new("ScreenGui", PlayerGui) dashGui.Name = "DashPrompt" local frame = Instance.new("Frame", dashGui) frame.Size = UDim2.new(0, 300, 0, 100) frame.Position = UDim2.new(0.5, -150, 0.5, -50) frame.BackgroundColor3 = Color3.fromRGB(40,40,40) makeDraggable(frame) local text = Instance.new("TextLabel", frame) text.Size = UDim2.new(1,0,0.5,0) text.Text = "Press a key to bind dash" text.TextColor3 = Color3.new(1,1,1) text.TextScaled = true text.BackgroundTransparency = 1 local closeBtn = Instance.new("TextButton", frame) closeBtn.Size = UDim2.new(0, 30, 0, 30) closeBtn.Position = UDim2.new(1, -35, 0, 5) closeBtn.Text = "X" closeBtn.BackgroundColor3 = Color3.fromRGB(150,0,0) closeBtn.MouseButton1Click:Connect(function() dashGui:Destroy() end) UserInputService.InputBegan:Connect(function(input, g) if not keyBind and input.UserInputType == Enum.UserInputType.Keyboard and not g then keyBind = input.KeyCode text.Text = "Dash bound to: "..keyBind.Name end end) UserInputService.InputBegan:Connect(function(input, g) if g then return end if keyBind and input.KeyCode == keyBind then local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp then local dir = LocalPlayer.Character.Humanoid.MoveDirection hrp.Velocity = dir.Unit * 150 end end end) end) makeButton("Loop Bring - perfect for killing", function() local bringGUI = Instance.new("Frame", ScreenGui) bringGUI.Size = UDim2.new(0, 300, 0, 400) bringGUI.Position = UDim2.new(0.5, -150, 0.5, -200) bringGUI.BackgroundColor3 = Color3.fromRGB(40, 40, 40) makeDraggable(bringGUI) local close = Instance.new("TextButton", bringGUI) close.Size = UDim2.new(0, 30, 0, 30) close.Position = UDim2.new(1, -35, 0, 5) close.Text = "X" close.BackgroundColor3 = Color3.fromRGB(255, 0, 0) close.MouseButton1Click:Connect(function() bringGUI:Destroy() end) local scroll = Instance.new("ScrollingFrame", bringGUI) scroll.Size = UDim2.new(1, -20, 1, -60) scroll.Position = UDim2.new(0, 10, 0, 50) scroll.CanvasSize = UDim2.new(0,0,0,0) scroll.ScrollBarThickness = 8 scroll.BackgroundColor3 = Color3.fromRGB(50, 50, 50) local list = Instance.new("UIListLayout", scroll) list.SortOrder = Enum.SortOrder.LayoutOrder local loopThread = nil local loopRunning = false local function stopLoop() loopRunning = false if loopThread then task.cancel(loopThread) loopThread = nil end end for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then local btn = Instance.new("TextButton", scroll) btn.Size = UDim2.new(1, -10, 0, 30) btn.Text = player.Name btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) btn.MouseButton1Click:Connect(function() -- Remove existing confirm/cancel if present for _, child in pairs(bringGUI:GetChildren()) do if child.Name == "ConfirmBtn" or child.Name == "CancelBtn" then child:Destroy() end end local confirm = Instance.new("TextButton", bringGUI) confirm.Name = "ConfirmBtn" confirm.Size = UDim2.new(1, -20, 0, 30) confirm.Position = UDim2.new(0, 10, 1, -60) confirm.Text = "Confirm?" confirm.BackgroundColor3 = Color3.fromRGB(0, 120, 0) local cancel = Instance.new("TextButton", bringGUI) cancel.Name = "CancelBtn" cancel.Size = UDim2.new(1, -20, 0, 30) cancel.Position = UDim2.new(0, 10, 1, -30) cancel.Text = "Cancel" cancel.BackgroundColor3 = Color3.fromRGB(120, 0, 0) confirm.MouseButton1Click:Connect(function() stopLoop() -- stop existing loop before starting a new one loopRunning = true loopThread = task.spawn(function() while loopRunning and player.Parent and player.Character and LocalPlayer.Character do local targetHRP = player.Character:FindFirstChild("HumanoidRootPart") local myHRP = LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if targetHRP and myHRP then targetHRP.CFrame = myHRP.CFrame + Vector3.new(2, 0, 0) end task.wait(0.1) end end) confirm:Destroy() cancel:Destroy() end) cancel.MouseButton1Click:Connect(function() stopLoop() confirm:Destroy() cancel:Destroy() end) end) end end scroll.CanvasSize = UDim2.new(0, 0, 0, list.AbsoluteContentSize.Y + 10) end) makeButton("Chat (Doesn't work lol)", function() local chatGui = Instance.new("ScreenGui", PlayerGui) local frame = Instance.new("Frame", chatGui) frame.Size = UDim2.new(0, 400, 0, 60) frame.Position = UDim2.new(0.5, -200, 1, -100) frame.BackgroundColor3 = Color3.fromRGB(30,30,30) makeDraggable(frame) local box = Instance.new("TextBox", frame) box.Size = UDim2.new(1, -10, 1, -10) box.Position = UDim2.new(0, 5, 0, 5) box.PlaceholderText = "Type message..." box.TextScaled = true box.ClearTextOnFocus = false box.TextColor3 = Color3.new(1,1,1) box.FocusLost:Connect(function(enter) if enter and box.Text ~= "" then local say = game:GetService("ReplicatedStorage"):FindFirstChild("DefaultChatSystemChatEvents") if say and say:FindFirstChild("SayMessageRequest") then say.SayMessageRequest:FireServer(box.Text, "All") end box.Text = "" end end) local close = Instance.new("TextButton", frame) close.Size = UDim2.new(0, 30, 0, 30) close.Position = UDim2.new(1, -35, 0, 5) close.Text = "X" close.BackgroundColor3 = Color3.fromRGB(255, 0, 0) close.MouseButton1Click:Connect(function() chatGui:Destroy() end) end) makeButton("Force Reset", function() if LocalPlayer.Character then LocalPlayer.Character:BreakJoints() end end) makeButton("Heal", function() local char = LocalPlayer.Character if char and char:FindFirstChild("Humanoid") then char.Humanoid.Health = char.Humanoid.MaxHealth end end)