Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- SERVICES
- local Players = game:GetService("Players")
- local RunService = game:GetService("RunService")
- local UserInputService = game:GetService("UserInputService")
- local TweenService = game:GetService("TweenService")
- local Lighting = game:GetService("Lighting")
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local player = Players.LocalPlayer
- local character = player.Character or player.CharacterAdded:Wait()
- local humanoid = character:WaitForChild("Humanoid")
- local hrp = character:WaitForChild("HumanoidRootPart")
- -- CONSTANTS
- local GOD_HEALTH = 1e30
- local FLY_SPEED = 50
- local JUMP_POWER_MULTIPLIER = 3
- -- STATE VARIABLES
- local isFlying = false
- local isNoclip = false
- local isInvisible = false
- local godMode = false
- local soulOn = false
- local speedMultiplier = 1
- local jumpPowerMultiplier = 1
- local forceJump = false
- local chatSpam = false
- local bodyVelocity = nil
- local bodyGyro = nil
- local noclippedParts = {}
- local nameTags = {}
- local espBoxes = {}
- local espLines = {}
- -- NEW FEATURES STATE
- local espEnabled = false
- local xRayEnabled = false
- local superJumpEnabled = false
- local nightVisionEnabled = false
- local noClipParts = {}
- -- COMBINED STATE
- local state = {
- flying = false,
- noclip = false,
- forceJump = false,
- spam = false,
- flyBV = nil,
- conns = {}
- }
- -- CONNECTIONS
- local connections = {}
- -- UTILITY FUNCTIONS
- local function mk(parent, className, props)
- local obj = Instance.new(className)
- if props then for k,v in pairs(props) do obj[k] = v end end
- obj.Parent = parent
- return obj
- end
- local function safeNum(text, fallback)
- local n = tonumber(tostring(text))
- if not n or n <= 0 then return fallback end
- return n
- end
- -- GUI SETUP
- local screenGui = Instance.new("ScreenGui")
- screenGui.Name = "PremiumUtilityPro"
- screenGui.ResetOnSpawn = false
- screenGui.Parent = player:WaitForChild("PlayerGui")
- -- Main Container with modern design
- local mainFrame = Instance.new("Frame")
- mainFrame.Size = UDim2.new(0, 600, 0, 650)
- mainFrame.Position = UDim2.new(0, 20, 0.5, -325)
- mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
- mainFrame.BackgroundTransparency = 0.1
- mainFrame.Active = true
- mainFrame.Draggable = true
- mainFrame.Parent = screenGui
- -- Add gradient and shadow effects
- local gradient = Instance.new("UIGradient")
- gradient.Color = ColorSequence.new({
- ColorSequenceKeypoint.new(0, Color3.fromRGB(30, 30, 40)),
- ColorSequenceKeypoint.new(1, Color3.fromRGB(20, 20, 25))
- })
- gradient.Parent = mainFrame
- local stroke = Instance.new("UIStroke")
- stroke.Color = Color3.fromRGB(60, 60, 80)
- stroke.Thickness = 2
- stroke.Parent = mainFrame
- local function createUICorner(obj, radius)
- local corner = Instance.new("UICorner")
- corner.CornerRadius = UDim.new(0, radius or 8)
- corner.Parent = obj
- return corner
- end
- createUICorner(mainFrame, 12)
- -- Header with icon
- local header = Instance.new("Frame")
- header.Size = UDim2.new(1, 0, 0, 45)
- header.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
- header.Parent = mainFrame
- createUICorner(header, 12)
- local headerGradient = Instance.new("UIGradient")
- headerGradient.Color = ColorSequence.new({
- ColorSequenceKeypoint.new(0, Color3.fromRGB(80, 120, 255)),
- ColorSequenceKeypoint.new(1, Color3.fromRGB(120, 80, 255))
- })
- headerGradient.Parent = header
- local title = Instance.new("TextLabel")
- title.Size = UDim2.new(1, -10, 1, 0)
- title.Position = UDim2.new(0, 10, 0, 0)
- title.Text = "⚡ PREMIUM UTILITY PRO"
- title.Font = Enum.Font.GothamBlack
- title.TextSize = 18
- title.TextColor3 = Color3.new(1, 1, 1)
- title.BackgroundTransparency = 1
- title.TextXAlignment = Enum.TextXAlignment.Left
- title.Parent = header
- local subtitle = Instance.new("TextLabel")
- subtitle.Size = UDim2.new(1, -10, 0, 20)
- subtitle.Position = UDim2.new(0, 10, 0, 25)
- subtitle.Text = "Ultimate Combined Edition"
- subtitle.Font = Enum.Font.Gotham
- subtitle.TextSize = 12
- subtitle.TextColor3 = Color3.fromRGB(200, 200, 255)
- subtitle.BackgroundTransparency = 1
- subtitle.TextXAlignment = Enum.TextXAlignment.Left
- subtitle.Parent = header
- -- Control buttons in header
- local btnClose = mk(header, "TextButton", {
- Text = "X", Size = UDim2.new(0, 34, 0, 26),
- Position = UDim2.new(1, -38, 0, 5),
- BackgroundColor3 = Color3.fromRGB(160, 40, 40),
- TextColor3 = Color3.new(1, 1, 1),
- AutoButtonColor = true
- })
- createUICorner(btnClose, 6)
- local btnMin = mk(header, "TextButton", {
- Text = "—", Size = UDim2.new(0, 34, 0, 26),
- Position = UDim2.new(1, -76, 0, 5),
- BackgroundColor3 = Color3.fromRGB(70, 70, 70),
- TextColor3 = Color3.new(1, 1, 1),
- AutoButtonColor = true
- })
- createUICorner(btnMin, 6)
- -- Scroll frame for organized layout
- local scrollFrame = Instance.new("ScrollingFrame")
- scrollFrame.Size = UDim2.new(1, -10, 1, -60)
- scrollFrame.Position = UDim2.new(0, 5, 0, 50)
- scrollFrame.BackgroundTransparency = 1
- scrollFrame.ScrollBarThickness = 4
- scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 1200)
- scrollFrame.Parent = mainFrame
- -- Modern button creation function
- local function createModernButton(text, yOffset, color, icon, widthScale)
- local buttonContainer = Instance.new("Frame")
- buttonContainer.Size = UDim2.new(widthScale or 1, widthScale and -6 or 0, 0, 36)
- buttonContainer.Position = UDim2.new(0, 0, 0, yOffset)
- buttonContainer.BackgroundTransparency = 1
- buttonContainer.Parent = scrollFrame
- local btn = Instance.new("TextButton")
- btn.Size = UDim2.new(1, -10, 1, 0)
- btn.Position = UDim2.new(0, 5, 0, 0)
- btn.Text = " " .. (icon or "⚡") .. " " .. text
- btn.Font = Enum.Font.GothamSemibold
- btn.TextSize = 14
- btn.BackgroundColor3 = color
- btn.TextColor3 = Color3.new(1, 1, 1)
- btn.TextXAlignment = Enum.TextXAlignment.Left
- btn.Parent = buttonContainer
- createUICorner(btn, 6)
- local buttonStroke = Instance.new("UIStroke")
- buttonStroke.Color = Color3.fromRGB(100, 100, 120)
- buttonStroke.Thickness = 1
- buttonStroke.Parent = btn
- local status = Instance.new("TextLabel")
- status.Size = UDim2.new(0, 60, 1, 0)
- status.Position = UDim2.new(1, -65, 0, 0)
- status.Text = "OFF"
- status.Font = Enum.Font.GothamBold
- status.TextSize = 12
- status.TextColor3 = Color3.fromRGB(255, 80, 80)
- status.BackgroundTransparency = 1
- status.TextXAlignment = Enum.TextXAlignment.Right
- status.Parent = btn
- return btn, status
- end
- -- Update button status function
- local function updateButtonStatus(button, statusLabel, isActive)
- statusLabel.Text = isActive and "ON" or "OFF"
- statusLabel.TextColor3 = isActive and Color3.fromRGB(80, 255, 80) or Color3.fromRGB(255, 80, 80)
- local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
- local tween = TweenService:Create(button, tweenInfo, {
- BackgroundColor3 = isActive and Color3.fromRGB(
- math.min(button.BackgroundColor3.R * 255 + 30, 255),
- math.min(button.BackgroundColor3.G * 255 + 30, 255),
- math.min(button.BackgroundColor3.B * 255 + 30, 255)
- ) or button.BackgroundColor3
- })
- tween:Play()
- end
- -- Create organized sections
- local function createSection(title, yOffset)
- local section = Instance.new("Frame")
- section.Size = UDim2.new(1, 0, 0, 30)
- section.Position = UDim2.new(0, 0, 0, yOffset)
- section.BackgroundTransparency = 1
- section.Parent = scrollFrame
- local label = Instance.new("TextLabel")
- label.Size = UDim2.new(1, -10, 1, 0)
- label.Position = UDim2.new(0, 10, 0, 0)
- label.Text = "┃ " .. title
- label.Font = Enum.Font.GothamBold
- label.TextSize = 14
- label.TextColor3 = Color3.fromRGB(170, 170, 255)
- label.BackgroundTransparency = 1
- label.TextXAlignment = Enum.TextXAlignment.Left
- label.Parent = section
- return yOffset + 35
- end
- -- Create input field function
- local function createInputField(yOffset, placeholder, defaultValue)
- local container = Instance.new("Frame")
- container.Size = UDim2.new(1, 0, 0, 34)
- container.Position = UDim2.new(0, 0, 0, yOffset)
- container.BackgroundTransparency = 1
- container.Parent = scrollFrame
- local input = Instance.new("TextBox")
- input.Size = UDim2.new(1, -10, 1, 0)
- input.Position = UDim2.new(0, 5, 0, 0)
- input.PlaceholderText = placeholder
- input.Text = tostring(defaultValue)
- input.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
- input.TextColor3 = Color3.new(1, 1, 1)
- input.Font = Enum.Font.Gotham
- input.TextSize = 14
- input.ClearTextOnFocus = false
- input.Parent = container
- createUICorner(input, 6)
- return input, container
- end
- -- Create buttons in organized sections
- local yPos = 0
- -- MOVEMENT SECTION
- yPos = createSection("MOVEMENT", yPos)
- local btnFly, flyStatus = createModernButton("Flight Mode", yPos, Color3.fromRGB(0, 150, 200), "🚀")
- local btnDash, dashStatus = createModernButton("Quick Dash", yPos + 40, Color3.fromRGB(80, 80, 180), "💨", 0.48)
- local btnNoclip, noclipStatus = createModernButton("Noclip", yPos + 40, Color3.fromRGB(120, 100, 255), "👻", 0.48)
- local btnSpeed, speedStatus = createModernButton("Speed Hack", yPos + 80, Color3.fromRGB(255, 150, 0), "💨")
- local btnSuperJump, jumpStatus = createModernButton("Super Jump", yPos + 120, Color3.fromRGB(0, 200, 100), "🦘")
- local btnForceJump, forceJumpStatus = createModernButton("Force Jump", yPos + 160, Color3.fromRGB(200, 100, 255), "🔝", 0.48)
- local btnApplySpeed, applySpeedStatus = createModernButton("Apply Speed", yPos + 160, Color3.fromRGB(60, 60, 60), "📝", 0.48)
- -- Speed inputs
- yPos = yPos + 200
- local speedInputLabel = Instance.new("TextLabel")
- speedInputLabel.Size = UDim2.new(1, -10, 0, 20)
- speedInputLabel.Position = UDim2.new(0, 10, 0, yPos)
- speedInputLabel.Text = "Fly/Dash Speed:"
- speedInputLabel.Font = Enum.Font.Gotham
- speedInputLabel.TextSize = 12
- speedInputLabel.TextColor3 = Color3.new(1, 1, 1)
- speedInputLabel.BackgroundTransparency = 1
- speedInputLabel.TextXAlignment = Enum.TextXAlignment.Left
- speedInputLabel.Parent = scrollFrame
- local flySpeedInput, flySpeedContainer = createInputField(yPos + 25, "Fly/Dash Speed", "120")
- yPos = yPos + 70
- local walkInputLabel = Instance.new("TextLabel")
- walkInputLabel.Size = UDim2.new(1, -10, 0, 20)
- walkInputLabel.Position = UDim2.new(0, 10, 0, yPos)
- walkInputLabel.Text = "Walk Speed:"
- walkInputLabel.Font = Enum.Font.Gotham
- walkInputLabel.TextSize = 12
- walkInputLabel.TextColor3 = Color3.new(1, 1, 1)
- walkInputLabel.BackgroundTransparency = 1
- walkInputLabel.TextXAlignment = Enum.TextXAlignment.Left
- walkInputLabel.Parent = scrollFrame
- local walkSpeedInput, walkSpeedContainer = createInputField(yPos + 25, "Walk Speed", "16")
- -- VISUAL SECTION
- yPos = yPos + 70
- yPos = createSection("VISUAL", yPos)
- local btnESP, espStatus = createModernButton("ESP Boxes", yPos, Color3.fromRGB(255, 100, 150), "📦")
- local btnXRay, xrayStatus = createModernButton("X-Ray Vision", yPos + 40, Color3.fromRGB(100, 255, 150), "👁️")
- local btnNightVision, nightVisionStatus = createModernButton("Night Vision", yPos + 80, Color3.fromRGB(200, 200, 0), "🌙")
- local btnInvis, invisStatus = createModernButton("Invisibility", yPos + 120, Color3.fromRGB(180, 180, 180), "🎭")
- -- COMBAT SECTION
- yPos = yPos + 165
- yPos = createSection("COMBAT", yPos)
- local btnGod, godStatus = createModernButton("God Mode", yPos, Color3.fromRGB(255, 80, 80), "🛡️")
- local btnSoul, soulStatus = createModernButton("Soul Found", yPos + 40, Color3.fromRGB(150, 100, 255), "👻")
- -- UTILITY SECTION
- yPos = yPos + 85
- yPos = createSection("UTILITY", yPos)
- local btnReset, resetStatus = createModernButton("Reset All", yPos, Color3.fromRGB(255, 60, 60), "🔄")
- local btnHide, hideStatus = createModernButton("Hide GUI", yPos + 40, Color3.fromRGB(100, 100, 100), "👁️")
- -- CHAT SPAM SECTION
- yPos = yPos + 85
- yPos = createSection("CHAT SPAM", yPos)
- local chatSpamInput, chatSpamContainer = createInputField(yPos, "Spam message", "Premium Utility Pro Activated!")
- local btnChatSpam, chatSpamStatus = createModernButton("Toggle Chat Spam", yPos + 40, Color3.fromRGB(80, 80, 180), "💬")
- -- TELEPORT SECTION
- yPos = yPos + 85
- yPos = createSection("TELEPORT PLAYERS", yPos)
- -- Create teleport dropdown
- local tpDropdown = mk(scrollFrame, "Frame", {
- Size = UDim2.new(1, -10, 0, 150),
- Position = UDim2.new(0, 5, 0, yPos),
- BackgroundColor3 = Color3.fromRGB(36, 36, 38),
- ClipsDescendants = true
- })
- createUICorner(tpDropdown, 6)
- local function refreshPlayers()
- for i, v in pairs(tpDropdown:GetChildren()) do
- if v:IsA("TextButton") then v:Destroy() end
- end
- for i, plr in pairs(Players:GetPlayers()) do
- if plr ~= player then
- local btn = mk(tpDropdown, "TextButton", {
- Text = plr.Name,
- Size = UDim2.new(1, -10, 0, 28),
- Position = UDim2.new(0, 5, 0, (i-1) * 32),
- BackgroundColor3 = Color3.fromRGB(60, 60, 60),
- TextColor3 = Color3.fromRGB(255, 255, 255),
- Font = Enum.Font.Gotham,
- TextSize = 14
- })
- createUICorner(btn, 4)
- btn.MouseButton1Click:Connect(function()
- local char = player.Character
- local target = plr.Character
- if char and target then
- local hrp = char:FindFirstChild("HumanoidRootPart")
- local thrp = target:FindFirstChild("HumanoidRootPart")
- if hrp and thrp then
- hrp.CFrame = thrp.CFrame + Vector3.new(0, 3, 0)
- end
- end
- end)
- end
- end
- end
- -- Speed Slider with modern design
- yPos = yPos + 160
- local speedSection = Instance.new("Frame")
- speedSection.Size = UDim2.new(1, 0, 0, 60)
- speedSection.Position = UDim2.new(0, 0, 0, yPos)
- speedSection.BackgroundTransparency = 1
- speedSection.Parent = scrollFrame
- local speedLabel = Instance.new("TextLabel")
- speedLabel.Size = UDim2.new(1, -10, 0, 20)
- speedLabel.Position = UDim2.new(0, 10, 0, 0)
- speedLabel.Text = "Speed Multiplier: 1x"
- speedLabel.Font = Enum.Font.Gotham
- speedLabel.TextSize = 12
- speedLabel.TextColor3 = Color3.new(1, 1, 1)
- speedLabel.BackgroundTransparency = 1
- speedLabel.TextXAlignment = Enum.TextXAlignment.Left
- speedLabel.Parent = speedSection
- local sliderContainer = Instance.new("Frame")
- sliderContainer.Size = UDim2.new(1, -20, 0, 25)
- sliderContainer.Position = UDim2.new(0, 10, 0, 25)
- sliderContainer.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
- sliderContainer.Parent = speedSection
- createUICorner(sliderContainer, 12)
- local sliderFill = Instance.new("Frame")
- sliderFill.Size = UDim2.new(0.1, 0, 1, 0)
- sliderFill.BackgroundColor3 = Color3.fromRGB(0, 200, 255)
- sliderFill.Parent = sliderContainer
- createUICorner(sliderFill, 12)
- local fillGradient = Instance.new("UIGradient")
- fillGradient.Color = ColorSequence.new({
- ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 150, 255)),
- ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 255, 200))
- })
- fillGradient.Parent = sliderFill
- -- Update scroll frame canvas size
- scrollFrame.CanvasSize = UDim2.new(0, 0, 0, yPos + 100)
- -- Status bar
- local statusBar = mk(mainFrame, "TextLabel", {
- Text = "Premium Utility Pro - Ready",
- Size = UDim2.new(1, -12, 0, 28),
- Position = UDim2.new(0, 6, 1, -36),
- BackgroundTransparency = 1,
- TextColor3 = Color3.fromRGB(190, 190, 190),
- Font = Enum.Font.Gotham,
- TextSize = 13,
- TextXAlignment = Enum.TextXAlignment.Left
- })
- -- FUNCTIONS FOR COMBINED FEATURES
- local function setStatus(txt)
- statusBar.Text = "Premium Utility Pro - " .. txt
- end
- -- Enhanced Flight System (Combined)
- local function enableFly()
- if isFlying then return end
- local char = player.Character or player.CharacterAdded:Wait()
- local hrp = char:FindFirstChild("HumanoidRootPart")
- if not hrp then return end
- bodyVelocity = Instance.new("BodyVelocity")
- bodyGyro = Instance.new("BodyGyro")
- bodyVelocity.Velocity = Vector3.new(0, 0, 0)
- bodyVelocity.MaxForce = Vector3.new(40000, 40000, 40000)
- bodyVelocity.P = 10000
- bodyGyro.MaxTorque = Vector3.new(40000, 40000, 40000)
- bodyGyro.P = 10000
- bodyGyro.CFrame = hrp.CFrame
- bodyVelocity.Parent = hrp
- bodyGyro.Parent = hrp
- connections.flight = RunService.Heartbeat:Connect(function()
- if not isFlying then return end
- local look = workspace.CurrentCamera.CFrame.LookVector
- local right = workspace.CurrentCamera.CFrame.RightVector
- local mv = Vector3.new()
- if UserInputService:IsKeyDown(Enum.KeyCode.W) then mv = mv + Vector3.new(look.X, 0, look.Z) end
- if UserInputService:IsKeyDown(Enum.KeyCode.S) then mv = mv - Vector3.new(look.X, 0, look.Z) end
- if UserInputService:IsKeyDown(Enum.KeyCode.D) then mv = mv + Vector3.new(right.X, 0, right.Z) end
- if UserInputService:IsKeyDown(Enum.KeyCode.A) then mv = mv - Vector3.new(right.X, 0, right.Z) end
- if UserInputService:IsKeyDown(Enum.KeyCode.Space) then mv = mv + Vector3.new(0, 1, 0) end
- if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then mv = mv - Vector3.new(0, 1, 0) end
- local sp = safeNum(flySpeedInput.Text, 120)
- if bodyVelocity then
- bodyVelocity.Velocity = (mv.Magnitude > 0 and mv.Unit * sp or Vector3.new(0, 0, 0))
- end
- if bodyGyro then
- bodyGyro.CFrame = CFrame.new(hrp.Position, hrp.Position + hrp.CFrame.LookVector)
- end
- end)
- isFlying = true
- updateButtonStatus(btnFly, flyStatus, true)
- setStatus("Fly enabled")
- end
- local function disableFly()
- if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end
- if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end
- if connections.flight then
- connections.flight:Disconnect()
- connections.flight = nil
- end
- isFlying = false
- updateButtonStatus(btnFly, flyStatus, false)
- setStatus("Fly disabled")
- end
- -- Quick Dash Function
- local function quickDash()
- local char = player.Character
- if not char then return end
- local hrp = char:FindFirstChild("HumanoidRootPart")
- if not hrp then return end
- local dir = workspace.CurrentCamera.CFrame.LookVector
- local dist = safeNum(flySpeedInput.Text, 120) / 8
- hrp.CFrame = hrp.CFrame + dir * dist
- setStatus("Quick dash executed")
- end
- -- Apply Walk Speed
- local function applyWalkSpeed()
- local char = player.Character
- if not char then return end
- local hum = char:FindFirstChildOfClass("Humanoid")
- if hum then
- hum.WalkSpeed = safeNum(walkSpeedInput.Text, 16)
- setStatus("Walk speed applied: " .. hum.WalkSpeed)
- end
- end
- -- Force Jump
- local function toggleForceJump()
- forceJump = not forceJump
- updateButtonStatus(btnForceJump, forceJumpStatus, forceJump)
- setStatus("Force jump: " .. (forceJump and "ON" or "OFF"))
- end
- -- Chat Spam
- local function toggleChatSpam()
- chatSpam = not chatSpam
- updateButtonStatus(btnChatSpam, chatSpamStatus, chatSpam)
- if chatSpam then
- connections.spam = RunService.Heartbeat:Connect(function()
- local chatEvents = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents")
- if chatEvents then
- local sayMessage = chatEvents:FindFirstChild("SayMessageRequest")
- if sayMessage then
- sayMessage:FireServer(chatSpamInput.Text, "All")
- end
- end
- task.wait(0.5)
- end)
- setStatus("Chat spam enabled")
- else
- if connections.spam then
- connections.spam:Disconnect()
- connections.spam = nil
- end
- setStatus("Chat spam disabled")
- end
- end
- -- NEW FEATURE 1: ESP BOXES
- local function updateESP()
- for player, box in pairs(espBoxes) do
- if box then box:Remove() end
- end
- espBoxes = {}
- if not espEnabled then return end
- for _, plr in pairs(Players:GetPlayers()) do
- if plr ~= player and plr.Character then
- local char = plr.Character
- local hrp = char:FindFirstChild("HumanoidRootPart")
- if hrp then
- local box = Instance.new("BoxHandleAdornment")
- box.Name = "ESP_" .. plr.Name
- box.Adornee = hrp
- box.AlwaysOnTop = true
- box.ZIndex = 10
- box.Size = Vector3.new(4, 6, 2)
- box.Color3 = plr.Team and plr.Team.TeamColor.Color or Color3.new(1, 0, 0)
- box.Transparency = 0.3
- box.Parent = hrp
- espBoxes[plr] = box
- end
- end
- end
- end
- -- NEW FEATURE 2: X-RAY VISION
- local function updateXRay()
- if xRayEnabled then
- for _, part in pairs(workspace:GetDescendants()) do
- if part:IsA("BasePart") and part.Transparency < 0.5 and part.Name ~= "HumanoidRootPart" then
- part.LocalTransparencyModifier = 0.8
- noClipParts[part] = part.Transparency
- end
- end
- else
- for part, _ in pairs(noClipParts) do
- if part.Parent then
- part.LocalTransparencyModifier = 0
- end
- end
- noClipParts = {}
- end
- end
- -- NEW FEATURE 3: SUPER JUMP
- local function updateSuperJump()
- if humanoid then
- if superJumpEnabled then
- humanoid.JumpPower = 50 * JUMP_POWER_MULTIPLIER
- else
- humanoid.JumpPower = 50
- end
- end
- end
- -- NEW FEATURE 4: NIGHT VISION
- local function updateNightVision()
- if nightVisionEnabled then
- Lighting.Ambient = Color3.new(0.5, 0.5, 0.5)
- Lighting.Brightness = 2
- Lighting.ClockTime = 12
- else
- Lighting.Ambient = Color3.new(0, 0, 0)
- Lighting.Brightness = 1
- end
- end
- -- Enhanced Invisibility
- local function setInvisibility(state)
- for _, obj in pairs(character:GetDescendants()) do
- if obj:IsA("BasePart") or obj:IsA("Decal") then
- if obj.Name ~= "HumanoidRootPart" then
- obj.Transparency = state and 1 or 0
- end
- elseif obj:IsA("Accessory") and obj:FindFirstChild("Handle") then
- obj.Handle.Transparency = state and 1 or 0
- end
- end
- end
- -- Enhanced Soul Found (Name Tags)
- local function updateNameTag(plr)
- local head = plr.Character and plr.Character:FindFirstChild("Head")
- if head and not nameTags[plr] then
- local tag = Instance.new("BillboardGui")
- tag.Size = UDim2.new(0, 200, 0, 50)
- tag.Adornee = head
- tag.AlwaysOnTop = true
- tag.Name = "SoulTag"
- tag.Parent = head
- local textLabel = Instance.new("TextLabel")
- textLabel.Size = UDim2.new(1, 0, 0.6, 0)
- textLabel.BackgroundTransparency = 1
- textLabel.TextColor3 = Color3.new(1, 1, 1)
- textLabel.TextStrokeColor3 = Color3.new(0, 0, 0)
- textLabel.TextStrokeTransparency = 0
- textLabel.Font = Enum.Font.GothamBold
- textLabel.TextSize = 14
- textLabel.Text = plr.Name
- textLabel.Parent = tag
- local teamLabel = Instance.new("TextLabel")
- teamLabel.Size = UDim2.new(1, 0, 0.4, 0)
- teamLabel.Position = UDim2.new(0, 0, 0.6, 0)
- teamLabel.BackgroundTransparency = 1
- teamLabel.TextColor3 = Color3.fromRGB(200, 200, 255)
- teamLabel.TextStrokeColor3 = Color3.new(0, 0, 0)
- teamLabel.TextStrokeTransparency = 0
- teamLabel.Font = Enum.Font.Gotham
- teamLabel.TextSize = 12
- teamLabel.Text = "TEAM: " .. (plr.Team and plr.Team.Name or "None")
- teamLabel.Parent = tag
- nameTags[plr] = tag
- end
- end
- -- Slider logic
- local dragging = false
- sliderContainer.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 then
- dragging = true
- end
- end)
- UserInputService.InputEnded:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 then
- dragging = false
- end
- end)
- local function updateSpeedSlider()
- if dragging then
- local mouseX = UserInputService:GetMouseLocation().X
- local guiX = sliderContainer.AbsolutePosition.X
- local percent = math.clamp((mouseX - guiX) / sliderContainer.AbsoluteSize.X, 0, 1)
- sliderFill.Size = UDim2.new(percent, 0, 1, 0)
- speedMultiplier = math.floor(percent * 9 + 1)
- speedLabel.Text = string.format("Speed Multiplier: %dx", speedMultiplier)
- if humanoid then
- humanoid.WalkSpeed = 16 * speedMultiplier
- end
- updateButtonStatus(btnSpeed, speedStatus, speedMultiplier > 1)
- end
- end
- -- BUTTON CONNECTIONS
- -- Flight
- btnFly.MouseButton1Click:Connect(function()
- if isFlying then
- disableFly()
- else
- enableFly()
- end
- end)
- -- Dash
- btnDash.MouseButton1Click:Connect(quickDash)
- -- Noclip
- btnNoclip.MouseButton1Click:Connect(function()
- isNoclip = not isNoclip
- updateButtonStatus(btnNoclip, noclipStatus, isNoclip)
- setStatus("Noclip: " .. (isNoclip and "ON" or "OFF"))
- end)
- -- Apply Speed
- btnApplySpeed.MouseButton1Click:Connect(applyWalkSpeed)
- -- Force Jump
- btnForceJump.MouseButton1Click:Connect(toggleForceJump)
- -- ESP
- btnESP.MouseButton1Click:Connect(function()
- espEnabled = not espEnabled
- updateButtonStatus(btnESP, espStatus, espEnabled)
- updateESP()
- setStatus("ESP: " .. (espEnabled and "ON" or "OFF"))
- end)
- -- X-Ray
- btnXRay.MouseButton1Click:Connect(function()
- xRayEnabled = not xRayEnabled
- updateButtonStatus(btnXRay, xrayStatus, xRayEnabled)
- updateXRay()
- setStatus("X-Ray: " .. (xRayEnabled and "ON" or "OFF"))
- end)
- -- Super Jump
- btnSuperJump.MouseButton1Click:Connect(function()
- superJumpEnabled = not superJumpEnabled
- updateButtonStatus(btnSuperJump, jumpStatus, superJumpEnabled)
- updateSuperJump()
- setStatus("Super Jump: " .. (superJumpEnabled and "ON" or "OFF"))
- end)
- -- Night Vision
- btnNightVision.MouseButton1Click:Connect(function()
- nightVisionEnabled = not nightVisionEnabled
- updateButtonStatus(btnNightVision, nightVisionStatus, nightVisionEnabled)
- updateNightVision()
- setStatus("Night Vision: " .. (nightVisionEnabled and "ON" or "OFF"))
- end)
- -- Invisibility
- btnInvis.MouseButton1Click:Connect(function()
- isInvisible = not isInvisible
- updateButtonStatus(btnInvis, invisStatus, isInvisible)
- setInvisibility(isInvisible)
- setStatus("Invisibility: " .. (isInvisible and "ON" or "OFF"))
- end)
- -- God Mode
- btnGod.MouseButton1Click:Connect(function()
- godMode = not godMode
- updateButtonStatus(btnGod, godStatus, godMode)
- if godMode and humanoid then
- humanoid.MaxHealth = GOD_HEALTH
- humanoid.Health = GOD_HEALTH
- else
- humanoid.MaxHealth = 100
- humanoid.Health = 100
- end
- setStatus("God Mode: " .. (godMode and "ON" or "OFF"))
- end)
- -- Soul Found
- btnSoul.MouseButton1Click:Connect(function()
- soulOn = not soulOn
- updateButtonStatus(btnSoul, soulStatus, soulOn)
- if not soulOn then
- for _, tag in pairs(nameTags) do
- if tag then tag:Destroy() end
- end
- nameTags = {}
- else
- for _, plr in pairs(Players:GetPlayers()) do
- if plr ~= player then
- updateNameTag(plr)
- end
- end
- end
- setStatus("Soul Found: " .. (soulOn and "ON" or "OFF"))
- end)
- -- Chat Spam
- btnChatSpam.MouseButton1Click:Connect(toggleChatSpam)
- -- Reset All Function
- btnReset.MouseButton1Click:Connect(function()
- -- Reset all states
- isFlying, isNoclip, isInvisible = false, false, false
- godMode, soulOn, espEnabled = false, false, false
- xRayEnabled, superJumpEnabled, nightVisionEnabled = false, false, false
- speedMultiplier, jumpPowerMultiplier = 1, 1
- forceJump, chatSpam = false, false
- -- Update UI
- updateButtonStatus(btnFly, flyStatus, false)
- updateButtonStatus(btnNoclip, noclipStatus, false)
- updateButtonStatus(btnSpeed, speedStatus, false)
- updateButtonStatus(btnSuperJump, jumpStatus, false)
- updateButtonStatus(btnESP, espStatus, false)
- updateButtonStatus(btnXRay, xrayStatus, false)
- updateButtonStatus(btnNightVision, nightVisionStatus, false)
- updateButtonStatus(btnInvis, invisStatus, false)
- updateButtonStatus(btnGod, godStatus, false)
- updateButtonStatus(btnSoul, soulStatus, false)
- updateButtonStatus(btnForceJump, forceJumpStatus, false)
- updateButtonStatus(btnChatSpam, chatSpamStatus, false)
- -- Reset character properties
- if humanoid then
- humanoid.WalkSpeed = 16
- humanoid.JumpPower = 50
- humanoid.MaxHealth = 100
- humanoid.Health = 100
- end
- -- Cleanup effects
- if bodyVelocity then bodyVelocity:Destroy() end
- if bodyGyro then bodyGyro:Destroy() end
- setInvisibility(false)
- updateESP()
- updateXRay()
- updateNightVision()
- -- Reset slider
- sliderFill.Size = UDim2.new(0.1, 0, 1, 0)
- speedLabel.Text = "Speed Multiplier: 1x"
- -- Cleanup tags and connections
- for _, tag in pairs(nameTags) do
- if tag then tag:Destroy() end
- end
- nameTags = {}
- for name, connection in pairs(connections) do
- connection:Disconnect()
- end
- connections = {}
- setStatus("All features reset")
- end)
- -- Hide GUI
- btnHide.MouseButton1Click:Connect(function()
- mainFrame.Visible = false
- local unhideBtn = Instance.new("TextButton")
- unhideBtn.Size = UDim2.new(0, 120, 0, 40)
- unhideBtn.Position = UDim2.new(0, 20, 0, 20)
- unhideBtn.Text = "👁️ SHOW GUI"
- unhideBtn.Font = Enum.Font.GothamBold
- unhideBtn.TextSize = 14
- unhideBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 255)
- unhideBtn.TextColor3 = Color3.new(1,1,1)
- unhideBtn.Parent = screenGui
- createUICorner(unhideBtn, 8)
- local stroke = Instance.new("UIStroke")
- stroke.Color = Color3.fromRGB(120, 120, 255)
- stroke.Thickness = 2
- stroke.Parent = unhideBtn
- unhideBtn.MouseButton1Click:Connect(function()
- mainFrame.Visible = true
- unhideBtn:Destroy()
- end)
- end)
- -- Window controls
- btnClose.MouseButton1Click:Connect(function()
- for name, connection in pairs(connections) do
- connection:Disconnect()
- end
- if bodyVelocity then bodyVelocity:Destroy() end
- if bodyGyro then bodyGyro:Destroy() end
- screenGui:Destroy()
- end)
- btnMin.MouseButton1Click:Connect(function()
- mainFrame.Visible = false
- end)
- -- Dragging functionality
- do
- local dragging = false
- local dragStart
- local startPos
- header.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 then
- dragging = true
- dragStart = input.Position
- startPos = mainFrame.Position
- input.Changed:Connect(function()
- if input.UserInputState == Enum.UserInputState.End then
- dragging = false
- end
- end)
- end
- end)
- header.InputChanged:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseMovement and dragging then
- local delta = input.Position - dragStart
- mainFrame.Position = UDim2.new(
- startPos.X.Scale, startPos.X.Offset + delta.X,
- startPos.Y.Scale, startPos.Y.Offset + delta.Y
- )
- end
- end)
- end
- -- Main game loop
- connections.mainLoop = RunService.Stepped:Connect(function()
- -- Update slider if dragging
- updateSpeedSlider()
- -- Noclip logic
- if isNoclip and character then
- for _, part in pairs(character:GetDescendants()) do
- if part:IsA("BasePart") then
- part.CanCollide = false
- end
- end
- end
- -- Force jump logic
- if forceJump and humanoid then
- humanoid.Jump = true
- end
- -- God mode maintenance
- if godMode and humanoid then
- humanoid.MaxHealth = GOD_HEALTH
- humanoid.Health = GOD_HEALTH
- end
- end)
- -- Player management
- connections.playerAdded = Players.PlayerAdded:Connect(function(plr)
- plr.CharacterAdded:Connect(function()
- if soulOn or espEnabled then
- wait(1)
- if soulOn then updateNameTag(plr) end
- if espEnabled then updateESP() end
- end
- refreshPlayers()
- end)
- end)
- connections.playerRemoving = Players.PlayerRemoving:Connect(function(plr)
- if nameTags[plr] then nameTags[plr]:Destroy() end
- if espBoxes[plr] then espBoxes[plr]:Remove() end
- refreshPlayers()
- end)
- -- Character respawn handling
- connections.characterAdded = player.CharacterAdded:Connect(function(char)
- character = char
- hrp = character:WaitForChild("HumanoidRootPart")
- humanoid = character:WaitForChild("Humanoid")
- -- Restore states
- if godMode then
- humanoid.MaxHealth = GOD_HEALTH
- humanoid.Health = GOD_HEALTH
- end
- if isInvisible then setInvisibility(true) end
- if superJumpEnabled then updateSuperJump() end
- if speedMultiplier > 1 then humanoid.WalkSpeed = 16 * speedMultiplier end
- refreshPlayers()
- end)
- -- Initial refresh
- refreshPlayers()
- -- Cleanup function
- local function cleanup()
- for name, connection in pairs(connections) do
- connection:Disconnect()
- end
- if bodyVelocity then bodyVelocity:Destroy() end
- if bodyGyro then bodyGyro:Destroy() end
- for _, tag in pairs(nameTags) do
- if tag then tag:Destroy() end
- end
- for _, box in pairs(espBoxes) do
- if box then box:Remove() end
- end
- updateXRay() -- Reset xray
- updateNightVision() -- Reset night vision
- end
- -- Auto cleanup when script is destroyed
- screenGui.Destroying:Connect(cleanup)
- setStatus("Premium Utility Pro Loaded!")
Advertisement
Add Comment
Please, Sign In to add comment