c00lgui (by suuuuuuiiiiiiaaa)
Key RequiredUniversal

c00lgui (by suuuuuuiiiiiiaaa)

Universal Scriptaerytaeryt 2.2K views 75.5K executesUpdated Aug 28, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•1190 lines (52505 chars)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")

if CoreGui:FindFirstChild("AdminPanelV2_Universe") then
    CoreGui.AdminPanelV2_Universe:Destroy()
end

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AdminPanelV2_Universe"
ScreenGui.Parent = CoreGui
ScreenGui.ResetOnSpawn = false

local function makeDraggable(frame)
    local dragging, dragInput, dragStart, startPos
    frame.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch 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)
    frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end)
    UserInputService.InputChanged:Connect(function(input)
        if input == dragInput 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

local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 580, 0, 450)
MainFrame.Position = UDim2.new(0.5, -290, 0.5, -225)
MainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 12)
MainFrame.BorderSizePixel = 2
MainFrame.BorderColor3 = Color3.fromRGB(255, 0, 0)
MainFrame.Parent = ScreenGui
makeDraggable(MainFrame)

local menuVisible = true
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if not gameProcessed and input.KeyCode == Enum.KeyCode.K then
        menuVisible = not menuVisible; MainFrame.Visible = menuVisible
    end
end)

local TitleBar = Instance.new("Frame")
TitleBar.Size = UDim2.new(1, 0, 0, 40)
TitleBar.BackgroundColor3 = Color3.fromRGB(20, 5, 5)
TitleBar.BorderSizePixel = 1
TitleBar.BorderColor3 = Color3.fromRGB(255, 0, 0)
TitleBar.Parent = MainFrame

local TitleText = Instance.new("TextLabel")
TitleText.Size = UDim2.new(1, -50, 1, 0)
TitleText.Position = UDim2.new(0, 15, 0, 0)
TitleText.Text = "c00lgui"
TitleText.TextColor3 = Color3.fromRGB(255, 0, 0)
TitleText.Font = Enum.Font.SourceSansBold
TitleText.TextSize = 20
TitleText.TextXAlignment = Enum.TextXAlignment.Left
TitleText.BackgroundTransparency = 1
TitleText.Parent = TitleBar

local CloseButton = Instance.new("TextButton")
CloseButton.Size = UDim2.new(0, 30, 0, 30)
CloseButton.Position = UDim2.new(1, -35, 0, 5)
CloseButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
CloseButton.BorderSizePixel = 2
CloseButton.BorderColor3 = Color3.fromRGB(255, 0, 0)
CloseButton.Text = "X"
CloseButton.TextColor3 = Color3.fromRGB(255, 0, 0)
CloseButton.Font = Enum.Font.SourceSansBold
CloseButton.TextSize = 18
CloseButton.Parent = TitleBar
CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end)

local SideBar = Instance.new("Frame")
SideBar.Size = UDim2.new(0, 140, 1, -80)
SideBar.Position = UDim2.new(0, 0, 0, 40)
SideBar.BackgroundColor3 = Color3.fromRGB(5, 5, 5)
SideBar.BorderSizePixel = 1
SideBar.BorderColor3 = Color3.fromRGB(255, 0, 0)
SideBar.Parent = MainFrame

local function createSideBarLayout()
    local layout = Instance.new("UIListLayout")
    layout.Parent = SideBar; layout.Padding = UDim.new(0, 5); layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
    local padding = Instance.new("UIPadding"); padding.Parent = SideBar; padding.PaddingTop = UDim.new(0, 5)
end
createSideBarLayout()

local containers = {}
local function createContainer(name, visible)
    local frame = Instance.new("ScrollingFrame")
    frame.Size = UDim2.new(1, -155, 1, -90)
    frame.Position = UDim2.new(0, 150, 0, 45)
    frame.BackgroundTransparency = 1
    frame.CanvasSize = UDim2.new(0, 0, 0, 750)
    frame.ScrollBarThickness = 6
    frame.Visible = visible
    frame.Parent = MainFrame
    local layout = Instance.new("UIListLayout")
    layout.Parent = frame; layout.Padding = UDim.new(0, 12)
    containers[name] = frame
    return frame
end

local MainContainer = createContainer("MAIN", true)
local FPSContainer = createContainer("FPS", false)
local BloxFruitContainer = createContainer("BLOXFRUIT", false)
local MM2Container = createContainer("MM2", false)
local ForsakenContainer = createContainer("FORSAKEN", false)

local TooltipBar = Instance.new("Frame")
TooltipBar.Size = UDim2.new(1, 0, 0, 40)
TooltipBar.Position = UDim2.new(0, 0, 1, -40)
TooltipBar.BackgroundColor3 = Color3.fromRGB(5, 5, 5)
TooltipBar.BorderSizePixel = 1
TooltipBar.BorderColor3 = Color3.fromRGB(255, 0, 0)
TooltipBar.Parent = MainFrame

local TooltipText = Instance.new("TextLabel")
TooltipText.Size = UDim2.new(1, -20, 1, 0)
TooltipText.Position = UDim2.new(0, 10, 0, 0)
TooltipText.Text = "READY OR NOT WE PLAY GAME"
TooltipText.TextColor3 = Color3.fromRGB(255, 0, 0)
TooltipText.Font = Enum.Font.SourceSansBold
TooltipText.TextSize = 15
TooltipText.TextXAlignment = Enum.TextXAlignment.Center
TooltipText.BackgroundTransparency = 1
TooltipText.Parent = TooltipBar

local function addTooltip(element, text)
    element.MouseEnter:Connect(function() 
        TooltipText.Text = text 
        TooltipText.TextXAlignment = Enum.TextXAlignment.Left
    end)
    element.MouseLeave:Connect(function() 
        TooltipText.Text = "READY OR NOT WE PLAY GAME" 
        TooltipText.TextXAlignment = Enum.TextXAlignment.Center
    end)
end

local tabButtons = {}
local function createTabBtn(name, targetContainer, defaultActive)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(1, -10, 0, 32)
    btn.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    btn.BorderSizePixel = 2
    btn.BorderColor3 = defaultActive and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(100, 0, 0)
    btn.Text = name
    btn.TextColor3 = defaultActive and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(100, 0, 0)
    btn.Font = Enum.Font.SourceSansBold
    btn.TextSize = 13
    btn.Parent = SideBar
    btn.MouseButton1Click:Connect(function()
        for k, v in pairs(containers) do v.Visible = false end
        for _, b in pairs(tabButtons) do 
            b.BorderColor3 = Color3.fromRGB(100, 0, 0) 
            b.TextColor3 = Color3.fromRGB(100, 0, 0)
        end
        targetContainer.Visible = true
        btn.BorderColor3 = Color3.fromRGB(255, 0, 0)
        btn.TextColor3 = Color3.fromRGB(255, 0, 0)
    end)
    table.insert(tabButtons, btn)
end

createTabBtn("MAIN", MainContainer, true)
createTabBtn("FPS", FPSContainer, false)
createTabBtn("BLOX FRUIT", BloxFruitContainer, false)
createTabBtn("MM2", MM2Container, false)
createTabBtn("FORSAKEN :)", ForsakenContainer, false)

local function createSlider(parent, text, desc, min, max, default, callback)
    local Frame = Instance.new("Frame"); Frame.Size = UDim2.new(1, -10, 0, 50); Frame.BackgroundColor3 = Color3.fromRGB(20, 5, 5); Frame.BorderSizePixel = 1; Frame.BorderColor3 = Color3.fromRGB(100, 0, 0); Frame.Parent = parent
    local Label = Instance.new("TextLabel"); Label.Size = UDim2.new(0.5, 0, 1, 0); Label.Position = UDim2.new(0, 10, 0, 0); Label.Text = text .. ": " .. tostring(default); Label.TextColor3 = Color3.fromRGB(255, 0, 0); Label.Font = Enum.Font.SourceSansBold; Label.TextSize = 15; Label.TextXAlignment = Enum.TextXAlignment.Left; Label.BackgroundTransparency = 1; Label.Parent = Frame
    local SliderBar = Instance.new("TextButton"); SliderBar.Size = UDim2.new(0.4, 0, 0, 10); SliderBar.Position = UDim2.new(0.55, 0, 0.5, -5); SliderBar.BackgroundColor3 = Color3.fromRGB(0, 0, 0); SliderBar.BorderSizePixel = 1; SliderBar.BorderColor3 = Color3.fromRGB(255, 0, 0); SliderBar.Text = ""; SliderBar.Parent = Frame
    local Fill = Instance.new("Frame"); Fill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0); Fill.BackgroundColor3 = Color3.fromRGB(255, 0, 0); Fill.BorderSizePixel = 0; Fill.Parent = SliderBar
    local sliding = false
    local function update()
        local mousePos = UserInputService:GetMouseLocation().X; local barPos = SliderBar.AbsolutePosition.X; local barWidth = SliderBar.AbsoluteSize.X; local percentage = math.clamp((mousePos - barPos) / barWidth, 0, 1)
        Fill.Size = UDim2.new(percentage, 0, 1, 0); local value = math.floor(min + (percentage * (max - min))); Label.Text = text .. ": " .. tostring(value); callback(value)
    end
    SliderBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliding = true; update() end end)
    UserInputService.InputChanged:Connect(function(input) if sliding and input.UserInputType == Enum.UserInputType.MouseMovement then update() end end)
    UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliding = false end end)
    addTooltip(Frame, desc)
end

local function createToggle(parent, text, desc, default, callback)
    local Frame = Instance.new("Frame"); Frame.Size = UDim2.new(1, -10, 0, 45); Frame.BackgroundColor3 = Color3.fromRGB(20, 5, 5); Frame.BorderSizePixel = 1; Frame.BorderColor3 = Color3.fromRGB(100, 0, 0); Frame.Parent = parent
    local Label = Instance.new("TextLabel"); Label.Size = UDim2.new(0.6, 0, 1, 0); Label.Position = UDim2.new(0, 10, 0, 0); Label.Text = text; Label.TextColor3 = Color3.fromRGB(255, 0, 0); Label.Font = Enum.Font.SourceSansBold; Label.TextSize = 15; Label.TextXAlignment = Enum.TextXAlignment.Left; Label.BackgroundTransparency = 1; Label.Parent = Frame
    local Button = Instance.new("TextButton"); Button.Size = UDim2.new(0, 70, 0, 25); Button.Position = UDim2.new(1, -80, 0.5, -12); Button.BackgroundColor3 = Color3.fromRGB(0, 0, 0); Button.BorderSizePixel = 2; Button.BorderColor3 = Color3.fromRGB(255, 0, 0); Button.Text = default and "ON" or "OFF"; Button.TextColor3 = Color3.fromRGB(255, 0, 0); Button.Font = Enum.Font.SourceSansBold; Button.TextSize = 13; Button.Parent = Frame
    local state = default
    Button.MouseButton1Click:Connect(function()
        state = not state; Button.Text = state and "ON" or "OFF"; callback(state)
    end)
    addTooltip(Frame, desc)
end

local function createTextBox(parent, text, desc, placeholder, callback)
    local Frame = Instance.new("Frame"); Frame.Size = UDim2.new(1, -10, 0, 45); Frame.BackgroundColor3 = Color3.fromRGB(20, 5, 5); Frame.BorderSizePixel = 1; Frame.BorderColor3 = Color3.fromRGB(100, 0, 0); Frame.Parent = parent
    local Label = Instance.new("TextLabel"); Label.Size = UDim2.new(0.4, 0, 1, 0); Label.Position = UDim2.new(0, 10, 0, 0); Label.Text = text; Label.TextColor3 = Color3.fromRGB(255, 0, 0); Label.Font = Enum.Font.SourceSansBold; Label.TextSize = 15; Label.TextXAlignment = Enum.TextXAlignment.Left; Label.BackgroundTransparency = 1; Label.Parent = Frame
    local TextBox = Instance.new("TextBox"); TextBox.Size = UDim2.new(0.5, 0, 0, 25); TextBox.Position = UDim2.new(0.45, 0, 0.5, -12); TextBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0); TextBox.BorderSizePixel = 1; TextBox.BorderColor3 = Color3.fromRGB(255, 0, 0); TextBox.Text = ""; TextBox.PlaceholderText = placeholder; TextBox.TextColor3 = Color3.fromRGB(255, 0, 0); TextBox.PlaceholderColor3 = Color3.fromRGB(120, 0, 0); TextBox.Font = Enum.Font.SourceSans; TextBox.TextSize = 14; TextBox.Parent = Frame
    TextBox.FocusLost:Connect(function() callback(TextBox.Text) end)
    addTooltip(Frame, desc)
end

local function createButton(parent, text, desc, callback)
    local Button = Instance.new("TextButton"); Button.Size = UDim2.new(1, -10, 0, 40); Button.BackgroundColor3 = Color3.fromRGB(0, 0, 0); Button.BorderSizePixel = 2; Button.BorderColor3 = Color3.fromRGB(255, 0, 0); Button.Text = text; Button.TextColor3 = Color3.fromRGB(255, 0, 0); Button.Font = Enum.Font.SourceSansBold; Button.TextSize = 15; Button.Parent = parent
    Button.MouseButton1Click:Connect(callback); addTooltip(Button, desc)
end

-- STANDARD WALK SPEED --
createSlider(MainContainer, "WalkSpeed", "Adjusts the character walking speed limit.", 16, 250, 16, function(val) 
    pcall(function()
        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then 
            LocalPlayer.Character:FindFirstChildOfClass("Humanoid").WalkSpeed = val 
        end 
    end)
end)

createSlider(MainContainer, "JumpPower", "Adjusts the character jump height velocity.", 50, 500, 50, function(val) if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid"); hum.UseJumpPower = true; hum.JumpPower = val end end)
local infJumpEnabled = false; UserInputService.JumpRequest:Connect(function() if infJumpEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then LocalPlayer.Character:FindFirstChildOfClass("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping) end end)
createToggle(MainContainer, "Infinite Jump", "Allows continuous jumping in mid-air.", false, function(state) infJumpEnabled = state end)

local flying = false; local flySpeedMultiplier = 16; local flyConnection
local function toggleFlying(targetState)
    flying = targetState; local character = LocalPlayer.Character; if not character or not character:FindFirstChild("HumanoidRootPart") or not character:FindFirstChildOfClass("Humanoid") then return end
    local hrp = character.HumanoidRootPart; local humanoid = character:FindFirstChildOfClass("Humanoid")
    if flying then
        humanoid.PlatformStand = true
        flyConnection = RunService.Heartbeat:Connect(function()
            if not flying or not character or not hrp.Parent then if flyConnection then flyConnection:Disconnect() end; humanoid.PlatformStand = false; return end
            local cameraCFrame = Workspace.CurrentCamera.CFrame; local moveDirection = Vector3.new(0, 0, 0)
            if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDirection = moveDirection + cameraCFrame.LookVector end
            if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDirection = moveDirection - cameraCFrame.LookVector end
            if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDirection = moveDirection - cameraCFrame.RightVector end
            if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDirection = moveDirection + cameraCFrame.RightVector end
            hrp.Velocity = Vector3.new(0, 0.1, 0); hrp.RotVelocity = Vector3.new(0, 0, 0)
            if moveDirection.Magnitude > 0 then hrp.CFrame = CFrame.new(hrp.Position + (moveDirection.Unit * (flySpeedMultiplier / 10))) * CFrame.Angles(cameraCFrame:ToEulerAnglesXYZ())
            else hrp.CFrame = CFrame.new(hrp.Position) * CFrame.Angles(cameraCFrame:ToEulerAnglesXYZ()) end
        end)
    else if flyConnection then flyConnection:Disconnect() end; humanoid.PlatformStand = false; hrp.Velocity = Vector3.new(0, 0, 0) end
end
createToggle(MainContainer, "Fly Hack", "Enables smooth CFrame flight mode.", false, function(state) toggleFlying(state) end)
createSlider(MainContainer, "Fly Speed", "Adjusts the CFrame flight travel speed.", 16, 300, 16, function(val) flySpeedMultiplier = val end)

local noclipEnabled = false; local noclipConnection
createToggle(MainContainer, "Noclip", "Allows walking through walls and solid objects.", false, function(state) noclipEnabled = state; if noclipEnabled then noclipConnection = RunService.Stepped:Connect(function() if not noclipEnabled then noclipConnection:Disconnect() return end; if LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") and part.CanCollide then part.CanCollide = false end end end end) else if noclipConnection then noclipConnection:Disconnect() end end end)

createButton(MainContainer, "Teleport to Nearest Player", "Teleports you directly behind the closest player instance.", function()
    local char = LocalPlayer.Character; if not char or not char:FindFirstChild("HumanoidRootPart") then return end
    local closestPlayer = nil; local shortestDistance = math.huge
    for _, player in pairs(Players:GetPlayers()) do 
        if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then 
            local dist = (char.HumanoidRootPart.Position - player.Character.HumanoidRootPart.Position).Magnitude
            if dist < shortestDistance then shortestDistance = dist; closestPlayer = player end 
        end 
    end
    if closestPlayer then char.HumanoidRootPart.CFrame = closestPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, -3) end
end)

local tpToolEnabled = false
local tpTool = nil
local function giveTpTool(state)
    tpToolEnabled = state
    if tpToolEnabled then
        local backpack = LocalPlayer:FindFirstChildOfClass("Backpack")
        if backpack and not backpack:FindFirstChild("TP Tool") and not (LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("TP Tool")) then
            tpTool = Instance.new("Tool")
            tpTool.Name = "TP Tool"
            tpTool.RequiresHandle = false
            tpTool.Activated:Connect(function()
                local mouse = LocalPlayer:GetMouse()
                local char = LocalPlayer.Character
                if char and char:FindFirstChild("HumanoidRootPart") then
                    char.HumanoidRootPart.CFrame = CFrame.new(mouse.Hit.Position + Vector3.new(0, 3, 0))
                end
            end)
            tpTool.Parent = backpack
        end
    else
        if tpTool then tpTool:Destroy() tpTool = nil end
        local backpack = LocalPlayer:FindFirstChildOfClass("Backpack")
        if backpack then
            local existing = backpack:FindFirstChild("TP Tool")
            if existing then existing:Destroy() end
        end
        if LocalPlayer.Character then
            local existing = LocalPlayer.Character:FindFirstChild("TP Tool")
            if existing then existing:Destroy() end
        end
    end
end

LocalPlayer.CharacterAdded:Connect(function()
    task.wait(1)
    if tpToolEnabled then
        giveTpTool(false)
        giveTpTool(true)
    end
end)

createToggle(MainContainer, "Click TP Tool", "Gives an item that teleports you to your mouse click location.", false, function(state) giveTpTool(state) end)

local rotationEnabled = false
local rotationSpeedMultiplier = 1
local rotationConnection

createToggle(MainContainer, "Character Rotation", "Rotates character coordinates smoothly on the Y axis.", false, function(state)
    rotationEnabled = state
    if rotationEnabled then
        rotationConnection = RunService.Heartbeat:Connect(function()
            if not rotationEnabled then rotationConnection:Disconnect() return end
            local char = LocalPlayer.Character
            if char and char:FindFirstChild("HumanoidRootPart") then
                local hrp = char.HumanoidRootPart
                local angleIncrement = math.rad(rotationSpeedMultiplier * 5)
                hrp.CFrame = hrp.CFrame * CFrame.Angles(0, angleIncrement, 0)
            end
        end)
    else
        if rotationConnection then rotationConnection:Disconnect() end
    end
end)

createSlider(MainContainer, "Rotation Speed", "Modifies the angular velocity scaling of character rotation.", 1, 20, 1, function(val)
    rotationSpeedMultiplier = val
end)

local origAmbient = Lighting.Ambient
local origOutdoorAmbient = Lighting.OutdoorAmbient
local origBrightness = Lighting.Brightness
local origShadows = Lighting.GlobalShadows

createToggle(MainContainer, "FullBright", "Enables universal ambient lighting override.", false, function(state)
    if state then
        Lighting.Ambient = Color3.fromRGB(255, 255, 255)
        Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255)
        Lighting.Brightness = 2
        Lighting.GlobalShadows = false
    else
        Lighting.Ambient = origAmbient
        Lighting.OutdoorAmbient = origOutdoorAmbient
        Lighting.Brightness = origBrightness
        Lighting.GlobalShadows = origShadows
    end
end)

local afkEnabled = false
local afkInterval = 5
local afkTimer = 0

task.spawn(function()
    while true do
        task.wait(1)
        if afkEnabled then
            afkTimer = afkTimer + 1
            if afkTimer >= (afkInterval * 60) then
                afkTimer = 0
                pcall(function()
                    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
                        LocalPlayer.Character:FindFirstChildOfClass("Humanoid").Jump = true
                    end
                end)
            end
        else
            afkTimer = 0
        end
    end
end)

createToggle(MainContainer, "Anti-AFK", "Triggers periodic jumps to prevent idle disconnection.", false, function(state)
    afkEnabled = state
end)

createSlider(MainContainer, "Anti-AFK Interval (Min)", "Determines the countdown threshold in minutes.", 1, 15, 5, function(val)
    afkInterval = val
end)

local aimbotEnabled = false; local camera = Workspace.CurrentCamera

local function getAbsoluteClosestPlayer()
    local closestPlayer = nil
    local shortestDistance = math.huge
    local myChar = LocalPlayer.Character
    if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then return nil end
    local myRoot = myChar.HumanoidRootPart
    
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character then
            local targetRoot = player.Character:FindFirstChild("HumanoidRootPart")
            local targetHead = player.Character:FindFirstChild("Head")
            local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
            
            if targetRoot and targetHead and humanoid and humanoid.Health > 0 then
                local dist = (myRoot.Position - targetRoot.Position).Magnitude
                if dist < shortestDistance then
                    shortestDistance = dist
                    closestPlayer = player
                end
            end
        end
    end
    return closestPlayer
end

RunService.RenderStepped:Connect(function()
    if aimbotEnabled then
        local target = getAbsoluteClosestPlayer()
        if target and target.Character and target.Character:FindFirstChild("Head") then
            camera.CFrame = CFrame.new(camera.CFrame.Position, target.Character.Head.Position)
        end
    end
end)

createToggle(FPSContainer, "Aimbot", "Locks camera orientation onto the nearest player's head.", false, function(state) aimbotEnabled = state end)
createSlider(FPSContainer, "FOV Changer", "Modifies camera field of view.", 70, 120, 70, function(val) camera.FieldOfView = val end)

local espEnabled = false
local espConnections = {}
local espFolder = nil

local function applyESP(player, char)
    if not espFolder then return end
    local hrp = char:WaitForChild("HumanoidRootPart", 5)
    local hum = char:WaitForChild("Humanoid", 5)
    if not hrp or not hum then return end
    
    local existing = espFolder:FindFirstChild(player.Name)
    if existing then existing:Destroy() end

    local box = Instance.new("BoxHandleAdornment")
    box.Name = player.Name
    box.Size = Vector3.new(4, 6, 4)
    box.Color3 = Color3.fromRGB(255, 0, 0)
    box.AlwaysOnTop = true
    box.ZIndex = 5
    box.Transparency = 0.5
    box.Adornee = hrp
    box.Parent = espFolder

    local diedCon = hum.Died:Connect(function()
        if box then box:Destroy() end
    end)
    table.insert(espConnections, diedCon)
end

local function trackPlayerESP(player)
    if player == LocalPlayer then return end
    
    local charCon = player.CharacterAdded:Connect(function(char)
        applyESP(player, char)
    end)
    table.insert(espConnections, charCon)
    
    if player.Character then
        applyESP(player, player.Character)
    end
end

local function startStandardESP()
    if espFolder then espFolder:Destroy() end
    espFolder = Instance.new("Folder")
    espFolder.Name = "StandardESPFolder"
    espFolder.Parent = CoreGui

    for _, p in pairs(Players:GetPlayers()) do
        trackPlayerESP(p)
    end

    local playerAddedCon = Players.PlayerAdded:Connect(trackPlayerESP)
    table.insert(espConnections, playerAddedCon)

    local playerRemovingCon = Players.PlayerRemoving:Connect(function(player)
        if espFolder then
            local existing = espFolder:FindFirstChild(player.Name)
            if existing then existing:Destroy() end
        end
    end)
    table.insert(espConnections, playerRemovingCon)
end

local function stopStandardESP()
    for _, con in pairs(espConnections) do
        if con then con:Disconnect() end
    end
    table.clear(espConnections)
    if espFolder then
        espFolder:Destroy()
        espFolder = nil
    end
end

createToggle(FPSContainer, "ESP Boxes", "Highlights opponent models through solid boundaries.", false, function(state)
    espEnabled = state
    if espEnabled then
        startStandardESP()
    else
        stopStandardESP()
    end
end)

local freecamEnabled = false; local freecamConnection; local freecamPart
createToggle(FPSContainer, "Freecam", "Decouples camera projection from character frame.", false, function(state)
    freecamEnabled = state
    if freecamEnabled then
        freecamPart = Instance.new("Part"); freecamPart.Size = Vector3.new(1, 1, 1); freecamPart.Transparency = 1; freecamPart.CanCollide = false; freecamPart.Anchored = true; freecamPart.CFrame = camera.CFrame; freecamPart.Parent = Workspace; camera.CameraSubject = freecamPart
        freecamConnection = RunService.RenderStepped:Connect(function()
            if not freecamEnabled or not freecamPart then if freecamConnection then freecamConnection:Disconnect() end return end
            local cameraCFrame = camera.CFrame; local moveDirection = Vector3.new(0, 0, 0)
            if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDirection = moveDirection + cameraCFrame.LookVector end
            if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDirection = moveDirection - cameraCFrame.LookVector end
            if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDirection = moveDirection - cameraCFrame.RightVector end
            if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDirection = moveDirection + cameraCFrame.RightVector end
            if moveDirection.Magnitude > 0 then freecamPart.CFrame = CFrame.new(freecamPart.Position + (moveDirection.Unit * 1.5)) * CFrame.Angles(cameraCFrame:ToEulerAnglesXYZ()) end
        end)
    else if freecamConnection then freecamConnection:Disconnect() end; if freecamPart then freecamPart:Destroy() end; if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then camera.CameraSubject = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") end end
end)

local fpsBoosterEnabled = false
local fpsConnection
local originalProperties = {}

local function applyFpsBoost(v)
    if v:IsA("Decal") or v:IsA("Texture") then
        if not originalProperties[v] then
            originalProperties[v] = {Transparency = v.Transparency}
        end
        v.Transparency = 1
    elseif v:IsA("ParticleEmitter") or v:IsA("Trail") or v:IsA("Smoke") or v:IsA("Fire") or v:IsA("Sparkles") then
        if not originalProperties[v] then
            originalProperties[v] = {Enabled = v.Enabled}
        end
        v.Enabled = false
    end
end

local function restoreFpsSettings()
    for inst, props in pairs(originalProperties) do
        pcall(function()
            if inst and inst.Parent then
                if props.Transparency ~= nil then
                    inst.Transparency = props.Transparency
                end
                if props.Enabled ~= nil then
                    inst.Enabled = props.Enabled
                end
            end
        end)
    end
    table.clear(originalProperties)
end

createToggle(FPSContainer, "FPS Booster", "Disables textures, decals, and particles to boost performance.", false, function(state)
    fpsBoosterEnabled = state
    if fpsBoosterEnabled then
        fpsConnection = Workspace.DescendantAdded:Connect(function(v)
            pcall(function()
                if fpsBoosterEnabled then
                    applyFpsBoost(v)
                end
            end)
        end)
        for _, v in pairs(Workspace:GetDescendants()) do
            pcall(function()
                applyFpsBoost(v)
            end)
        end
    else
        if fpsConnection then 
            fpsConnection:Disconnect() 
            fpsConnection = nil
        end
        restoreFpsSettings()
    end
end)

local origFogStart = Lighting.FogStart
local origFogEnd = Lighting.FogEnd
createToggle(FPSContainer, "No Fog", "Removes atmosphere and rendering fog for clear visibility.", false, function(state)
    if state then
        Lighting.FogStart = 999999; Lighting.FogEnd = 999999
    else
        Lighting.FogStart = origFogStart; Lighting.FogEnd = origFogEnd
    end
end)

local autoNpcEnabled = false; local npcConnection
local function getClosestNPC()
    local closest = nil; local shortestDistance = math.huge; local myChar = LocalPlayer.Character
    if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then return nil end
    for _, v in pairs(Workspace:GetDescendants()) do
        if v:IsA("Model") and v:FindFirstChild("Humanoid") and v:FindFirstChild("HumanoidRootPart") and v.Name ~= LocalPlayer.Name and not Players:GetPlayerFromCharacter(v) then
            if v.Humanoid.Health > 0 then
                local dist = (myChar.HumanoidRootPart.Position - v.HumanoidRootPart.Position).Magnitude
                if dist < shortestDistance then shortestDistance = dist; closest = v end
            end
        end
    end
    return closest
end

createToggle(BloxFruitContainer, "Auto NPC Target", "Tracks nearest NPC and automatically triggers equipped tools.", false, function(state)
    autoNpcEnabled = state
    if autoNpcEnabled then
        npcConnection = RunService.Heartbeat:Connect(function()
            if not autoNpcEnabled then npcConnection:Disconnect() return end
            local targetNpc = getClosestNPC(); local myChar = LocalPlayer.Character
            if targetNpc and myChar and myChar:FindFirstChild("HumanoidRootPart") then 
                myChar.HumanoidRootPart.CFrame = targetNpc.HumanoidRootPart.CFrame * CFrame.new(0, 0, 3)
                
                local tool = myChar:FindFirstChildOfClass("Tool")
                if tool then
                    tool:Activate()
                end
            end
        end)
    else 
        if npcConnection then npcConnection:Disconnect() end 
    end
end)

local spamText = "GG"
local spamEnabled = false
local spamDelay = 3

task.spawn(function()
    while true do
        task.wait(spamDelay)
        if spamEnabled and spamText ~= "" then
            pcall(function()
                local TextChatService = game:GetService("TextChatService")
                if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then
                    local channel = TextChatService.TextChannels.RBXGeneral
                    channel:SendAsync(spamText)
                else
                    game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(spamText, "All")
                end
            end)
        end
    end
end)

createTextBox(BloxFruitContainer, "Spam Text", "Enter the text you want to spam in chat.", "GG", function(txt) spamText = txt end)
createSlider(BloxFruitContainer, "Spam Delay (Sec)", "Adjust the message transmission delay.", 1, 10, 3, function(val) spamDelay = val end)
createToggle(BloxFruitContainer, "Chat Spammer", "Periodically broadcasts the custom message to server chat.", false, function(state) spamEnabled = state end)

local mm2EspEnabled = false
local mm2EspBoxes = {}

task.spawn(function()
    while true do
        task.wait(0.5)
        if mm2EspEnabled then
            for _, player in pairs(Players:GetPlayers()) do
                if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
                    pcall(function()
                        local isMurderer = player.Backpack:FindFirstChild("Knife") or player.Character:FindFirstChild("Knife")
                        local isSheriff = player.Backpack:FindFirstChild("Gun") or player.Character:FindFirstChild("Gun") or player.Backpack:FindFirstChild("Revolver") or player.Character:FindFirstChild("Revolver")
                        
                        local hrp = player.Character.HumanoidRootPart
                        local existingBox = hrp:FindFirstChild("MM2_ESP_BOX")
                        
                        if isMurderer or isSheriff then
                            if not existingBox then
                                local box = Instance.new("BoxHandleAdornment")
                                box.Name = "MM2_ESP_BOX"
                                box.Size = Vector3.new(4, 6, 4)
                                box.AlwaysOnTop = true
                                box.ZIndex = 5
                                box.Transparency = 0.5
                                box.Adornee = hrp
                                box.Parent = hrp
                                table.insert(mm2EspBoxes, box)
                            end
                            local currentBox = hrp:FindFirstChild("MM2_ESP_BOX")
                            if currentBox then
                                if isMurderer then
                                    currentBox.Color3 = Color3.fromRGB(255, 0, 0)
                                elseif isSheriff then
                                    currentBox.Color3 = Color3.fromRGB(0, 0, 255)
                                end
                            end
                        else
                            if existingBox then existingBox:Destroy() end
                        end
                    end)
                end
            end
        else
            for _, player in pairs(Players:GetPlayers()) do
                if player.Character then
                    local hrp = player.Character:FindFirstChild("HumanoidRootPart")
                    if hrp then
                        local box = hrp:FindFirstChild("MM2_ESP_BOX")
                        if box then box:Destroy() end
                    end
                end
            end
            table.clear(mm2EspBoxes)
        end
    end
end)

createToggle(MM2Container, "Role ESP", "Highlights Murderer (Red) and Sheriff (Blue) through walls.", false, function(state) mm2EspEnabled = state end)

createButton(MM2Container, "TP to Dropped Gun", "Teleports your character to the dead sheriff's dropped weapon.", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        pcall(function()
            for _, v in pairs(Workspace:GetDescendants()) do
                if v:IsA("Tool") and (v.Name == "Gun" or v.Name == "Revolver") and not v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") then
                    char.HumanoidRootPart.CFrame = v:GetModelCFrame() or v.Handle.CFrame
                    break
                elseif v.Name == "GunDrop" or v.Name == "GunPart" then
                    char.HumanoidRootPart.CFrame = v.CFrame
                    break
                end
            end
        end)
    end
end)

local forsakenEspEnabled = false
local forsakenConnections = {}
local forsakenFolder = nil

-- DEEP SCANNING JASON DETECTOR --
local function isPlayerJason(player)
    local char = player.Character
    local backpack = player:FindFirstChildOfClass("Backpack")
    
    if char then
        local charName = string.lower(char.Name)
        if charName:find("jason") or charName:find("killer") then
            return true
        end
    end

    if char and char:FindFirstChild("Jason") then
        return true
    end
    if player:FindFirstChild("Jason") then
        return true
    end
    
    local function checkTools(container)
        if not container then return false end
        for _, tool in pairs(container:GetChildren()) do
            if tool:IsA("Tool") then
                local name = string.lower(tool.Name)
                if name:find("jason") or name:find("machete") or name:find("axe") or name:find("spear") or name:find("grab") or name:find("shears") or name:find("kill") then
                    return true
                end
            end
        end
        return false
    end
    
    if checkTools(backpack) or checkTools(char) then
        return true
    end
    
    local playerAttr = player:GetAttribute("Role") or player:GetAttribute("role") or player:GetAttribute("Character")
    if playerAttr and string.lower(tostring(playerAttr)):find("jason") then
        return true
    end
    if char then
        local charAttr = char:GetAttribute("Role") or char:GetAttribute("role") or char:GetAttribute("Character")
        if charAttr and string.lower(tostring(charAttr)):find("jason") then
            return true
        end
    end

    for _, child in pairs(player:GetChildren()) do
        if child:IsA("StringValue") or child:IsA("ObjectValue") or child:IsA("IntValue") then
            local valStr = string.lower(tostring(child.Value))
            local nameStr = string.lower(child.Name)
            if valStr:find("jason") or nameStr:find("jason") or valStr:find("killer") then
                return true
            end
        end
    end
    if char then
        for _, child in pairs(char:GetChildren()) do
            if child:IsA("StringValue") or child:IsA("ObjectValue") or child:IsA("IntValue") then
                local valStr = string.lower(tostring(child.Value))
                local nameStr = string.lower(child.Name)
                if valStr:find("jason") or nameStr:find("jason") or valStr:find("killer") then
                    return true
                end
            end
        end
    end
    
    if player.Team then
        local teamName = string.lower(player.Team.Name)
        if teamName:find("jason") or teamName:find("killer") or teamName:find("hostile") then
            return true
        end
    end
    
    return false
end

local function applyForsakenESP(player, char)
    if not forsakenFolder then return end
    local hum = char:WaitForChild("Humanoid", 5)
    if not hum then return end
    
    local existing = forsakenFolder:FindFirstChild(player.Name)
    if existing then existing:Destroy() end

    local highlight = Instance.new("Highlight")
    highlight.Name = player.Name
    highlight.FillTransparency = 0.4
    highlight.OutlineTransparency = 0
    highlight.Adornee = char
    highlight.Parent = forsakenFolder

    local colorThread
    colorThread = task.spawn(function()
        while highlight and highlight.Parent do
            pcall(function()
                if isPlayerJason(player) then
                    highlight.FillColor = Color3.fromRGB(5, 5, 5)
                    highlight.OutlineColor = Color3.fromRGB(255, 0, 0)
                else
                    highlight.FillColor = Color3.fromRGB(255, 0, 0)
                    highlight.OutlineColor = Color3.fromRGB(0, 0, 0)
                end
            end)
            task.wait(0.5)
        end
    end)

    local diedCon = hum.Died:Connect(function()
        if highlight then highlight:Destroy() end
        task.cancel(colorThread)
    end)
    table.insert(forsakenConnections, diedCon)
end

local function trackPlayerForsaken(player)
    if player == LocalPlayer then return end
    
    local charCon = player.CharacterAdded:Connect(function(char)
        applyForsakenESP(player, char)
    end)
    table.insert(forsakenConnections, charCon)
    
    if player.Character then
        applyForsakenESP(player, player.Character)
    end
end

local function startForsakenESP()
    if forsakenFolder then forsakenFolder:Destroy() end
    forsakenFolder = Instance.new("Folder")
    forsakenFolder.Name = "ForsakenESPFolder"
    forsakenFolder.Parent = CoreGui

    for _, p in pairs(Players:GetPlayers()) do
        trackPlayerForsaken(p)
    end

    local playerAddedCon = Players.PlayerAdded:Connect(trackPlayerForsaken)
    table.insert(forsakenConnections, playerAddedCon)

    local playerRemovingCon = Players.PlayerRemoving:Connect(function(player)
        if forsakenFolder then
            local existing = forsakenFolder:FindFirstChild(player.Name)
            if existing then existing:Destroy() end
        end
    end)
    table.insert(forsakenConnections, playerRemovingCon)
end

local function stopForsakenESP()
    for _, con in pairs(forsakenConnections) do
        if con then con:Disconnect() end
    end
    table.clear(forsakenConnections)
    if forsakenFolder then
        forsakenFolder:Destroy()
        forsakenFolder = nil
    end
end

createToggle(ForsakenContainer, "Forsaken ESP", "Highlights all players with red Chams visible through walls.", false, function(state)
    forsakenEspEnabled = state
    if forsakenEspEnabled then
        startForsakenESP()
    else
        stopForsakenESP()
    end
end)

-- FORSAKEN BYPASS WALK SPEED (CFRAME OFFSET TECHNIQUE) --
local forsakenSpeedEnabled = false
local forsakenSpeedVal = 16
local forsakenSpeedConnection = nil

local function startForsakenSpeedLoop()
    if forsakenSpeedConnection then forsakenSpeedConnection:Disconnect() end
    forsakenSpeedConnection = RunService.Heartbeat:Connect(function(deltaTime)
        if forsakenSpeedEnabled then
            pcall(function()
                if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
                    local char = LocalPlayer.Character
                    local hrp = char:FindFirstChild("HumanoidRootPart")
                    local hum = char:FindFirstChildOfClass("Humanoid")
                    
                    if hrp and hum and hum.MoveDirection.Magnitude > 0 then
                        local extraSpeed = math.max(0, forsakenSpeedVal - 16)
                        if extraSpeed > 0 then
                            hrp.CFrame = hrp.CFrame + (hum.MoveDirection * (extraSpeed * deltaTime))
                        end
                    end
                end
            end)
        else
            if forsakenSpeedConnection then
                forsakenSpeedConnection:Disconnect()
                forsakenSpeedConnection = nil
            end
        end
    end)
end

createToggle(ForsakenContainer, "Bypass WalkSpeed", "Constantly forces your custom speed to bypass anti-cheat limits.", false, function(state)
    forsakenSpeedEnabled = state
    if forsakenSpeedEnabled then
        startForsakenSpeedLoop()
    else
        if forsakenSpeedConnection then
            forsakenSpeedConnection:Disconnect()
            forsakenSpeedConnection = nil
        end
    end
end)

createSlider(ForsakenContainer, "Bypass Speed Val", "Set your custom bypassed WalkSpeed value.", 16, 250, 16, function(val)
    forsakenSpeedVal = val
end)

-- ABSOLUTE PERFECT REAL-TIME FORSAKEN ITEM ESP --
local itemEspEnabled = false
local itemEspConnections = {}
local itemEspFolder = nil

local realItemKeywords = {
    "generator", "jeneratör", "jenaratör", "cola", "blox", "burger", "hamburger", "pizza", "medkit", "med", "heal"
}

local function isEscapeItem(obj)
    if not obj:IsA("BasePart") and not obj:IsA("Model") then return false end
    if obj:IsDescendantOf(LocalPlayer.Character) or obj:FindFirstAncestorOfClass("Player") or obj:FindFirstAncestorOfClass("Backpack") then return false end
    
    local name = string.lower(obj.Name)
    if name:find("wall") or name:find("floor") or name:find("ceiling") or name:find("map") or name:find("spawner") then return false end
    
    local matched = false
    for _, keyword in pairs(realItemKeywords) do
        if name:find(keyword) then
            matched = true
            break
        end
    end
    if not matched then return false end

    local prompt = obj:FindFirstChildOfClass("ProximityPrompt") or obj:FindFirstChildWhichIsA("ProximityPrompt", true)
    if not prompt and not (name:find("generator") or name:find("jeneratör") or name:find("jenaratör")) then
        return false
    end

    if prompt and not prompt.Enabled then return false end
    if obj:IsA("BasePart") and obj.Transparency > 0.7 then return false end
    if obj:IsA("Model") and obj.PrimaryPart and obj.PrimaryPart.Transparency > 0.7 then return false end

    return true
end

local function createItemVisual(obj)
    if not itemEspFolder then return end
    
    local uniqueID = obj:GetDebugId()
    if itemEspFolder:FindFirstChild(uniqueID) then return end

    local adornTarget = obj:IsA("Model") and (obj.PrimaryPart or obj:FindFirstChildOfClass("BasePart")) or obj
    if not adornTarget then return end

    local container = Instance.new("Folder")
    container.Name = uniqueID
    container.Parent = itemEspFolder

    local bbg = Instance.new("BillboardGui")
    bbg.Name = "LabelGui"
    bbg.Size = UDim2.new(0, 150, 0, 30)
    bbg.AlwaysOnTop = true
    bbg.Adornee = adornTarget
    bbg.Parent = container

    local label = Instance.new("TextLabel")
    label.Size = UDim2.new(1, 0, 1, 0)
    label.BackgroundTransparency = 1
    label.TextColor3 = Color3.fromRGB(255, 0, 0)
    label.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
    label.TextStrokeTransparency = 0
    label.Font = Enum.Font.SourceSansBold
    label.TextSize = 12
    label.Parent = bbg

    local highlight = Instance.new("Highlight")
    highlight.Name = "OutlineHighlight"
    highlight.FillColor = Color3.fromRGB(255, 0, 0)
    highlight.OutlineColor = Color3.fromRGB(255, 0, 0)
    highlight.FillTransparency = 0.98
    highlight.OutlineTransparency = 0
    highlight.Adornee = obj
    highlight.Parent = container

    local connection
    connection = RunService.Heartbeat:Connect(function()
        local killVisual = false
        local prompt = obj:FindFirstChildOfClass("ProximityPrompt") or obj:FindFirstChildWhichIsA("ProximityPrompt", true)
        
        if not obj or not obj.Parent or not obj:IsDescendantOf(Workspace) or not itemEspEnabled then
            killVisual = true
        elseif obj:FindFirstAncestorOfClass("Player") or obj:FindFirstAncestorOfClass("Backpack") then
            killVisual = true
        elseif prompt and not prompt.Enabled then
            killVisual = true
        elseif obj:IsA("BasePart") and obj.Transparency > 0.7 then
            killVisual = true
        elseif obj:IsA("Model") and obj.PrimaryPart and obj.PrimaryPart.Transparency > 0.7 then
            killVisual = true
        end

        if killVisual then
            if container then container:Destroy() end
            if connection then connection:Disconnect() end
            return
        end

        pcall(function()
            if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                local charHrp = LocalPlayer.Character.HumanoidRootPart
                local dist = math.floor((adornTarget.Position - charHrp.Position).Magnitude)
                label.Text = string.upper(obj.Name) .. " [" .. tostring(dist) .. "m]"
            else
                label.Text = string.upper(obj.Name)
            end
        end)
    end)
end

local function startItemESP()
    if itemEspFolder then itemEspFolder:Destroy() end
    itemEspFolder = Instance.new("Folder")
    itemEspFolder.Name = "ItemESPFolder"
    itemEspFolder.Parent = CoreGui

    local function scan()
        pcall(function()
            for _, v in pairs(Workspace:GetDescendants()) do
                if itemEspEnabled and isEscapeItem(v) then
                    createItemVisual(v)
                end
            end
        end)
    end

    scan()

    local scanThread = task.spawn(function()
        while itemEspEnabled do
            task.wait(1.5)
            scan()
        end
    end)
    table.insert(itemEspConnections, {Disconnect = function() task.cancel(scanThread) end})
    
    local descAdded = Workspace.DescendantAdded:Connect(function(v)
        pcall(function()
            if itemEspEnabled and isEscapeItem(v) then
                createItemVisual(v)
            end
        end)
    end)
    table.insert(itemEspConnections, descAdded)
end

local function stopItemESP()
    for _, con in pairs(itemEspConnections) do
        if con then con:Disconnect() end
    end
    table.clear(itemEspConnections)
    if itemEspFolder then
        itemEspFolder:Destroy()
        itemEspFolder = nil
    end
end

createToggle(ForsakenContainer, "Item ESP", "Highlights generators, food, and medkits with sharp red outlines.", false, function(state)
    itemEspEnabled = state
    if itemEspEnabled then
        startItemESP()
    else
        stopItemESP()
    end
end)

-- FEATURE 1: INSTANT INTERACT (PROXIMITY PROMPT HOLD BYPASS) --
local instantInteractEnabled = false
local promptConnection

local function optimizePrompts()
    for _, prompt in pairs(Workspace:GetDescendants()) do
        if prompt:IsA("ProximityPrompt") and instantInteractEnabled then
            prompt.HoldDuration = 0
        end
    end
end

createToggle(ForsakenContainer, "Instant Interact", "Sets all item interaction holding durations to zero seconds.", false, function(state)
    instantInteractEnabled = state
    if instantInteractEnabled then
        optimizePrompts()
        promptConnection = Workspace.DescendantAdded:Connect(function(v)
            if v:IsA("ProximityPrompt") and instantInteractEnabled then
                v.HoldDuration = 0
            end
        end)
    else
        if promptConnection then promptConnection:Disconnect() promptConnection = nil end
    end
end)

-- NEW FEATURE 2: TELEPORT TO HEALTH TURRET / STATION (BUILDERMAN SYSTEM) --
createButton(ForsakenContainer, "Teleport to Health Station", "Teleports you instantly to the nearest healing turret.", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local closestStation = nil
        local shortestDistance = math.huge
        local stationKeywords = {"heal", "health", "taret", "turret", "station", "can", "builderman", "infirmary"}
        
        pcall(function()
            for _, v in pairs(Workspace:GetDescendants()) do
                if v:IsA("BasePart") or v:IsA("Model") then
                    local name = string.lower(v.Name)
                    local isStation = false
                    
                    for _, kw in pairs(stationKeywords) do
                        if name:find(kw) then
                            isStation = true
                            break
                        end
                    end
                    
                    if isStation and not v:IsDescendantOf(char) and not v:FindFirstAncestorOfClass("Player") then
                        local targetPos = v:IsA("Model") and (v.PrimaryPart and v.PrimaryPart.Position or v:FindFirstChildOfClass("BasePart") and v:FindFirstChildOfClass("BasePart").Position) or v.Position
                        if targetPos then
                            local dist = (char.HumanoidRootPart.Position - targetPos).Magnitude
                            if dist < shortestDistance then
                                shortestDistance = dist
                                closestStation = v
                            end
                        end
                    end
                end
            end
            
            if closestStation then
                local targetCFrame = closestStation:IsA("Model") and (closestStation.PrimaryPart and closestStation.PrimaryPart.CFrame or closestStation:FindFirstChildOfClass("BasePart") and closestStation:FindFirstChildOfClass("BasePart").CFrame) or closestStation.CFrame
                -- Işınlanırken taretin içine sıkışmamak için 3 stud yukarısına güvenli ışınlar
                char.HumanoidRootPart.CFrame = targetCFrame * CFrame.new(0, 3, 0)
            end
        end)
    end
end)

Features & Information

a hundred millon fetures just trust me
#clgui#coolkid#coolgui

Community Comments (3)

HajicrxzyHajicrxzySep 12, 2026

Cool

KurkupachKurkupachSep 17, 2026

Is this even real

KurkupachKurkupachSep 17, 2026

It works

More Scripts for Universal Scripts