neverlose cracked gui
Key Required Patched

neverlose cracked gui

[NEW MAP] BloxStrikesh11tsh11t 3.5K views 329 executesUpdated Jan 29, 2026
2.5/ 5(2 votes)
1150% Positive
Lua Script•2296 lines (76025 chars)
local ScriptContext = game:GetService("ScriptContext")
local LogService = game:GetService("LogService")
task.spawn(function()
	for _, conn in ipairs(getconnections(ScriptContext.Error)) do
		if pcall(function()
			conn:Disable()
		end) then
		end
	end
	pcall(function()
		hookfunction(ScriptContext.Error.Connect, newcclosure(function(...)
			return nil
		end))
	end)
end)
task.spawn(function()
	for _, conn in pairs(getconnections(LogService.MessageOut)) do
		if conn and conn.Function then
			if pcall(function()
				hookfunction(conn.Function, newcclosure(function(...)
				end))
			end) then
			end
		end
	end
end)



--[[


    NEVERLOSE shittttttttttttttttttttt
]]

-- ==========================================
-- SERVICES
-- ==========================================
local Services = {
    TweenService = game:GetService("TweenService"),
    UserInputService = game:GetService("UserInputService"),
    RunService = game:GetService("RunService"),
    Players = game:GetService("Players"),
    Lighting = game:GetService("Lighting"),
    HttpService = game:GetService("HttpService"),
    VirtualUser = game:GetService("VirtualUser"),
    StarterGui = game:GetService("StarterGui")
}

local LocalPlayer = Services.Players.LocalPlayer
local Camera = workspace.CurrentCamera
local Mouse = LocalPlayer:GetMouse()

-- ==========================================
-- CONFIG
-- ==========================================
local Config = {
    Aimbot = {
        Enabled = false,
        TeamCheck = true,
        WallCheck = true,
        FOV = 120,
        Smoothness = 0.3,
        AimPart = "Head",
        SilentAim = false,
        Prediction = 0.13,
        IgnoreFriends = false,
        VisibleCheck = true
    },
    ESP = {
        Enabled = false,
        Boxes = true,
        Names = true,
        Distance = true,
        Health = true,
        Skeletons = false,
        Tracers = false,
        TeamCheck = true,
        MaxDistance = 5000,
        ShowTeam = false,
        Rainbow = false
    },
    Misc = {
        SpeedHack = 16,
        JumpPower = 50,
        InfiniteJump = false,
        NoClip = false,
        Fly = false,
        FlySpeed = 50,
        FullBright = false,
        FOVChanger = 70,
        ThirdPerson = false,
        AntiAFK = false,
        AutoRespawn = false,
        RemoveFog = false,
        Spinbot = false,
        SpinbotSpeed = 10
    }
}

-- ==========================================
-- THEME
-- ==========================================
local Theme = {
    Background = Color3.fromRGB(17, 17, 22),
    Secondary = Color3.fromRGB(22, 22, 28),
    Tertiary = Color3.fromRGB(26, 26, 32),

    Accent = Color3.fromRGB(139, 92, 246),
    AccentHover = Color3.fromRGB(155, 112, 255),
    AccentActive = Color3.fromRGB(124, 77, 230),

    TextPrimary = Color3.fromRGB(255, 255, 255),
    TextSecondary = Color3.fromRGB(175, 175, 190),
    TextTertiary = Color3.fromRGB(120, 120, 135),

    Success = Color3.fromRGB(34, 197, 94),
    Warning = Color3.fromRGB(251, 191, 36),
    Error = Color3.fromRGB(239, 68, 68),
    Info = Color3.fromRGB(59, 130, 246),

    Border = Color3.fromRGB(40, 40, 50),
    Divider = Color3.fromRGB(35, 35, 45)
}

-- ==========================================
-- UTILITY FUNCTIONS
-- ==========================================
local Utils = {}

function Utils.Tween(obj, time, props)
    local tween = Services.TweenService:Create(
        obj,
        TweenInfo.new(time, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
        props
    )
    tween:Play()
    return tween
end

function Utils.Corner(parent, radius)
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, radius or 8)
    corner.Parent = parent
    return corner
end

function Utils.Stroke(parent, color, thickness, transparency)
    local stroke = Instance.new("UIStroke")
    stroke.Color = color or Theme.Border
    stroke.Thickness = thickness or 1
    stroke.Transparency = transparency or 0.5
    stroke.Parent = parent
    return stroke
end

function Utils.Shadow(parent)
    local shadow = Instance.new("ImageLabel")
    shadow.Name = "Shadow"
    shadow.Size = UDim2.new(1, 30, 1, 30)
    shadow.Position = UDim2.fromScale(0.5, 0.5)
    shadow.AnchorPoint = Vector2.new(0.5, 0.5)
    shadow.BackgroundTransparency = 1
    shadow.Image = "rbxassetid://5554236805"
    shadow.ImageColor3 = Color3.fromRGB(0, 0, 0)
    shadow.ImageTransparency = 0.7
    shadow.ScaleType = Enum.ScaleType.Slice
    shadow.SliceCenter = Rect.new(23, 23, 277, 277)
    shadow.ZIndex = 0
    shadow.Parent = parent
    return shadow
end

function Utils.IsAlive(player)
    return player and player.Character and player.Character:FindFirstChild("Humanoid") 
        and player.Character.Humanoid.Health > 0
end

function Utils.GetCharacter(player)
    return player and player.Character
end

function Utils.GetRootPart(player)
    local char = Utils.GetCharacter(player)
    return char and char:FindFirstChild("HumanoidRootPart")
end

function Utils.GetHumanoid(player)
    local char = Utils.GetCharacter(player)
    return char and char:FindFirstChild("Humanoid")
end

-- Rainbow color generator
local RainbowHue = 0
function Utils.GetRainbowColor()
    RainbowHue = (RainbowHue + 0.01) % 1
    return Color3.fromHSV(RainbowHue, 1, 1)
end

-- ==========================================
-- NOTIFICATION SYSTEM
-- ==========================================
local Notifications = {}
local NotificationQueue = {}
local NotificationBusy = false

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "NeverloseGUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.IgnoreGuiInset = true

-- Защита от удаления
local success = pcall(function()
    ScreenGui.Parent = game:GetService("CoreGui")
end)

if not success then
    ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
end

local NotificationHolder = Instance.new("Frame")
NotificationHolder.Name = "NotificationHolder"
NotificationHolder.Size = UDim2.new(0, 300, 1, -80)
NotificationHolder.Position = UDim2.new(1, -310, 0, 60)
NotificationHolder.BackgroundTransparency = 1
NotificationHolder.Parent = ScreenGui

local NotificationList = Instance.new("UIListLayout")
NotificationList.Padding = UDim.new(0, 6)
NotificationList.FillDirection = Enum.FillDirection.Vertical
NotificationList.HorizontalAlignment = Enum.HorizontalAlignment.Right
NotificationList.VerticalAlignment = Enum.VerticalAlignment.Top
NotificationList.Parent = NotificationHolder

local function PushNotification(text, ntype)
    table.insert(NotificationQueue, {Text = text, Type = ntype or "Info", Time = tick()})
end

local function CreateNotification(data)
    local Frame = Instance.new("Frame")
    Frame.Size = UDim2.new(0, 280, 0, 45)
    Frame.BackgroundColor3 = Theme.Secondary
    Frame.BorderSizePixel = 0
    Frame.ClipsDescendants = true
    Frame.Parent = NotificationHolder
    Frame.BackgroundTransparency = 1
    Frame.Position = UDim2.new(0, 300, 0, 0)

    Utils.Corner(Frame, 8)
    Utils.Stroke(Frame, Theme.Border, 1, 0.4)

    local AccentBar = Instance.new("Frame")
    AccentBar.Size = UDim2.new(0, 4, 1, 0)
    AccentBar.Position = UDim2.new(0, 0, 0, 0)
    AccentBar.BackgroundColor3 = Theme.Info
    AccentBar.BorderSizePixel = 0
    AccentBar.Parent = Frame

    Utils.Corner(AccentBar, 2)

    if data.Type == "Success" then
        AccentBar.BackgroundColor3 = Theme.Success
    elseif data.Type == "Error" then
        AccentBar.BackgroundColor3 = Theme.Error
    elseif data.Type == "Warning" then
        AccentBar.BackgroundColor3 = Theme.Warning
    end

    local Icon = Instance.new("TextLabel")
    Icon.Size = UDim2.new(0, 30, 1, 0)
    Icon.Position = UDim2.new(0, 8, 0, 0)
    Icon.BackgroundTransparency = 1
    Icon.TextColor3 = AccentBar.BackgroundColor3
    Icon.TextSize = 18
    Icon.Font = Enum.Font.GothamBold
    Icon.Parent = Frame

    if data.Type == "Success" then
        Icon.Text = "✓"
    elseif data.Type == "Error" then
        Icon.Text = "✕"
    elseif data.Type == "Warning" then
        Icon.Text = "⚠"
    else
        Icon.Text = "ℹ"
    end

    local Label = Instance.new("TextLabel")
    Label.Size = UDim2.new(1, -48, 1, 0)
    Label.Position = UDim2.new(0, 42, 0, 0)
    Label.BackgroundTransparency = 1
    Label.Text = data.Text
    Label.TextColor3 = Theme.TextPrimary
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.TextYAlignment = Enum.TextYAlignment.Center
    Label.Font = Enum.Font.Gotham
    Label.TextSize = 13
    Label.TextWrapped = true
    Label.Parent = Frame

    -- Анимация появления
    Utils.Tween(Frame, 0.25, {
        BackgroundTransparency = 0,
        Position = UDim2.new(0, 0, 0, 0)
    })

    -- Прогресс-бар
    local ProgressBar = Instance.new("Frame")
    ProgressBar.Size = UDim2.new(1, 0, 0, 2)
    ProgressBar.Position = UDim2.new(0, 0, 1, -2)
    ProgressBar.BackgroundColor3 = AccentBar.BackgroundColor3
    ProgressBar.BorderSizePixel = 0
    ProgressBar.Parent = Frame

    Utils.Tween(ProgressBar, 3, {Size = UDim2.new(0, 0, 0, 2)})

    task.delay(3, function()
        Utils.Tween(Frame, 0.25, {
            BackgroundTransparency = 1,
            Position = UDim2.new(0, 300, 0, 0)
        })
        task.wait(0.3)
        Frame:Destroy()
        NotificationBusy = false
    end)
end

-- Очередь уведомлений
task.spawn(function()
    while task.wait(0.1) do
        if not NotificationBusy and #NotificationQueue > 0 then
            NotificationBusy = true
            local data = table.remove(NotificationQueue, 1)
            CreateNotification(data)
        end
    end
end)

-- ==========================================
-- ESP SYSTEM (УЛУЧШЕННАЯ)
-- ==========================================
local ESPObjects = {}

local function CreateESP(player)
    if player == LocalPlayer then return end
    if ESPObjects[player] then return end

    local esp = {
        Player = player,
        Drawings = {},
        Connections = {}
    }

    -- Box
    local box = Drawing.new("Square")
    box.Visible = false
    box.Color = Color3.new(1, 1, 1)
    box.Thickness = 2
    box.Filled = false
    box.Transparency = 1
    esp.Drawings.Box = box

    -- Name
    local name = Drawing.new("Text")
    name.Visible = false
    name.Color = Color3.new(1, 1, 1)
    name.Size = 14
    name.Center = true
    name.Outline = true
    name.Font = 2
    name.Text = player.Name
    name.Transparency = 1
    esp.Drawings.Name = name

    -- Distance
    local distance = Drawing.new("Text")
    distance.Visible = false
    distance.Color = Color3.new(1, 1, 1)
    distance.Size = 13
    distance.Center = true
    distance.Outline = true
    distance.Font = 2
    distance.Transparency = 1
    esp.Drawings.Distance = distance

    -- Health bar background
    local healthBack = Drawing.new("Square")
    healthBack.Visible = false
    healthBack.Color = Color3.new(0, 0, 0)
    healthBack.Filled = true
    healthBack.Transparency = 0.5
    esp.Drawings.HealthBack = healthBack

    -- Health bar fill
    local healthFill = Drawing.new("Square")
    healthFill.Visible = false
    healthFill.Color = Color3.new(0, 1, 0)
    healthFill.Filled = true
    healthFill.Transparency = 1
    esp.Drawings.HealthFill = healthFill

    -- Tracer
    local tracer = Drawing.new("Line")
    tracer.Visible = false
    tracer.Color = Color3.new(1, 1, 1)
    tracer.Thickness = 1
    tracer.Transparency = 1
    esp.Drawings.Tracer = tracer

    -- Skeleton lines
    esp.Drawings.Skeleton = {}
    for i = 1, 12 do
        local line = Drawing.new("Line")
        line.Visible = false
        line.Color = Color3.new(1, 1, 1)
        line.Thickness = 1
        line.Transparency = 1
        table.insert(esp.Drawings.Skeleton, line)
    end

    ESPObjects[player] = esp
end

local function RemoveESP(player)
    local esp = ESPObjects[player]
    if not esp then return end
    
    for _, drawing in pairs(esp.Drawings) do
        if type(drawing) == "table" then
            for _, line in pairs(drawing) do
                pcall(function()
                    line.Visible = false
                    line:Remove()
                end)
            end
        else
            pcall(function()
                drawing.Visible = false
                drawing:Remove()
            end)
        end
    end
    
    for _, connection in pairs(esp.Connections) do
        connection:Disconnect()
    end
    
    ESPObjects[player] = nil
end

local function UpdateESP()
    if not Config.ESP.Enabled then
        for _, esp in pairs(ESPObjects) do
            for _, drawing in pairs(esp.Drawings) do
                if type(drawing) == "table" then
                    for _, line in pairs(drawing) do
                        line.Visible = false
                    end
                else
                    drawing.Visible = false
                end
            end
        end
        return
    end

    for player, esp in pairs(ESPObjects) do
        pcall(function()
            if not Utils.IsAlive(player) then
                for _, drawing in pairs(esp.Drawings) do
                    if type(drawing) == "table" then
                        for _, line in pairs(drawing) do
                            line.Visible = false
                        end
                    else
                        drawing.Visible = false
                    end
                end
                return
            end

            if Config.ESP.TeamCheck and player.Team == LocalPlayer.Team and not Config.ESP.ShowTeam then
                for _, drawing in pairs(esp.Drawings) do
                    if type(drawing) == "table" then
                        for _, line in pairs(drawing) do
                            line.Visible = false
                        end
                    else
                        drawing.Visible = false
                    end
                end
                return
            end

            local hrp = Utils.GetRootPart(player)
            local humanoid = Utils.GetHumanoid(player)
            local head = player.Character:FindFirstChild("Head") or hrp

            if not hrp or not humanoid then return end

            local myHrp = Utils.GetRootPart(LocalPlayer)
            if not myHrp then return end

            local dist = (myHrp.Position - hrp.Position).Magnitude
            
            if dist > Config.ESP.MaxDistance then
                for _, drawing in pairs(esp.Drawings) do
                    if type(drawing) == "table" then
                        for _, line in pairs(drawing) do
                            line.Visible = false
                        end
                    else
                        drawing.Visible = false
                    end
                end
                return
            end

            local screenPos, onScreen = Camera:WorldToViewportPoint(hrp.Position)
            
            if onScreen then
                local headPos = Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.5, 0))
                local legPos = Camera:WorldToViewportPoint(hrp.Position - Vector3.new(0, 3, 0))

                local height = math.abs(headPos.Y - legPos.Y)
                local width = height / 2

                local espColor = Config.ESP.Rainbow and Utils.GetRainbowColor() or Color3.new(1, 1, 1)

                -- Boxes
                if Config.ESP.Boxes then
                    esp.Drawings.Box.Size = Vector2.new(width, height)
                    esp.Drawings.Box.Position = Vector2.new(screenPos.X - width / 2, screenPos.Y - height / 2)
                    esp.Drawings.Box.Color = espColor
                    esp.Drawings.Box.Visible = true
                else
                    esp.Drawings.Box.Visible = false
                end

                -- Names
                if Config.ESP.Names then
                    esp.Drawings.Name.Position = Vector2.new(screenPos.X, headPos.Y - 20)
                    esp.Drawings.Name.Color = espColor
                    esp.Drawings.Name.Visible = true
                else
                    esp.Drawings.Name.Visible = false
                end

                -- Distance
                if Config.ESP.Distance then
                    esp.Drawings.Distance.Text = string.format("%d studs", math.floor(dist))
                    esp.Drawings.Distance.Position = Vector2.new(screenPos.X, legPos.Y + 5)
                    esp.Drawings.Distance.Color = espColor
                    esp.Drawings.Distance.Visible = true
                else
                    esp.Drawings.Distance.Visible = false
                end

                -- Health bar
                if Config.ESP.Health then
                    local healthPercent = humanoid.Health / math.max(humanoid.MaxHealth, 1)

                    esp.Drawings.HealthBack.Size = Vector2.new(3, height)
                    esp.Drawings.HealthBack.Position = Vector2.new(screenPos.X - width / 2 - 6, screenPos.Y - height / 2)
                    esp.Drawings.HealthBack.Visible = true

                    esp.Drawings.HealthFill.Size = Vector2.new(3, height * healthPercent)
                    esp.Drawings.HealthFill.Position = Vector2.new(screenPos.X - width / 2 - 6, screenPos.Y + height / 2 - height * healthPercent)
                    esp.Drawings.HealthFill.Color = Color3.new(1 - healthPercent, healthPercent, 0)
                    esp.Drawings.HealthFill.Visible = true
                else
                    esp.Drawings.HealthBack.Visible = false
                    esp.Drawings.HealthFill.Visible = false
                end

                -- Tracers
                if Config.ESP.Tracers then
                    esp.Drawings.Tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)
                    esp.Drawings.Tracer.To = Vector2.new(screenPos.X, screenPos.Y)
                    esp.Drawings.Tracer.Color = espColor
                    esp.Drawings.Tracer.Visible = true
                else
                    esp.Drawings.Tracer.Visible = false
                end

                -- Skeleton
                if Config.ESP.Skeletons then
                    local character = player.Character
                    local joints = {
                        {character:FindFirstChild("Head"), character:FindFirstChild("UpperTorso") or character:FindFirstChild("Torso")},
                        {character:FindFirstChild("UpperTorso") or character:FindFirstChild("Torso"), character:FindFirstChild("LowerTorso") or character:FindFirstChild("Torso")},
                        {character:FindFirstChild("UpperTorso") or character:FindFirstChild("Torso"), character:FindFirstChild("LeftUpperArm") or character:FindFirstChild("Left Arm")},
                        {character:FindFirstChild("LeftUpperArm") or character:FindFirstChild("Left Arm"), character:FindFirstChild("LeftLowerArm") or character:FindFirstChild("Left Arm")},
                        {character:FindFirstChild("LeftLowerArm") or character:FindFirstChild("Left Arm"), character:FindFirstChild("LeftHand") or character:FindFirstChild("Left Arm")},
                        {character:FindFirstChild("UpperTorso") or character:FindFirstChild("Torso"), character:FindFirstChild("RightUpperArm") or character:FindFirstChild("Right Arm")},
                        {character:FindFirstChild("RightUpperArm") or character:FindFirstChild("Right Arm"), character:FindFirstChild("RightLowerArm") or character:FindFirstChild("Right Arm")},
                        {character:FindFirstChild("RightLowerArm") or character:FindFirstChild("Right Arm"), character:FindFirstChild("RightHand") or character:FindFirstChild("Right Arm")},
                        {character:FindFirstChild("LowerTorso") or character:FindFirstChild("Torso"), character:FindFirstChild("LeftUpperLeg") or character:FindFirstChild("Left Leg")},
                        {character:FindFirstChild("LeftUpperLeg") or character:FindFirstChild("Left Leg"), character:FindFirstChild("LeftLowerLeg") or character:FindFirstChild("Left Leg")},
                        {character:FindFirstChild("LowerTorso") or character:FindFirstChild("Torso"), character:FindFirstChild("RightUpperLeg") or character:FindFirstChild("Right Leg")},
                        {character:FindFirstChild("RightUpperLeg") or character:FindFirstChild("Right Leg"), character:FindFirstChild("RightLowerLeg") or character:FindFirstChild("Right Leg")}
                    }

                    for i, joint in ipairs(joints) do
                        if joint[1] and joint[2] and esp.Drawings.Skeleton[i] then
                            local pos1, vis1 = Camera:WorldToViewportPoint(joint[1].Position)
                            local pos2, vis2 = Camera:WorldToViewportPoint(joint[2].Position)
                            
                            if vis1 and vis2 then
                                esp.Drawings.Skeleton[i].From = Vector2.new(pos1.X, pos1.Y)
                                esp.Drawings.Skeleton[i].To = Vector2.new(pos2.X, pos2.Y)
                                esp.Drawings.Skeleton[i].Color = espColor
                                esp.Drawings.Skeleton[i].Visible = true
                            else
                                esp.Drawings.Skeleton[i].Visible = false
                            end
                        else
                            if esp.Drawings.Skeleton[i] then
                                esp.Drawings.Skeleton[i].Visible = false
                            end
                        end
                    end
                else
                    for _, line in pairs(esp.Drawings.Skeleton) do
                        line.Visible = false
                    end
                end
            else
                for _, drawing in pairs(esp.Drawings) do
                    if type(drawing) == "table" then
                        for _, line in pairs(drawing) do
                            line.Visible = false
                        end
                    else
                        drawing.Visible = false
                    end
                end
            end
        end)
    end
end

-- Initialize ESP
for _, plr in pairs(Services.Players:GetPlayers()) do
    CreateESP(plr)
end

Services.Players.PlayerAdded:Connect(CreateESP)
Services.Players.PlayerRemoving:Connect(RemoveESP)
Services.RunService.RenderStepped:Connect(UpdateESP)

-- ==========================================
-- AIMBOT (УЛУЧШЕННЫЙ)
-- ==========================================
local AimbotTarget = nil
local FOVCircle = Drawing.new("Circle")
FOVCircle.Visible = false
FOVCircle.Thickness = 2
FOVCircle.Color = Color3.fromRGB(139, 92, 246)
FOVCircle.Transparency = 1
FOVCircle.NumSides = 64
FOVCircle.Filled = false

local function IsVisible(part)
    if not Config.Aimbot.WallCheck then return true end
    
    local ray = Ray.new(Camera.CFrame.Position, (part.Position - Camera.CFrame.Position).Unit * 1000)
    local hitPart = workspace:FindPartOnRayWithIgnoreList(ray, {LocalPlayer.Character, Camera})
    
    return hitPart and hitPart:IsDescendantOf(part.Parent)
end

local function GetClosestPlayer()
    local closestPlayer = nil
    local shortestDistance = Config.Aimbot.FOV

    for _, player in pairs(Services.Players:GetPlayers()) do
        if player ~= LocalPlayer and Utils.IsAlive(player) then
            if Config.Aimbot.TeamCheck and player.Team == LocalPlayer.Team then
                continue
            end

            if Config.Aimbot.IgnoreFriends and LocalPlayer:IsFriendsWith(player.UserId) then
                continue
            end

            local aimPart = player.Character:FindFirstChild(Config.Aimbot.AimPart)
            if not aimPart then continue end

            if Config.Aimbot.VisibleCheck and not IsVisible(aimPart) then
                continue
            end

            local screenPos, onScreen = Camera:WorldToViewportPoint(aimPart.Position)

            if onScreen then
                local mousePos = Vector2.new(Mouse.X, Mouse.Y)
                local distance = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude

                if distance < shortestDistance then
                    closestPlayer = player
                    shortestDistance = distance
                end
            end
        end
    end

    return closestPlayer
end

-- FOV Circle update
Services.RunService.RenderStepped:Connect(function()
    if Config.Aimbot.Enabled then
        FOVCircle.Visible = true
        FOVCircle.Radius = Config.Aimbot.FOV
        FOVCircle.Position = Vector2.new(Mouse.X, Mouse.Y)
    else
        FOVCircle.Visible = false
    end
end)

-- Aimbot loop
Services.RunService.RenderStepped:Connect(function()
    if Config.Aimbot.Enabled and Services.UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
        AimbotTarget = GetClosestPlayer()

        if AimbotTarget and Utils.IsAlive(AimbotTarget) then
            local aimPart = AimbotTarget.Character:FindFirstChild(Config.Aimbot.AimPart)
            if not aimPart then return end

            local targetPos = aimPart.Position

            -- Prediction
            if Config.Aimbot.Prediction > 0 then
                local targetHrp = Utils.GetRootPart(AimbotTarget)
                if targetHrp then
                    local velocity = targetHrp.AssemblyLinearVelocity or targetHrp.Velocity
                    targetPos = targetPos + (velocity * Config.Aimbot.Prediction)
                end
            end

            local screenPos = Camera:WorldToScreenPoint(targetPos)
            local mousePos = Vector2.new(Mouse.X, Mouse.Y)
            local targetVector = Vector2.new(screenPos.X, screenPos.Y)

            local newPos = mousePos:Lerp(targetVector, Config.Aimbot.Smoothness)

            -- Different methods for different executors
            if mousemoverel then
                mousemoverel(newPos.X - mousePos.X, newPos.Y - mousePos.Y)
            elseif Input then
                Input.MoveMouse(newPos.X, newPos.Y)
            end
        end
    end
end)

-- ==========================================
-- MISC FEATURES (РАСШИРЕННЫЕ)
-- ==========================================
local NoClipConnection = nil
local FlyConnection = nil
local SpinbotConnection = nil
local AutoRespawnConnection = nil
local InfiniteJumpConnection = nil
local AntiAFKConnection = nil

-- NoClip
local function ToggleNoClip(state)
    Config.Misc.NoClip = state
    if state then
        if NoClipConnection then NoClipConnection:Disconnect() end
        NoClipConnection = Services.RunService.Stepped:Connect(function()
            if Utils.IsAlive(LocalPlayer) then
                for _, part in pairs(LocalPlayer.Character:GetDescendants()) do
                    if part:IsA("BasePart") then
                        part.CanCollide = false
                    end
                end
            end
        end)
        PushNotification("NoClip enabled", "Success")
    else
        if NoClipConnection then
            NoClipConnection:Disconnect()
            NoClipConnection = nil
        end
        PushNotification("NoClip disabled", "Info")
    end
end

-- Fly
local function ToggleFly(state)
    Config.Misc.Fly = state
    if state then
        local bodyVelocity = Instance.new("BodyVelocity")
        bodyVelocity.MaxForce = Vector3.new(9e9, 9e9, 9e9)
        bodyVelocity.Velocity = Vector3.new(0, 0, 0)

        local bodyGyro = Instance.new("BodyGyro")
        bodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9)

        FlyConnection = Services.RunService.RenderStepped:Connect(function()
            if Utils.IsAlive(LocalPlayer) then
                local hrp = Utils.GetRootPart(LocalPlayer)
                if not hrp then return end

                if not bodyVelocity.Parent then
                    bodyVelocity.Parent = hrp
                end
                if not bodyGyro.Parent then
                    bodyGyro.Parent = hrp
                end

                bodyGyro.CFrame = Camera.CFrame

                local velocity = Vector3.new(0, 0, 0)
                local UIS = Services.UserInputService

                if UIS:IsKeyDown(Enum.KeyCode.W) then
                    velocity = velocity + Camera.CFrame.LookVector * Config.Misc.FlySpeed
                end
                if UIS:IsKeyDown(Enum.KeyCode.S) then
                    velocity = velocity - Camera.CFrame.LookVector * Config.Misc.FlySpeed
                end
                if UIS:IsKeyDown(Enum.KeyCode.A) then
                    velocity = velocity - Camera.CFrame.RightVector * Config.Misc.FlySpeed
                end
                if UIS:IsKeyDown(Enum.KeyCode.D) then
                    velocity = velocity + Camera.CFrame.RightVector * Config.Misc.FlySpeed
                end
                if UIS:IsKeyDown(Enum.KeyCode.Space) then
                    velocity = velocity + Vector3.new(0, Config.Misc.FlySpeed, 0)
                end
                if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then
                    velocity = velocity - Vector3.new(0, Config.Misc.FlySpeed, 0)
                end

                bodyVelocity.Velocity = velocity
            end
        end)
        PushNotification("Fly enabled", "Success")
    else
        if FlyConnection then
            FlyConnection:Disconnect()
            FlyConnection = nil
        end
        if Utils.IsAlive(LocalPlayer) then
            local hrp = Utils.GetRootPart(LocalPlayer)
            if hrp then
                for _, obj in pairs(hrp:GetChildren()) do
                    if obj:IsA("BodyVelocity") or obj:IsA("BodyGyro") then
                        obj:Destroy()
                    end
                end
            end
        end
        PushNotification("Fly disabled", "Info")
    end
end

-- Speed
local function SetWalkSpeed(speed)
    Config.Misc.SpeedHack = speed
    if Utils.IsAlive(LocalPlayer) then
        local humanoid = Utils.GetHumanoid(LocalPlayer)
        if humanoid then
            humanoid.WalkSpeed = speed
        end
    end
end

-- Jump Power
local function SetJumpPower(power)
    Config.Misc.JumpPower = power
    if Utils.IsAlive(LocalPlayer) then
        local humanoid = Utils.GetHumanoid(LocalPlayer)
        if humanoid then
            humanoid.JumpPower = power
        end
    end
end

-- Full Bright
local function ToggleFullBright(state)
    Config.Misc.FullBright = state
    if state then
        Services.Lighting.Brightness = 2
        Services.Lighting.ClockTime = 14
        Services.Lighting.FogEnd = 100000
        Services.Lighting.GlobalShadows = false
        Services.Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128)
        PushNotification("Full Bright enabled", "Success")
    else
        Services.Lighting.Brightness = 1
        Services.Lighting.ClockTime = 12
        Services.Lighting.FogEnd = 100000
        Services.Lighting.GlobalShadows = true
        Services.Lighting.OutdoorAmbient = Color3.fromRGB(70, 70, 70)
        PushNotification("Full Bright disabled", "Info")
    end
end

-- FOV Changer
local function ChangeFOV(value)
    Config.Misc.FOVChanger = value
    Camera.FieldOfView = value
end

-- Infinite Jump
local function ToggleInfiniteJump(state)
    Config.Misc.InfiniteJump = state
    if state then
        if InfiniteJumpConnection then InfiniteJumpConnection:Disconnect() end
        InfiniteJumpConnection = Services.UserInputService.JumpRequest:Connect(function()
            if Utils.IsAlive(LocalPlayer) then
                local humanoid = Utils.GetHumanoid(LocalPlayer)
                if humanoid then
                    humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
                end
            end
        end)
        PushNotification("Infinite Jump enabled", "Success")
    else
        if InfiniteJumpConnection then
            InfiniteJumpConnection:Disconnect()
            InfiniteJumpConnection = nil
        end
        PushNotification("Infinite Jump disabled", "Info")
    end
end

-- Anti-AFK
local function ToggleAntiAFK(state)
    Config.Misc.AntiAFK = state
    if state then
        if AntiAFKConnection then AntiAFKConnection:Disconnect() end
        AntiAFKConnection = LocalPlayer.Idled:Connect(function()
            Services.VirtualUser:Button2Down(Vector2.new(0, 0), workspace.CurrentCamera.CFrame)
            task.wait(0.1)
            Services.VirtualUser:Button2Up(Vector2.new(0, 0), workspace.CurrentCamera.CFrame)
        end)
        PushNotification("Anti-AFK enabled", "Success")
    else
        if AntiAFKConnection then
            AntiAFKConnection:Disconnect()
            AntiAFKConnection = nil
        end
        PushNotification("Anti-AFK disabled", "Info")
    end
end

-- Auto Respawn
local function ToggleAutoRespawn(state)
    Config.Misc.AutoRespawn = state
    if state then
        if AutoRespawnConnection then AutoRespawnConnection:Disconnect() end
        AutoRespawnConnection = LocalPlayer.CharacterAdded:Connect(function(char)
            local humanoid = char:WaitForChild("Humanoid", 5)
            if humanoid then
                humanoid.Died:Connect(function()
                    if Config.Misc.AutoRespawn then
                        task.wait(1)
                        LocalPlayer:LoadCharacter()
                    end
                end)
            end
        end)
        PushNotification("Auto Respawn enabled", "Success")
    else
        if AutoRespawnConnection then
            AutoRespawnConnection:Disconnect()
            AutoRespawnConnection = nil
        end
        PushNotification("Auto Respawn disabled", "Info")
    end
end

-- Remove Fog
local function ToggleRemoveFog(state)
    Config.Misc.RemoveFog = state
    if state then
        Services.Lighting.FogEnd = 100000
        for _, v in pairs(Services.Lighting:GetDescendants()) do
            if v:IsA("Atmosphere") then
                v.Density = 0
                v.Offset = 0
                v.Color = Color3.fromRGB(255, 255, 255)
                v.Decay = Color3.fromRGB(255, 255, 255)
                v.Glare = 0
                v.Haze = 0
            end
        end
        PushNotification("Fog removed", "Success")
    else
        Services.Lighting.FogEnd = 100000
        PushNotification("Fog settings reset", "Info")
    end
end

-- Spinbot
local spinbotAngle = 0
local function ToggleSpinbot(state)
    Config.Misc.Spinbot = state
    if state then
        if SpinbotConnection then SpinbotConnection:Disconnect() end
        SpinbotConnection = Services.RunService.RenderStepped:Connect(function(delta)
            if Utils.IsAlive(LocalPlayer) then
                local hrp = Utils.GetRootPart(LocalPlayer)
                if hrp then
                    spinbotAngle = (spinbotAngle + (Config.Misc.SpinbotSpeed * delta)) % 360
                    hrp.CFrame = CFrame.new(hrp.Position) * CFrame.Angles(0, math.rad(spinbotAngle), 0)
                end
            end
        end)
        PushNotification("Spinbot enabled", "Success")
    else
        if SpinbotConnection then
            SpinbotConnection:Disconnect()
            SpinbotConnection = nil
        end
        PushNotification("Spinbot disabled", "Info")
    end
end

-- Character respawn handling
LocalPlayer.CharacterAdded:Connect(function(char)
    task.wait(0.5)
    if Config.Misc.SpeedHack ~= 16 then
        SetWalkSpeed(Config.Misc.SpeedHack)
    end
    if Config.Misc.JumpPower ~= 50 then
        SetJumpPower(Config.Misc.JumpPower)
    end
end)

-- ==========================================
-- GUI COMPONENTS
-- ==========================================

-- [Продолжение в следующем сообщении из-за ограничения длины]-- ==========================================
-- MAIN GUI
-- ==========================================
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 750, 0, 550)
MainFrame.Position = UDim2.new(0.5, -375, 0.5, -275)
MainFrame.BackgroundColor3 = Theme.Background
MainFrame.BorderSizePixel = 0
MainFrame.ClipsDescendants = false
MainFrame.Active = true
MainFrame.Parent = ScreenGui

Utils.Corner(MainFrame, 10)
Utils.Shadow(MainFrame)
Utils.Stroke(MainFrame, Theme.Border, 1, 0.3)

local Gradient = Instance.new("UIGradient")
Gradient.Color = ColorSequence.new({
    ColorSequenceKeypoint.new(0, Theme.Background),
    ColorSequenceKeypoint.new(1, Theme.Secondary)
})
Gradient.Rotation = 135
Gradient.Parent = MainFrame

-- Top Bar
local TopBar = Instance.new("Frame")
TopBar.Name = "TopBar"
TopBar.Size = UDim2.new(1, 0, 0, 50)
TopBar.BackgroundColor3 = Theme.Secondary
TopBar.BorderSizePixel = 0
TopBar.Parent = MainFrame

Utils.Corner(TopBar, 10)

local TopBarFix = Instance.new("Frame")
TopBarFix.Size = UDim2.new(1, 0, 0, 10)
TopBarFix.Position = UDim2.new(0, 0, 1, -10)
TopBarFix.BackgroundColor3 = Theme.Secondary
TopBarFix.BorderSizePixel = 0
TopBarFix.Parent = TopBar

local Logo = Instance.new("TextLabel")
Logo.Size = UDim2.new(0, 30, 1, 0)
Logo.Position = UDim2.new(0, 15, 0, 0)
Logo.BackgroundTransparency = 1
Logo.Text = "◆"
Logo.TextColor3 = Theme.Accent
Logo.TextSize = 22
Logo.Font = Enum.Font.GothamBold
Logo.Parent = TopBar

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(0, 200, 1, 0)
Title.Position = UDim2.new(0, 50, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "NEVERLOSE++"
Title.TextColor3 = Theme.TextPrimary
Title.TextSize = 18
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Font = Enum.Font.GothamBold
Title.Parent = TopBar

local Version = Instance.new("TextLabel")
Version.Size = UDim2.new(0, 100, 1, 0)
Version.Position = UDim2.new(0, 210, 0, 0)
Version.BackgroundTransparency = 1
Version.Text = "v1.2 shittt"
Version.TextColor3 = Theme.Accent
Version.TextSize = 11
Version.TextXAlignment = Enum.TextXAlignment.Left
Version.Font = Enum.Font.Gotham
Version.Parent = TopBar

local MinimizeButton = Instance.new("TextButton")
MinimizeButton.Size = UDim2.new(0, 35, 0, 35)
MinimizeButton.Position = UDim2.new(1, -84, 0.5, -17.5)
MinimizeButton.BackgroundColor3 = Theme.Tertiary
MinimizeButton.Text = "–"
MinimizeButton.TextColor3 = Theme.TextPrimary
MinimizeButton.TextSize = 20
MinimizeButton.Font = Enum.Font.GothamBold
MinimizeButton.Parent = TopBar

Utils.Corner(MinimizeButton, 8)

local CloseButton = Instance.new("TextButton")
CloseButton.Size = UDim2.new(0, 35, 0, 35)
CloseButton.Position = UDim2.new(1, -42, 0.5, -17.5)
CloseButton.BackgroundColor3 = Theme.Tertiary
CloseButton.Text = "×"
CloseButton.TextColor3 = Theme.TextPrimary
CloseButton.TextSize = 20
CloseButton.Font = Enum.Font.GothamBold
CloseButton.Parent = TopBar

Utils.Corner(CloseButton, 8)

MinimizeButton.MouseEnter:Connect(function()
    Utils.Tween(MinimizeButton, 0.2, {BackgroundColor3 = Theme.Warning})
end)

MinimizeButton.MouseLeave:Connect(function()
    Utils.Tween(MinimizeButton, 0.2, {BackgroundColor3 = Theme.Tertiary})
end)

MinimizeButton.MouseButton1Click:Connect(function()
    MainFrame.Visible = false
    PushNotification("GUI minimized (RightControl to toggle)", "Info")
end)

CloseButton.MouseEnter:Connect(function()
    Utils.Tween(CloseButton, 0.2, {BackgroundColor3 = Theme.Error})
end)

CloseButton.MouseLeave:Connect(function()
    Utils.Tween(CloseButton, 0.2, {BackgroundColor3 = Theme.Tertiary})
end)

CloseButton.MouseButton1Click:Connect(function()
    Utils.Tween(MainFrame, 0.3, {Size = UDim2.new(0, 0, 0, 0)})
    task.wait(0.3)
    
    -- Cleanup
    for _, esp in pairs(ESPObjects) do
        RemoveESP(esp.Player)
    end
    
    if NoClipConnection then NoClipConnection:Disconnect() end
    if FlyConnection then FlyConnection:Disconnect() end
    if SpinbotConnection then SpinbotConnection:Disconnect() end
    if InfiniteJumpConnection then InfiniteJumpConnection:Disconnect() end
    if AntiAFKConnection then AntiAFKConnection:Disconnect() end
    if AutoRespawnConnection then AutoRespawnConnection:Disconnect() end
    
    FOVCircle:Remove()
    
    ScreenGui:Destroy()
    PushNotification("NEVERLOSE++ unloaded", "Info")
end)

-- Dragging
do
    local dragging = false
    local dragInput, dragStart, startPos

    local function update(input)
        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

    TopBar.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)

    TopBar.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement then
            dragInput = input
        end
    end)

    Services.UserInputService.InputChanged:Connect(function(input)
        if input == dragInput and dragging then
            update(input)
        end
    end)
end

local TabContainer = Instance.new("Frame")
TabContainer.Name = "TabContainer"
TabContainer.Size = UDim2.new(0, 180, 1, -60)
TabContainer.Position = UDim2.new(0, 10, 0, 60)
TabContainer.BackgroundTransparency = 1
TabContainer.Parent = MainFrame

local ContentContainer = Instance.new("Frame")
ContentContainer.Name = "ContentContainer"
ContentContainer.Size = UDim2.new(1, -200, 1, -70)
ContentContainer.Position = UDim2.new(0, 195, 0, 60)
ContentContainer.BackgroundTransparency = 1
ContentContainer.Parent = MainFrame

-- Watermark with FPS counter
local Watermark = Instance.new("TextLabel")
Watermark.Size = UDim2.new(0, 320, 0, 22)
Watermark.Position = UDim2.new(0, 10, 0, 10)
Watermark.BackgroundColor3 = Theme.Secondary
Watermark.BackgroundTransparency = 0.3
Watermark.TextColor3 = Theme.TextPrimary
Watermark.TextXAlignment = Enum.TextXAlignment.Left
Watermark.Font = Enum.Font.GothamBold
Watermark.TextSize = 12
Watermark.Text = "Neverpuzo | Loading..."
Watermark.Parent = ScreenGui

Utils.Corner(Watermark, 6)
Utils.Stroke(Watermark, Theme.Border, 1, 0.5)

local WatermarkPadding = Instance.new("UIPadding")
WatermarkPadding.PaddingLeft = UDim.new(0, 8)
WatermarkPadding.PaddingRight = UDim.new(0, 8)
WatermarkPadding.Parent = Watermark

-- FPS Counter
local lastUpdate = tick()
local frameCount = 0
local fps = 0

task.spawn(function()
    while Watermark.Parent do
        frameCount = frameCount + 1
        local now = tick()
        if now - lastUpdate >= 1 then
            fps = frameCount
            frameCount = 0
            lastUpdate = now
        end
        
        local ping = 0
        pcall(function()
            ping = game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValue()
        end)
        
        Watermark.Text = string.format(
            "NEVERLOSE++ v3.2 | %s | FPS: %d | Ping: %dms | %s",
            LocalPlayer.Name,
            fps,
            math.floor(ping),
            os.date("%H:%M:%S")
        )
        task.wait(0.1)
    end
end)

-- ==========================================
-- UI COMPONENTS
-- ==========================================
local Components = {}

function Components.CreateTab(name, icon, position)
    local TabButton = Instance.new("TextButton")
    TabButton.Name = name
    TabButton.Size = UDim2.new(1, 0, 0, 42)
    TabButton.Position = UDim2.new(0, 0, 0, position)
    TabButton.BackgroundColor3 = Theme.Tertiary
    TabButton.BorderSizePixel = 0
    TabButton.Text = ""
    TabButton.AutoButtonColor = false
    TabButton.Parent = TabContainer

    Utils.Corner(TabButton, 8)
    Utils.Stroke(TabButton, Theme.Border, 1, 0.5)

    local TabIcon = Instance.new("TextLabel")
    TabIcon.Size = UDim2.new(0, 35, 1, 0)
    TabIcon.Position = UDim2.new(0, 10, 0, 0)
    TabIcon.BackgroundTransparency = 1
    TabIcon.Text = icon
    TabIcon.TextColor3 = Theme.TextSecondary
    TabIcon.TextSize = 16
    TabIcon.Font = Enum.Font.GothamBold
    TabIcon.Parent = TabButton

    local TabLabel = Instance.new("TextLabel")
    TabLabel.Size = UDim2.new(1, -50, 1, 0)
    TabLabel.Position = UDim2.new(0, 45, 0, 0)
    TabLabel.BackgroundTransparency = 1
    TabLabel.Text = name
    TabLabel.TextColor3 = Theme.TextSecondary
    TabLabel.TextSize = 13
    TabLabel.TextXAlignment = Enum.TextXAlignment.Left
    TabLabel.Font = Enum.Font.GothamSemibold
    TabLabel.Parent = TabButton

    local Indicator = Instance.new("Frame")
    Indicator.Name = "Indicator"
    Indicator.Size = UDim2.new(0, 3, 0, 0)
    Indicator.Position = UDim2.new(0, 0, 0.5, 0)
    Indicator.AnchorPoint = Vector2.new(0, 0.5)
    Indicator.BackgroundColor3 = Theme.Accent
    Indicator.BorderSizePixel = 0
    Indicator.Parent = TabButton

    Utils.Corner(Indicator, 2)

    local Page = Instance.new("ScrollingFrame")
    Page.Name = name .. "Page"
    Page.Size = UDim2.fromScale(1, 1)
    Page.BackgroundTransparency = 1
    Page.BorderSizePixel = 0
    Page.ScrollBarThickness = 6
    Page.ScrollBarImageColor3 = Theme.Accent
    Page.CanvasSize = UDim2.new(0, 0, 0, 0)
    Page.Visible = false
    Page.Parent = ContentContainer

    local PageLayout = Instance.new("UIListLayout")
    PageLayout.Padding = UDim.new(0, 10)
    PageLayout.SortOrder = Enum.SortOrder.LayoutOrder
    PageLayout.Parent = Page

    PageLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
        Page.CanvasSize = UDim2.new(0, 0, 0, PageLayout.AbsoluteContentSize.Y + 20)
    end)

    local PagePadding = Instance.new("UIPadding")
    PagePadding.PaddingTop = UDim.new(0, 10)
    PagePadding.PaddingLeft = UDim.new(0, 10)
    PagePadding.PaddingRight = UDim.new(0, 20)
    PagePadding.Parent = Page

    TabButton.MouseEnter:Connect(function()
        Utils.Tween(TabButton, 0.15, {BackgroundColor3 = Theme.Secondary})
    end)

    TabButton.MouseLeave:Connect(function()
        if Page.Visible then
            Utils.Tween(TabButton, 0.15, {BackgroundColor3 = Theme.Secondary})
        else
            Utils.Tween(TabButton, 0.15, {BackgroundColor3 = Theme.Tertiary})
        end
    end)

    return TabButton, TabIcon, TabLabel, Indicator, Page
end

function Components.CreateSection(parent, title)
    local Section = Instance.new("Frame")
    Section.Size = UDim2.new(1, 0, 0, 35)
    Section.BackgroundTransparency = 1
    Section.Parent = parent

    local SectionTitle = Instance.new("TextLabel")
    SectionTitle.Size = UDim2.new(1, 0, 1, 0)
    SectionTitle.BackgroundTransparency = 1
    SectionTitle.Text = "  " .. title
    SectionTitle.TextColor3 = Theme.Accent
    SectionTitle.TextSize = 15
    SectionTitle.TextXAlignment = Enum.TextXAlignment.Left
    SectionTitle.Font = Enum.Font.GothamBold
    SectionTitle.Parent = Section

    local Divider = Instance.new("Frame")
    Divider.Size = UDim2.new(1, 0, 0, 1)
    Divider.Position = UDim2.new(0, 0, 1, -1)
    Divider.BackgroundColor3 = Theme.Divider
    Divider.BorderSizePixel = 0
    Divider.Parent = Section

    return Section
end

function Components.CreateCheckbox(parent, text, default, callback)
    local Container = Instance.new("Frame")
    Container.Size = UDim2.new(1, 0, 0, 40)
    Container.BackgroundTransparency = 1
    Container.Parent = parent

    local Checkbox = Instance.new("TextButton")
    Checkbox.Size = UDim2.new(0, 24, 0, 24)
    Checkbox.Position = UDim2.new(0, 0, 0.5, -12)
    Checkbox.BackgroundColor3 = Theme.Tertiary
    Checkbox.BorderSizePixel = 0
    Checkbox.Text = ""
    Checkbox.AutoButtonColor = false
    Checkbox.Parent = Container

    Utils.Corner(Checkbox, 6)
    Utils.Stroke(Checkbox, Theme.Accent, 1.5, 0.5)

    local Checkmark = Instance.new("TextLabel")
    Checkmark.Size = UDim2.fromScale(1, 1)
    Checkmark.BackgroundTransparency = 1
    Checkmark.Text = "✓"
    Checkmark.TextColor3 = Theme.TextPrimary
    Checkmark.TextSize = 16
    Checkmark.Font = Enum.Font.GothamBold
    Checkmark.Visible = default
    Checkmark.Parent = Checkbox

    local Label = Instance.new("TextLabel")
    Label.Size = UDim2.new(1, -40, 1, 0)
    Label.Position = UDim2.new(0, 40, 0, 0)
    Label.BackgroundTransparency = 1
    Label.Text = text
    Label.TextColor3 = Theme.TextPrimary
    Label.TextSize = 13
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.Font = Enum.Font.Gotham
    Label.Parent = Container

    local state = default

    local function SetState(v)
        state = v
        Checkmark.Visible = state
        
        if state then
            Utils.Tween(Checkbox, 0.15, {BackgroundColor3 = Theme.Accent})
            Utils.Tween(Checkmark, 0.15, {TextTransparency = 0})
        else
            Utils.Tween(Checkbox, 0.15, {BackgroundColor3 = Theme.Tertiary})
            Utils.Tween(Checkmark, 0.15, {TextTransparency = 1})
        end
        
        if callback then
            task.spawn(function()
                pcall(callback, state)
            end)
        end
    end

    SetState(default)

    Checkbox.MouseButton1Click:Connect(function()
        SetState(not state)
    end)

    Checkbox.MouseEnter:Connect(function()
        Utils.Tween(Checkbox, 0.15, {Size = UDim2.new(0, 26, 0, 26)})
    end)

    Checkbox.MouseLeave:Connect(function()
        Utils.Tween(Checkbox, 0.15, {Size = UDim2.new(0, 24, 0, 24)})
    end)

    return Container, SetState
end

function Components.CreateSlider(parent, text, min, max, default, callback)
    local Container = Instance.new("Frame")
    Container.Size = UDim2.new(1, 0, 0, 65)
    Container.BackgroundTransparency = 1
    Container.Parent = parent

    local Label = Instance.new("TextLabel")
    Label.Size = UDim2.new(1, -60, 0, 24)
    Label.BackgroundTransparency = 1
    Label.Text = text
    Label.TextColor3 = Theme.TextPrimary
    Label.TextSize = 13
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.Font = Enum.Font.Gotham
    Label.Parent = Container

    local Value = Instance.new("TextLabel")
    Value.Size = UDim2.new(0, 60, 0, 24)
    Value.Position = UDim2.new(1, -60, 0, 0)
    Value.BackgroundTransparency = 1
    Value.Text = tostring(default)
    Value.TextColor3 = Theme.Accent
    Value.TextSize = 13
    Value.TextXAlignment = Enum.TextXAlignment.Right
    Value.Font = Enum.Font.GothamBold
    Value.Parent = Container

    local SliderBack = Instance.new("Frame")
    SliderBack.Size = UDim2.new(1, 0, 0, 8)
    SliderBack.Position = UDim2.new(0, 0, 0, 40)
    SliderBack.BackgroundColor3 = Theme.Tertiary
    SliderBack.BorderSizePixel = 0
    SliderBack.Parent = Container

    Utils.Corner(SliderBack, 4)

    local SliderFill = Instance.new("Frame")
    SliderFill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0)
    SliderFill.BackgroundColor3 = Theme.Accent
    SliderFill.BorderSizePixel = 0
    SliderFill.Parent = SliderBack

    Utils.Corner(SliderFill, 4)

    local SliderKnob = Instance.new("Frame")
    SliderKnob.Size = UDim2.new(0, 16, 0, 16)
    SliderKnob.Position = UDim2.new((default - min) / (max - min), -8, 0.5, -8)
    SliderKnob.BackgroundColor3 = Theme.TextPrimary
    SliderKnob.BorderSizePixel = 0
    SliderKnob.Parent = SliderBack

    Utils.Corner(SliderKnob, 8)
    Utils.Stroke(SliderKnob, Theme.Accent, 2, 0)

    local dragging = false
    local currentValue = default

    local function SetValue(v)
        v = math.clamp(v, min, max)
        currentValue = v
        local percent = (v - min) / (max - min)
        
        Utils.Tween(SliderFill, 0.1, {Size = UDim2.new(percent, 0, 1, 0)})
        Utils.Tween(SliderKnob, 0.1, {Position = UDim2.new(percent, -8, 0.5, -8)})
        
        Value.Text = tostring(v)
        if callback then
            task.spawn(function()
                pcall(callback, v)
            end)
        end
    end

    SetValue(default)

    SliderKnob.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = true
            Utils.Tween(SliderKnob, 0.1, {Size = UDim2.new(0, 18, 0, 18)})
        end
    end)

    Services.UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = false
            Utils.Tween(SliderKnob, 0.1, {Size = UDim2.new(0, 16, 0, 16)})
        end
    end)

    Services.RunService.RenderStepped:Connect(function()
        if dragging then
            local mousePos = Services.UserInputService:GetMouseLocation().X
            local sliderPos = SliderBack.AbsolutePosition.X
            local sliderSize = SliderBack.AbsoluteSize.X

            local percent = math.clamp((mousePos - sliderPos) / sliderSize, 0, 1)
            local value = math.floor(min + (max - min) * percent)
            SetValue(value)
        end
    end)

    return Container, SetValue
end

function Components.CreateDropdown(parent, text, options, default, callback)
    local Container = Instance.new("Frame")
    Container.Size = UDim2.new(1, 0, 0, 40)
    Container.BackgroundTransparency = 1
    Container.Parent = parent

    local Label = Instance.new("TextLabel")
    Label.Size = UDim2.new(0.45, 0, 1, 0)
    Label.BackgroundTransparency = 1
    Label.Text = text
    Label.TextColor3 = Theme.TextPrimary
    Label.TextSize = 13
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.Font = Enum.Font.Gotham
    Label.Parent = Container

    local DropButton = Instance.new("TextButton")
    DropButton.Size = UDim2.new(0.53, 0, 1, 0)
    DropButton.Position = UDim2.new(0.47, 0, 0, 0)
    DropButton.BackgroundColor3 = Theme.Tertiary
    DropButton.BorderSizePixel = 0
    DropButton.Text = ""
    DropButton.AutoButtonColor = false
    DropButton.Parent = Container

    Utils.Corner(DropButton, 6)
    Utils.Stroke(DropButton, Theme.Border, 1, 0.5)

    local ValueLabel = Instance.new("TextLabel")
    ValueLabel.Size = UDim2.new(1, -25, 1, 0)
    ValueLabel.Position = UDim2.new(0, 10, 0, 0)
    ValueLabel.BackgroundTransparency = 1
    ValueLabel.Text = tostring(default or options[1] or "None")
    ValueLabel.TextColor3 = Theme.TextSecondary
    ValueLabel.TextSize = 13
    ValueLabel.TextXAlignment = Enum.TextXAlignment.Left
    ValueLabel.Font = Enum.Font.Gotham
    ValueLabel.TextTruncate = Enum.TextTruncate.AtEnd
    ValueLabel.Parent = DropButton

    local Arrow = Instance.new("TextLabel")
    Arrow.Size = UDim2.new(0, 20, 1, 0)
    Arrow.Position = UDim2.new(1, -20, 0, 0)
    Arrow.BackgroundTransparency = 1
    Arrow.Text = "▼"
    Arrow.TextColor3 = Theme.TextSecondary
    Arrow.TextSize = 10
    Arrow.Font = Enum.Font.GothamBold
    Arrow.Parent = DropButton

    local ListFrame = Instance.new("ScrollingFrame")
    ListFrame.Size = UDim2.new(0, 220, 0, 0)
    ListFrame.Position = UDim2.new(0, DropButton.AbsolutePosition.X, 0, DropButton.AbsolutePosition.Y + DropButton.AbsoluteSize.Y + 4)
    ListFrame.BackgroundColor3 = Theme.Secondary
    ListFrame.BorderSizePixel = 0
    ListFrame.Visible = false
    ListFrame.ScrollBarThickness = 4
    ListFrame.ScrollBarImageColor3 = Theme.Accent
    ListFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
    ListFrame.Parent = ScreenGui
    ListFrame.ZIndex = 100

    Utils.Corner(ListFrame, 6)
    Utils.Stroke(ListFrame, Theme.Border, 1, 0.5)

    local UIList = Instance.new("UIListLayout")
    UIList.Parent = ListFrame
    UIList.Padding = UDim.new(0, 2)

    UIList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
        local contentHeight = UIList.AbsoluteContentSize.Y + 8
        ListFrame.CanvasSize = UDim2.new(0, 0, 0, contentHeight)
        ListFrame.Size = UDim2.new(0, 220, 0, math.min(contentHeight, 200))
    end)

    local current = default or options[1]

    local function RefreshPosition()
        ListFrame.Position = UDim2.fromOffset(
            DropButton.AbsolutePosition.X,
            DropButton.AbsolutePosition.Y + DropButton.AbsoluteSize.Y + 4
        )
    end

    local function SetValue(v)
        current = v
        ValueLabel.Text = tostring(v)
        if callback then
            task.spawn(function()
                pcall(callback, v)
            end)
        end
    end

    SetValue(current)

    for _, opt in ipairs(options) do
        local OptButton = Instance.new("TextButton")
        OptButton.Size = UDim2.new(1, -4, 0, 28)
        OptButton.BackgroundColor3 = Theme.Tertiary
        OptButton.BorderSizePixel = 0
        OptButton.Text = ""
        OptButton.AutoButtonColor = false
        OptButton.Parent = ListFrame
        OptButton.ZIndex = 101

        Utils.Corner(OptButton, 4)

        local OptLabel = Instance.new("TextLabel")
        OptLabel.Size = UDim2.new(1, -10, 1, 0)
        OptLabel.Position = UDim2.new(0, 10, 0, 0)
        OptLabel.BackgroundTransparency = 1
        OptLabel.Text = tostring(opt)
        OptLabel.TextColor3 = Theme.TextSecondary
        OptLabel.TextSize = 13
        OptLabel.TextXAlignment = Enum.TextXAlignment.Left
        OptLabel.Font = Enum.Font.Gotham
        OptLabel.Parent = OptButton
        OptLabel.ZIndex = 102

        OptButton.MouseEnter:Connect(function()
            Utils.Tween(OptButton, 0.1, {BackgroundColor3 = Theme.Background})
            Utils.Tween(OptLabel, 0.1, {TextColor3 = Theme.TextPrimary})
        end)

        OptButton.MouseLeave:Connect(function()
            Utils.Tween(OptButton, 0.1, {BackgroundColor3 = Theme.Tertiary})
            Utils.Tween(OptLabel, 0.1, {TextColor3 = Theme.TextSecondary})
        end)

        OptButton.MouseButton1Click:Connect(function()
            SetValue(opt)
            ListFrame.Visible = false
            Utils.Tween(Arrow, 0.15, {Rotation = 0})
        end)
    end

    local ListPadding = Instance.new("UIPadding")
    ListPadding.PaddingTop = UDim.new(0, 4)
    ListPadding.PaddingBottom = UDim.new(0, 4)
    ListPadding.PaddingLeft = UDim.new(0, 2)
    ListPadding.PaddingRight = UDim.new(0, 2)
    ListPadding.Parent = ListFrame

    DropButton.MouseButton1Click:Connect(function()
        RefreshPosition()
        ListFrame.Visible = not ListFrame.Visible
        
        if ListFrame.Visible then
            Utils.Tween(Arrow, 0.15, {Rotation = 180})
        else
            Utils.Tween(Arrow, 0.15, {Rotation = 0})
        end
    end)

    DropButton.MouseEnter:Connect(function()
        Utils.Tween(DropButton, 0.15, {BackgroundColor3 = Theme.Secondary})
    end)

    DropButton.MouseLeave:Connect(function()
        Utils.Tween(DropButton, 0.15, {BackgroundColor3 = Theme.Tertiary})
    end)

    Services.UserInputService.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            if ListFrame.Visible then
                local pos = Services.UserInputService:GetMouseLocation()
                local absPos = ListFrame.AbsolutePosition
                local absSize = ListFrame.AbsoluteSize
                local btnPos = DropButton.AbsolutePosition
                local btnSize = DropButton.AbsoluteSize
                
                local inList = pos.X >= absPos.X and pos.X <= absPos.X + absSize.X and 
                               pos.Y >= absPos.Y and pos.Y <= absPos.Y + absSize.Y
                local inButton = pos.X >= btnPos.X and pos.X <= btnPos.X + btnSize.X and 
                                pos.Y >= btnPos.Y and pos.Y <= btnPos.Y + btnSize.Y
                
                if not inList and not inButton then
                    ListFrame.Visible = false
                    Utils.Tween(Arrow, 0.15, {Rotation = 0})
                end
            end
        end
    end)

    return Container, SetValue
end

function Components.CreateButton(parent, text, callback)
    local Button = Instance.new("TextButton")
    Button.Size = UDim2.new(1, 0, 0, 38)
    Button.BackgroundColor3 = Theme.Tertiary
    Button.BorderSizePixel = 0
    Button.Text = text
    Button.TextColor3 = Theme.TextPrimary
    Button.TextSize = 13
    Button.Font = Enum.Font.GothamBold
    Button.AutoButtonColor = false
    Button.Parent = parent

    Utils.Corner(Button, 8)
    Utils.Stroke(Button, Theme.Border, 1, 0.5)

    Button.MouseEnter:Connect(function()
        Utils.Tween(Button, 0.15, {BackgroundColor3 = Theme.Accent})
    end)

    Button.MouseLeave:Connect(function()
        Utils.Tween(Button, 0.15, {BackgroundColor3 = Theme.Tertiary})
    end)

    Button.MouseButton1Click:Connect(function()
        Utils.Tween(Button, 0.1, {BackgroundColor3 = Theme.AccentActive})
        task.wait(0.1)
        Utils.Tween(Button, 0.1, {BackgroundColor3 = Theme.Accent})
        
        if callback then
            task.spawn(function()
                pcall(callback)
            end)
        end
    end)

    return Button
end

function Components.CreateKeybind(parent, text, default, callback)
    local Container = Instance.new("Frame")
    Container.Size = UDim2.new(1, 0, 0, 40)
    Container.BackgroundTransparency = 1
    Container.Parent = parent

    local Label = Instance.new("TextLabel")
    Label.Size = UDim2.new(0.6, 0, 1, 0)
    Label.BackgroundTransparency = 1
    Label.Text = text
    Label.TextColor3 = Theme.TextPrimary
    Label.TextSize = 13
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.Font = Enum.Font.Gotham
    Label.Parent = Container

    local KeyButton = Instance.new("TextButton")
    KeyButton.Size = UDim2.new(0, 100, 0, 30)
    KeyButton.Position = UDim2.new(1, -100, 0.5, -15)
    KeyButton.BackgroundColor3 = Theme.Tertiary
    KeyButton.BorderSizePixel = 0
    KeyButton.Text = default and default.Name or "None"
    KeyButton.TextColor3 = Theme.TextSecondary
    KeyButton.TextSize = 12
    KeyButton.Font = Enum.Font.GothamBold
    KeyButton.AutoButtonColor = false
    KeyButton.Parent = Container

    Utils.Corner(KeyButton, 6)
    Utils.Stroke(KeyButton, Theme.Border, 1, 0.5)

    local currentKey = default
    local listening = false

    KeyButton.MouseButton1Click:Connect(function()
        if not listening then
            listening = true
            KeyButton.Text = "..."
            KeyButton.TextColor3 = Theme.Accent
            
            local connection
            connection = Services.UserInputService.InputBegan:Connect(function(input, gameProcessed)
                if gameProcessed then return end
                
                if input.UserInputType == Enum.UserInputType.Keyboard then
                    currentKey = input.KeyCode
                    KeyButton.Text = input.KeyCode.Name
                    KeyButton.TextColor3 = Theme.TextSecondary
                    listening = false
                    connection:Disconnect()
                    
                    if callback then
                        task.spawn(function()
                            pcall(callback, currentKey)
                        end)
                    end
                end
            end)
        end
    end)

    KeyButton.MouseEnter:Connect(function()
        if not listening then
            Utils.Tween(KeyButton, 0.15, {BackgroundColor3 = Theme.Secondary})
        end
    end)

    KeyButton.MouseLeave:Connect(function()
        if not listening then
            Utils.Tween(KeyButton, 0.15, {BackgroundColor3 = Theme.Tertiary})
        end
    end)

    return Container, currentKey
end

-- ==========================================
-- TAB SYSTEM
-- ==========================================
local Tabs = {}
local Pages = {}
local ActiveTab = nil

local function SetActiveTab(name)
    for tabName, data in pairs(Tabs) do
        local btn = data.Button
        local icon = data.Icon
        local label = data.Label
        local indicator = data.Indicator
        local page = Pages[tabName]

        local active = (tabName == name)
        page.Visible = active

        Utils.Tween(btn, 0.15, {BackgroundColor3 = active and Theme.Secondary or Theme.Tertiary})
        icon.TextColor3 = active and Theme.Accent or Theme.TextSecondary
        label.TextColor3 = active and Theme.TextPrimary or Theme.TextSecondary
        
        Utils.Tween(indicator, 0.2, {Size = active and UDim2.new(0, 3, 0.7, 0) or UDim2.new(0, 3, 0, 0)})
    end
    ActiveTab = name
end

local function AddTab(name, icon, order)
    local btn, ic, lbl, ind, page = Components.CreateTab(name, icon, (order - 1) * 48)
    Tabs[name] = {Button = btn, Icon = ic, Label = lbl, Indicator = ind}
    Pages[name] = page

    btn.MouseButton1Click:Connect(function()
        SetActiveTab(name)
    end)

    return page
end

-- Create tabs
local AimbotPage = AddTab("Aimbot", "🎯", 1)
local ESPPage = AddTab("Visuals", "👁", 2)
local MiscPage = AddTab("Misc", "⚙", 3)
local ConfigPage = AddTab("Config", "💾", 4)

SetActiveTab("Aimbot")

-- ==========================================
-- AIMBOT TAB
-- ==========================================
Components.CreateSection(AimbotPage, "Main Settings")

Components.CreateCheckbox(AimbotPage, "Enable Aimbot", Config.Aimbot.Enabled, function(v)
    Config.Aimbot.Enabled = v
    PushNotification("Aimbot " .. (v and "enabled" or "disabled"), v and "Success" or "Info")
end)

Components.CreateCheckbox(AimbotPage, "Team Check", Config.Aimbot.TeamCheck, function(v)
    Config.Aimbot.TeamCheck = v
end)

Components.CreateCheckbox(AimbotPage, "Wall Check", Config.Aimbot.WallCheck, function(v)
    Config.Aimbot.WallCheck = v
end)

Components.CreateCheckbox(AimbotPage, "Visible Check", Config.Aimbot.VisibleCheck, function(v)
    Config.Aimbot.VisibleCheck = v
end)

Components.CreateCheckbox(AimbotPage, "Ignore Friends", Config.Aimbot.IgnoreFriends, function(v)
    Config.Aimbot.IgnoreFriends = v
end)

Components.CreateSection(AimbotPage, "Advanced Settings")

Components.CreateDropdown(AimbotPage, "Aim Part", {"Head", "HumanoidRootPart", "UpperTorso", "LowerTorso"}, Config.Aimbot.AimPart, function(v)
    Config.Aimbot.AimPart = v
    PushNotification("Aim part changed to " .. v, "Info")
end)

Components.CreateSlider(AimbotPage, "FOV Circle", 10, 500, Config.Aimbot.FOV, function(v)
    Config.Aimbot.FOV = v
end)

Components.CreateSlider(AimbotPage, "Smoothness", 1, 100, math.floor(Config.Aimbot.Smoothness * 100), function(v)
    Config.Aimbot.Smoothness = v / 100
end)

Components.CreateSlider(AimbotPage, "Prediction", 0, 50, math.floor(Config.Aimbot.Prediction * 100), function(v)
    Config.Aimbot.Prediction = v / 100
end)

-- ==========================================
-- VISUALS TAB
-- ==========================================
Components.CreateSection(ESPPage, "ESP Settings")

Components.CreateCheckbox(ESPPage, "Enable ESP", Config.ESP.Enabled, function(v)
    Config.ESP.Enabled = v
    PushNotification("ESP " .. (v and "enabled" or "disabled"), v and "Success" or "Info")
end)

Components.CreateCheckbox(ESPPage, "Boxes", Config.ESP.Boxes, function(v)
    Config.ESP.Boxes = v
end)

Components.CreateCheckbox(ESPPage, "Names", Config.ESP.Names, function(v)
    Config.ESP.Names = v
end)

Components.CreateCheckbox(ESPPage, "Distance", Config.ESP.Distance, function(v)
    Config.ESP.Distance = v
end)

Components.CreateCheckbox(ESPPage, "Health Bar", Config.ESP.Health, function(v)
    Config.ESP.Health = v
end)

Components.CreateCheckbox(ESPPage, "Skeletons", Config.ESP.Skeletons, function(v)
    Config.ESP.Skeletons = v
end)

Components.CreateCheckbox(ESPPage, "Tracers", Config.ESP.Tracers, function(v)
    Config.ESP.Tracers = v
end)

Components.CreateCheckbox(ESPPage, "Rainbow ESP", Config.ESP.Rainbow, function(v)
    Config.ESP.Rainbow = v
end)

Components.CreateSection(ESPPage, "ESP Filters")

Components.CreateCheckbox(ESPPage, "Team Check", Config.ESP.TeamCheck, function(v)
    Config.ESP.TeamCheck = v
end)

Components.CreateCheckbox(ESPPage, "Show Teammates", Config.ESP.ShowTeam, function(v)
    Config.ESP.ShowTeam = v
end)

Components.CreateSlider(ESPPage, "Max Distance", 100, 10000, Config.ESP.MaxDistance, function(v)
    Config.ESP.MaxDistance = v
end)

-- ==========================================
-- MISC TAB
-- ==========================================
Components.CreateSection(MiscPage, "Movement")

Components.CreateSlider(MiscPage, "Walk Speed", 8, 200, Config.Misc.SpeedHack, function(v)
    SetWalkSpeed(v)
end)

Components.CreateSlider(MiscPage, "Jump Power", 20, 300, Config.Misc.JumpPower, function(v)
    SetJumpPower(v)
end)

Components.CreateCheckbox(MiscPage, "Infinite Jump", Config.Misc.InfiniteJump, function(v)
    ToggleInfiniteJump(v)
end)

Components.CreateCheckbox(MiscPage, "NoClip", Config.Misc.NoClip, function(v)
    ToggleNoClip(v)
end)

Components.CreateCheckbox(MiscPage, "Fly", Config.Misc.Fly, function(v)
    ToggleFly(v)
end)

Components.CreateSlider(MiscPage, "Fly Speed", 10, 300, Config.Misc.FlySpeed, function(v)
    Config.Misc.FlySpeed = v
end)

Components.CreateSection(MiscPage, "Visual Enhancements")

Components.CreateCheckbox(MiscPage, "Full Bright", Config.Misc.FullBright, function(v)
    ToggleFullBright(v)
end)

Components.CreateCheckbox(MiscPage, "Remove Fog", Config.Misc.RemoveFog, function(v)
    ToggleRemoveFog(v)
end)

Components.CreateSlider(MiscPage, "Camera FOV", 40, 120, Config.Misc.FOVChanger, function(v)
    ChangeFOV(v)
end)

Components.CreateSection(MiscPage, "Other")

Components.CreateCheckbox(MiscPage, "Anti-AFK", Config.Misc.AntiAFK, function(v)
    ToggleAntiAFK(v)
end)

Components.CreateCheckbox(MiscPage, "Auto Respawn", Config.Misc.AutoRespawn, function(v)
    ToggleAutoRespawn(v)
end)

Components.CreateCheckbox(MiscPage, "Spinbot", Config.Misc.Spinbot, function(v)
    ToggleSpinbot(v)
end)

Components.CreateSlider(MiscPage, "Spinbot Speed", 1, 50, Config.Misc.SpinbotSpeed, function(v)
    Config.Misc.SpinbotSpeed = v
end)

-- ==========================================
-- CONFIG TAB
-- ==========================================
Components.CreateSection(ConfigPage, "Configuration Management")

-- Save/Load Config
local function SaveConfig()
    if writefile then
        local success, err = pcall(function()
            local data = Services.HttpService:JSONEncode(Config)
            writefile("neverlose_pp_config.json", data)
        end)
        
        if success then
            PushNotification("Configuration saved successfully", "Success")
        else
            PushNotification("Failed to save config: " .. tostring(err), "Error")
        end
    else
        PushNotification("writefile not supported in this executor", "Error")
    end
end

local function LoadConfig()
    if readfile and isfile then
        if isfile("neverlose_pp_config.json") then
            local success, err = pcall(function()
                local data = readfile("neverlose_pp_config.json")
                local decoded = Services.HttpService:JSONDecode(data)
                
                -- Merge configs
                for category, settings in pairs(decoded) do
                    if Config[category] then
                        for key, value in pairs(settings) do
                            Config[category][key] = value
                        end
                    end
                end
            end)
            
            if success then
                PushNotification("Configuration loaded (rejoin to fully apply)", "Success")
            else
                PushNotification("Failed to load config: " .. tostring(err), "Error")
            end
        else
            PushNotification("Config file not found", "Warning")
        end
    else
        PushNotification("readfile not supported in this executor", "Error")
    end
end

local function ResetConfig()
    Config = {
        Aimbot = {
            Enabled = false,
            TeamCheck = true,
            WallCheck = true,
            FOV = 120,
            Smoothness = 0.3,
            AimPart = "Head",
            SilentAim = false,
            Prediction = 0.13,
            IgnoreFriends = false,
            VisibleCheck = true
        },
        ESP = {
            Enabled = false,
            Boxes = true,
            Names = true,
            Distance = true,
            Health = true,
            Skeletons = false,
            Tracers = false,
            TeamCheck = true,
            MaxDistance = 5000,
            ShowTeam = false,
            Rainbow = false
        },
        Misc = {
            SpeedHack = 16,
            JumpPower = 50,
            InfiniteJump = false,
            NoClip = false,
            Fly = false,
            FlySpeed = 50,
            FullBright = false,
            FOVChanger = 70,
            ThirdPerson = false,
            AntiAFK = false,
            AutoRespawn = false,
            RemoveFog = false,
            Spinbot = false,
            SpinbotSpeed = 10
        }
    }
    PushNotification("Configuration reset to defaults", "Info")
end

local SaveButton = Components.CreateButton(ConfigPage, "💾 Save Configuration", SaveConfig)
local LoadButton = Components.CreateButton(ConfigPage, "📂 Load Configuration", LoadConfig)
local ResetButton = Components.CreateButton(ConfigPage, "🔄 Reset to Defaults", ResetConfig)

Components.CreateSection(ConfigPage, "Information")

local InfoText = Instance.new("TextLabel")
InfoText.Size = UDim2.new(1, 0, 0, 120)
InfoText.BackgroundColor3 = Theme.Tertiary
InfoText.BorderSizePixel = 0
InfoText.TextColor3 = Theme.TextSecondary
InfoText.TextSize = 12
InfoText.Font = Enum.Font.Gotham
InfoText.TextWrapped = true
InfoText.TextXAlignment = Enum.TextXAlignment.Left
InfoText.TextYAlignment = Enum.TextYAlignment.Top
InfoText.Text = [[
NEVERLOSE++ v3.2 Enhanced

Credits:
- Original concept: pozor1337
- Enhanced version: Claude AI
- UI Framework: Custom Roblox GUI

Controls:
- RightControl: Toggle menu
- Right Mouse: Aim activation

Warning: Use at your own risk. This may result in account bans.
]]
InfoText.Parent = ConfigPage

Utils.Corner(InfoText, 8)
Utils.Stroke(InfoText, Theme.Border, 1, 0.5)

local InfoPadding = Instance.new("UIPadding")
InfoPadding.PaddingTop = UDim.new(0, 10)
InfoPadding.PaddingBottom = UDim.new(0, 10)
InfoPadding.PaddingLeft = UDim.new(0, 10)
InfoPadding.PaddingRight = UDim.new(0, 10)
InfoPadding.Parent = InfoText

-- ==========================================
-- KEYBINDS
-- ==========================================
local GuiVisible = true

Services.UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    
    if input.KeyCode == Enum.KeyCode.RightControl then
        GuiVisible = not GuiVisible
        MainFrame.Visible = GuiVisible
        PushNotification("Menu " .. (GuiVisible and "shown" or "hidden") .. " (RightControl)", "Info")
    end
end)

-- ==========================================
-- INITIALIZATION
-- ==========================================
task.wait(0.5)

-- Intro animation
MainFrame.Size = UDim2.new(0, 0, 0, 0)
MainFrame.Position = UDim2.new(0.5, 0, 0.5, 0)

Utils.Tween(MainFrame, 0.5, {
    Size = UDim2.new(0, 750, 0, 550),
    Position = UDim2.new(0.5, -375, 0.5, -275)
})

task.wait(0.3)

PushNotification("NEVERLOSE++ v3.2 Enhanced loaded", "Success")
PushNotification("Press RightControl to toggle menu", "Info")

-- Auto-load config if exists
task.spawn(function()
    task.wait(1)
    if readfile and isfile and isfile("neverlose_pp_config.json") then
        LoadConfig()
    end
end)

-- Performance monitoring
task.spawn(function()
    while true do
        task.wait(60)
        local memoryUsage = gcinfo()
        if memoryUsage > 100000 then -- 100MB
            PushNotification("High memory usage detected (" .. math.floor(memoryUsage/1024) .. "MB)", "Warning")
        end
    end
end)

print("╔═══════════════════════════════════════╗")
print("║   NEVERLOSE++ v1.3 pasta           ║")
print("║   Status: Loaded Successfully         ║")
print("║   Press RightControl to toggle menu   ║")
print("╚═══════════════════════════════════════╝")

Features & Information

29.01.2026 at 20:32, we cracked the 20.01.26 build — HVH Neverlose script. From the dump and deobfuscation we only pulled out the GUI and some outdated functions. They don’t really match what’s in the new build, but whatever. A bit about the crack: the build got popped using the tool Wascrack, which was clutch for deobfuscating the code. Weird thing — the key was enabled in code instead of being server‑side. Pretty obvious it was written by GPT plus some kinda stupid dude. For pasters and trash coders it’s fine as a GUI, and also a lesson: never store your key in a variable called key — or in the code at all. function GUi
#pasta#crack#bloxstrike

Community Comments (11)

revile_revile_Jan 29, 2026

neverlose ui in roblox is genually disgusting

Replying to @revile_
sh11tsh11tJan 30, 2026

@revile_ yeah

SEeclipseSEeclipseJan 29, 2026

made an account just to comment on this garbage script insta banned as soon as i injected it

Replying to @SEeclipse
sh11tsh11tJan 30, 2026

@anasophe9 because this is *ty code and the anti-cheat improved by the time of the 20.01 build, it worked

JyziahaJyziahaJan 29, 2026

Horrid script

Replying to @Jyziaha
sh11tsh11tJan 30, 2026

@Jyziaha yeah

OesmdmskOesmdmskJan 30, 2026

Crack my shi

Replying to @Oesmdmsk
sh11tsh11tJan 30, 2026

@Oesmdmsk why?

perc40perc40Jan 30, 2026

this ai made

MANEW7MANEW7Feb 1, 2026

instant ban

Gahkor1Gahkor1Feb 2, 2026

detect

More Scripts for [NEW MAP] BloxStrike