SundlyAimbot
Key RequiredUniversal

SundlyAimbot

Universal ScriptKehibaScriptsKehibaScripts 48 views 54 executesUpdated Aug 11, 2026
Unrated
00
Lua Script•898 lines (36991 chars)
-- Nettoyage des anciennes instances pour éviter les conflits
if game.CoreGui:FindFirstChild("AimbotGUI") then
    game.CoreGui.AimbotGUI:Destroy()
end
if game.CoreGui:FindFirstChild("LoadingScreenGUI") then
    game.CoreGui.LoadingScreenGUI:Destroy()
end
if game.CoreGui:FindFirstChild("FOVCircleGUI") then
    game.CoreGui.FOVCircleGUI:Destroy()
end
if game.CoreGui:FindFirstChild("AutoShootWidgetGUI") then
    game.CoreGui.AutoShootWidgetGUI:Destroy()
end

-- Services requis
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local VirtualUser = game:GetService("VirtualUser")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer

-- Configuration globale avec WallCheck intégré
getgenv().AimbotSettings = {
    Enabled = false,
    TeamCheck = true,
    WallCheck = true, -- WallCheck activé par défaut
    Smoothness = 1,
    AimSpeed = 15,
    TargetPart = "Head",
    FOV = 200,
    ShowFOV = true,
    Prediction = true,
    PredictionFactor = 0.165,
    SpinBot = false,
    InfiniteJump = false,
    WalkSpeedVal = 16,
    ESPEnabled = false,
    Box3DEnabled = false,
    AutoShoot = false,
    HitboxSize = 2,
    HitboxTransparency = 0.5,
    HitboxEnabled = false,
    HitboxTargetPart = "HumanoidRootPart",
    HitboxVisible = true,
    FriendCheck = true,
    SilentMode = true,
    AutoReset = true,
    ContinuousLock = false,
    AntiCollision = true,
    PrecisionBoost = false
}

-- Tables pour stocker les éléments visuels stables
local Box3DObjects = {}
local HitboxBoxes = {}

local function RemoveBox3D(player)
    if Box3DObjects[player] then
        Box3DObjects[player]:Destroy()
        Box3DObjects[player] = nil
    end
end

local function RemoveHitboxCube(player)
    if HitboxBoxes[player] then
        HitboxBoxes[player]:Destroy()
        HitboxBoxes[player] = nil
    end
end

-- Fonction de WallCheck par Raycast
local function IsVisible(targetPart)
    if not getgenv().AimbotSettings.WallCheck then return true end
    
    local origin = Camera.CFrame.Position
    local direction = (targetPart.Position - origin)
    
    local raycastParams = RaycastParams.new()
    raycastParams.FilterType = Enum.RaycastFilterType.Exclude
    local ignoreList = {LocalPlayer.Character}
    if targetPart.Parent then
        table.insert(ignoreList, targetPart.Parent)
    end
    raycastParams.FilterDescendantsInstances = ignoreList
    raycastParams.IgnoreWater = true

    local result = workspace:Raycast(origin, direction, raycastParams)
    return result == nil
end

-- Écran de chargement initial
local function CreateLoadingScreen(duration, onComplete)
    local LoadGui = Instance.new("ScreenGui")
    LoadGui.Name = "LoadingScreenGUI"
    LoadGui.ResetOnSpawn = false
    LoadGui.Parent = game.CoreGui

    local LoadFrame = Instance.new("Frame")
    LoadFrame.Size = UDim2.new(0, 380, 0, 180)
    LoadFrame.Position = UDim2.new(0.5, -190, 0.5, -90)
    LoadFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
    LoadFrame.BorderSizePixel = 0
    LoadFrame.Parent = LoadGui

    local LoadTitle = Instance.new("TextLabel")
    LoadTitle.Size = UDim2.new(1, 0, 0, 50)
    LoadTitle.Position = UDim2.new(0, 0, 0, 15)
    LoadTitle.BackgroundTransparency = 1
    LoadTitle.Font = Enum.Font.GothamBold
    LoadTitle.Text = "..."
    LoadTitle.TextColor3 = Color3.fromRGB(0, 200, 100)
    LoadTitle.TextSize = 22
    LoadTitle.Parent = LoadFrame

    local LoadBarBackground = Instance.new("Frame")
    LoadBarBackground.Size = UDim2.new(0, 320, 0, 12)
    LoadBarBackground.Position = UDim2.new(0.5, -160, 0, 85)
    LoadBarBackground.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
    LoadBarBackground.BorderSizePixel = 0
    LoadBarBackground.Parent = LoadFrame

    local LoadBarFill = Instance.new("Frame")
    LoadBarFill.Size = UDim2.new(0, 0, 1, 0)
    LoadBarFill.BackgroundColor3 = Color3.fromRGB(0, 200, 100)
    LoadBarFill.BorderSizePixel = 0
    LoadBarFill.Parent = LoadBarBackground

    local LoadStatus = Instance.new("TextLabel")
    LoadStatus.Size = UDim2.new(1, 0, 0, 20)
    LoadStatus.Position = UDim2.new(0, 0, 0, 115)
    LoadStatus.BackgroundTransparency = 1
    LoadStatus.Font = Enum.Font.Gotham
    LoadStatus.Text = "0%"
    LoadStatus.TextColor3 = Color3.fromRGB(150, 150, 150)
    LoadStatus.TextSize = 12
    LoadStatus.Parent = LoadFrame

    task.spawn(function()
        local startTime = tick()
        local randomChars = {"#", "$", "@", "!", "?", "%", "&", "*", "a", "i", "m", "b", "o", "t"}
        while tick() - startTime < duration do
            local elapsed = tick() - startTime
            local progress = math.clamp(elapsed / duration, 0, 1)
            LoadBarFill.Size = UDim2.new(progress, 0, 1, 0)
            LoadStatus.Text = math.floor(progress * 100) .."%"
            if progress < 0.75 then
                local scrambled = ""
                for i = 1, 6 do
                    scrambled = scrambled .. randomChars[math.random(1, #randomChars)]
                end
                LoadTitle.Text = scrambled
            else
                LoadTitle.Text = "aimbot"
            end
            task.wait(0.08)
        end
        LoadTitle.Text = "aimbot"
        task.wait(0.5)
        LoadGui:Destroy()
        if onComplete then
            onComplete()
        end
    end)
end

CreateLoadingScreen(3, function() -- Réduit à 3 secondes pour ne pas attendre trop longtemps
    local ScreenGui = Instance.new("ScreenGui")
    ScreenGui.Name = "AimbotGUI"
    ScreenGui.ResetOnSpawn = false
    ScreenGui.Parent = game.CoreGui

    local MainFrame = Instance.new("Frame")
    MainFrame.Size = UDim2.new(0, 520, 0, 440)
    MainFrame.Position = UDim2.new(0.5, -260, 0.5, -220)
    MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
    MainFrame.BorderSizePixel = 0
    MainFrame.Active = true
    MainFrame.Draggable = true
    MainFrame.Parent = ScreenGui

    local UICorner = Instance.new("UICorner")
    UICorner.CornerRadius = UDim.new(0, 8)
    UICorner.Parent = MainFrame

    local TitleBar = Instance.new("Frame")
    TitleBar.Size = UDim2.new(1, 0, 0, 40)
    TitleBar.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
    TitleBar.BorderSizePixel = 0
    TitleBar.Parent = MainFrame

    local TitleCorner = Instance.new("UICorner")
    TitleCorner.CornerRadius = UDim.new(0, 8)
    TitleCorner.Parent = TitleBar

    local TitleText = Instance.new("TextLabel")
    TitleText.Size = UDim2.new(1, -20, 1, 0)
    TitleText.Position = UDim2.new(0, 15, 0, 0)
    TitleText.BackgroundTransparency = 1
    TitleText.Font = Enum.Font.GothamBold
    TitleText.Text = "SundlyAimbot v1.7.32 [Fixed + WallCheck]"
    TitleText.TextColor3 = Color3.fromRGB(255, 255, 255)
    TitleText.TextSize = 15
    TitleText.TextXAlignment = Enum.TextXAlignment.Left
    TitleText.Parent = TitleBar

    local TabBar = Instance.new("Frame")
    TabBar.Size = UDim2.new(1, -20, 0, 35)
    TabBar.Position = UDim2.new(0, 10, 0, 50)
    TabBar.BackgroundTransparency = 1
    TabBar.Parent = MainFrame

    local TabAimbotBtn = Instance.new("TextButton")
    TabAimbotBtn.Size = UDim2.new(0.23, 0, 1, 0)
    TabAimbotBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 65)
    TabAimbotBtn.Font = Enum.Font.GothamBold
    TabAimbotBtn.Text = "Aimbot"
    TabAimbotBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    TabAimbotBtn.TextSize = 11
    TabAimbotBtn.Parent = TabBar

    local TabAimbotCorner = Instance.new("UICorner")
    TabAimbotCorner.CornerRadius = UDim.new(0, 6)
    TabAimbotCorner.Parent = TabAimbotBtn

    local TabHitboxBtn = Instance.new("TextButton")
    TabHitboxBtn.Size = UDim2.new(0.23, 0, 1, 0)
    TabHitboxBtn.Position = UDim2.new(0.25, 0, 0, 0)
    TabHitboxBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
    TabHitboxBtn.Font = Enum.Font.GothamBold
    TabHitboxBtn.Text = "Hitbox"
    TabHitboxBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
    TabHitboxBtn.TextSize = 11
    TabHitboxBtn.Parent = TabBar

    local TabHitboxCorner = Instance.new("UICorner")
    TabHitboxCorner.CornerRadius = UDim.new(0, 6)
    TabHitboxCorner.Parent = TabHitboxBtn

    local TabSettingsBtn = Instance.new("TextButton")
    TabSettingsBtn.Size = UDim2.new(0.23, 0, 1, 0)
    TabSettingsBtn.Position = UDim2.new(0.50, 0, 0, 0)
    TabSettingsBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
    TabSettingsBtn.Font = Enum.Font.GothamBold
    TabSettingsBtn.Text = "Paramètres"
    TabSettingsBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
    TabSettingsBtn.TextSize = 11
    TabSettingsBtn.Parent = TabBar

    local TabSettingsCorner = Instance.new("UICorner")
    TabSettingsCorner.CornerRadius = UDim.new(0, 6)
    TabSettingsCorner.Parent = TabSettingsBtn

    local TabVersionBtn = Instance.new("TextButton")
    TabVersionBtn.Size = UDim2.new(0.23, 0, 1, 0)
    TabVersionBtn.Position = UDim2.new(0.75, 0, 0, 0)
    TabVersionBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
    TabVersionBtn.Font = Enum.Font.GothamBold
    TabVersionBtn.Text = "Version"
    TabVersionBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
    TabVersionBtn.TextSize = 11
    TabVersionBtn.Parent = TabBar

    local TabVersionCorner = Instance.new("UICorner")
    TabVersionCorner.CornerRadius = UDim.new(0, 6)
    TabVersionCorner.Parent = TabVersionBtn

    local AimbotContainer = Instance.new("ScrollingFrame")
    AimbotContainer.Size = UDim2.new(1, -20, 1, -100)
    AimbotContainer.Position = UDim2.new(0, 10, 0, 95)
    AimbotContainer.BackgroundTransparency = 1
    AimbotContainer.BorderSizePixel = 0
    AimbotContainer.CanvasSize = UDim2.new(0, 0, 0, 1150)
    AimbotContainer.ScrollBarThickness = 4
    AimbotContainer.Visible = true
    AimbotContainer.Parent = MainFrame

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

    local HitboxContainer = Instance.new("ScrollingFrame")
    HitboxContainer.Size = UDim2.new(1, -20, 1, -100)
    HitboxContainer.Position = UDim2.new(0, 10, 0, 95)
    HitboxContainer.BackgroundTransparency = 1
    HitboxContainer.BorderSizePixel = 0
    HitboxContainer.CanvasSize = UDim2.new(0, 0, 0, 900)
    HitboxContainer.ScrollBarThickness = 4
    HitboxContainer.Visible = false
    HitboxContainer.Parent = MainFrame

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

    local SettingsContainer = Instance.new("ScrollingFrame")
    SettingsContainer.Size = UDim2.new(1, -20, 1, -100)
    SettingsContainer.Position = UDim2.new(0, 10, 0, 95)
    SettingsContainer.BackgroundTransparency = 1
    SettingsContainer.BorderSizePixel = 0
    SettingsContainer.CanvasSize = UDim2.new(0, 0, 0, 300)
    SettingsContainer.ScrollBarThickness = 4
    SettingsContainer.Visible = false
    SettingsContainer.Parent = MainFrame

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

    local VersionContainer = Instance.new("ScrollingFrame")
    VersionContainer.Size = UDim2.new(1, -20, 1, -100)
    VersionContainer.Position = UDim2.new(0, 10, 0, 95)
    VersionContainer.BackgroundTransparency = 1
    VersionContainer.BorderSizePixel = 0
    VersionContainer.CanvasSize = UDim2.new(0, 0, 0, 450)
    VersionContainer.ScrollBarThickness = 4
    VersionContainer.Visible = false
    VersionContainer.Parent = MainFrame

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

    TabAimbotBtn.MouseButton1Click:Connect(function()
        AimbotContainer.Visible = true
        HitboxContainer.Visible = false
        SettingsContainer.Visible = false
        VersionContainer.Visible = false
        TabAimbotBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 65)
        TabAimbotBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
        TabHitboxBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabHitboxBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
        TabSettingsBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabSettingsBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
        TabVersionBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabVersionBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
    end)

    TabHitboxBtn.MouseButton1Click:Connect(function()
        AimbotContainer.Visible = false
        HitboxContainer.Visible = true
        SettingsContainer.Visible = false
        VersionContainer.Visible = false
        TabHitboxBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 65)
        TabHitboxBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
        TabAimbotBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabAimbotBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
        TabSettingsBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabSettingsBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
        TabVersionBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabVersionBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
    end)

    TabSettingsBtn.MouseButton1Click:Connect(function()
        AimbotContainer.Visible = false
        HitboxContainer.Visible = false
        SettingsContainer.Visible = true
        VersionContainer.Visible = false
        TabSettingsBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 65)
        TabSettingsBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
        TabAimbotBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabAimbotBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
        TabHitboxBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabHitboxBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
        TabVersionBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabVersionBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
    end)

    TabVersionBtn.MouseButton1Click:Connect(function()
        AimbotContainer.Visible = false
        HitboxContainer.Visible = false
        SettingsContainer.Visible = false
        VersionContainer.Visible = true
        TabVersionBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 65)
        TabVersionBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
        TabAimbotBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabAimbotBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
        TabHitboxBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabHitboxBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
        TabSettingsBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
        TabSettingsBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
    end)

    local VersionInfoLabel = Instance.new("TextLabel")
    VersionInfoLabel.Size = UDim2.new(1, 0, 0, 380)
    VersionInfoLabel.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    VersionInfoLabel.BorderSizePixel = 0
    VersionInfoLabel.Font = Enum.Font.GothamMedium
    VersionInfoLabel.Text = "=== INFORMATIONS DU SCRIPT ===\n" ..
                          "Version UI : 1.7.32 [Fixed + WallCheck]\n" ..
                          "Statut : Actif & Sécurisé\n\n" ..
                          "=== COMPTE & UTILISATEUR ===\n" ..
                          "Nom du compte : " .. LocalPlayer.Name .. "\n" ..
                          "ID Utilisateur : " .. tostring(LocalPlayer.UserId) .. "\n\n" ..
                          "=== CONFIGURATION ===\n" ..
                          "WallCheck Raycast : Actif\n" ..
                          "Fréquence de rafraîchissement : Optimisée"
    VersionInfoLabel.TextColor3 = Color3.fromRGB(220, 220, 220)
    VersionInfoLabel.TextSize = 13
    VersionInfoLabel.TextXAlignment = Enum.TextXAlignment.Left
    VersionInfoLabel.TextYAlignment = Enum.TextYAlignment.Top
    VersionInfoLabel.Parent = VersionContainer

    local VersionPadding = Instance.new("UIPadding")
    VersionPadding.PaddingLeft = UDim.new(0, 15)
    VersionPadding.PaddingTop = UDim.new(0, 15)
    VersionPadding.Parent = VersionInfoLabel

    local VersionInfoCorner = Instance.new("UICorner")
    VersionInfoCorner.CornerRadius = UDim.new(0, 6)
    VersionInfoCorner.Parent = VersionInfoLabel

    local function CreateToggle(parent, name, default, callback)
        local ToggleButton = Instance.new("TextButton")
        ToggleButton.Size = UDim2.new(1, 0, 0, 40)
        ToggleButton.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
        ToggleButton.BorderSizePixel = 0
        ToggleButton.Text = ""
        ToggleButton.Parent = parent

        local ToggleCorner = Instance.new("UICorner")
        ToggleCorner.CornerRadius = UDim.new(0, 6)
        ToggleCorner.Parent = ToggleButton

        local Label = Instance.new("TextLabel")
        Label.Size = UDim2.new(1, -60, 1, 0)
        Label.Position = UDim2.new(0, 15, 0, 0)
        Label.BackgroundTransparency = 1
        Label.Font = Enum.Font.GothamMedium
        Label.Text = name
        Label.TextColor3 = Color3.fromRGB(220, 220, 220)
        Label.TextSize = 14
        Label.TextXAlignment = Enum.TextXAlignment.Left
        Label.Parent = ToggleButton

        local Status = Instance.new("Frame")
        Status.Size = UDim2.new(0, 24, 0, 24)
        Status.Position = UDim2.new(1, -35, 0.5, -12)
        Status.BackgroundColor3 = default and Color3.fromRGB(0, 200, 100) or Color3.fromRGB(60, 60, 70)
        Status.BorderSizePixel = 0
        Status.Parent = ToggleButton

        local StatusCorner = Instance.new("UICorner")
        StatusCorner.CornerRadius = UDim.new(0, 4)
        StatusCorner.Parent = Status

        local state = default
        ToggleButton.MouseButton1Click:Connect(function()
            state = not state
            Status.BackgroundColor3 = state and Color3.fromRGB(0, 200, 100) or Color3.fromRGB(60, 60, 70)
            callback(state)
        end)
    end

    local function CreateSlider(parent, name, min, max, default, callback)
        local SliderFrame = Instance.new("Frame")
        SliderFrame.Size = UDim2.new(1, 0, 0, 55)
        SliderFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
        SliderFrame.BorderSizePixel = 0
        SliderFrame.Parent = parent

        local SliderCorner = Instance.new("UICorner")
        SliderCorner.CornerRadius = UDim.new(0, 6)
        SliderCorner.Parent = SliderFrame

        local Label = Instance.new("TextLabel")
        Label.Size = UDim2.new(1, -20, 0, 25)
        Label.Position = UDim2.new(0, 15, 0, 5)
        Label.BackgroundTransparency = 1
        Label.Font = Enum.Font.GothamMedium
        Label.Text = name .. " : " .. tostring(default)
        Label.TextColor3 = Color3.fromRGB(220, 220, 220)
        Label.TextSize = 14
        Label.TextXAlignment = Enum.TextXAlignment.Left
        Label.Parent = SliderFrame

        local Bar = Instance.new("Frame")
        Bar.Size = UDim2.new(1, -30, 0, 6)
        Bar.Position = UDim2.new(0, 15, 0, 38)
        Bar.BackgroundColor3 = Color3.fromRGB(60, 60, 75)
        Bar.BorderSizePixel = 0
        Bar.Parent = SliderFrame

        local BarCorner = Instance.new("UICorner")
        BarCorner.CornerRadius = UDim.new(1, 0)
        BarCorner.Parent = Bar

        local Knob = Instance.new("TextButton")
        Knob.Size = UDim2.new(0, 16, 0, 16)
        Knob.Position = UDim2.new((default - min) / (max - min), -8, 0.5, -8)
        Knob.BackgroundColor3 = Color3.fromRGB(0, 200, 100)
        Knob.BorderSizePixel = 0
        Knob.Text = ""
        Knob.Parent = Bar

        local KnobCorner = Instance.new("UICorner")
        KnobCorner.CornerRadius = UDim.new(1, 0)
        KnobCorner.Parent = Knob

        local dragging = false

        Knob.MouseButton1Down:Connect(function()
            dragging = true
        end)

        UserInputService.InputEnded:Connect(function(input)
            if input.UserInputType == Enum.UserInputType.MouseButton1 then
                dragging = false
            end
        end)

        UserInputService.InputChanged:Connect(function(input)
            if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
                local mousePos = UserInputService:GetMouseLocation().X
                local barPos = Bar.AbsolutePosition.X
                local barSize = Bar.AbsoluteSize.X
                local percent = math.clamp((mousePos - barPos) / barSize, 0, 1)
                
                Knob.Position = UDim2.new(percent, -8, 0.5, -8)
                local value = math.floor(min + (max - min) * percent)
                Label.Text = name .. " : " .. tostring(value)
                callback(value)
            end
        end)
    end

    local AutoShootWidget = Instance.new("ScreenGui")
    AutoShootWidget.Name = "AutoShootWidgetGUI"
    AutoShootWidget.ResetOnSpawn = false
    AutoShootWidget.Enabled = false
    AutoShootWidget.Parent = game.CoreGui

    local WidgetBtn = Instance.new("TextButton")
    WidgetBtn.Size = UDim2.new(0, 140, 0, 45)
    WidgetBtn.Position = UDim2.new(0.5, -70, 0.1, 0)
    WidgetBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
    WidgetBtn.BorderSizePixel = 0
    WidgetBtn.Active = true
    WidgetBtn.Draggable = true
    WidgetBtn.Font = Enum.Font.GothamBold
    WidgetBtn.Text = "AUTO-SHOOT [OFF]"
    WidgetBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    WidgetBtn.TextSize = 12
    WidgetBtn.Parent = AutoShootWidget

    local WidgetCorner = Instance.new("UICorner")
    WidgetCorner.CornerRadius = UDim.new(0, 8)
    WidgetCorner.Parent = WidgetBtn

    local widgetActive = false
    WidgetBtn.MouseButton1Click:Connect(function()
        widgetActive = not widgetActive
        if widgetActive then
            WidgetBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 100)
            WidgetBtn.Text = "AUTO-SHOOT [ON]"
        else
            WidgetBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
            WidgetBtn.Text = "AUTO-SHOOT [OFF]"
        end
    end)

    -- Options Aimbot avec Speed Aim & WallCheck
    CreateToggle(AimbotContainer, "1. Activer l'Aimbot", false, function(state)
        getgenv().AimbotSettings.Enabled = state
    end)

    CreateSlider(AimbotContainer, "Speed Aim (Vitesse de verrouillage)", 1, 50, 15, function(value)
        getgenv().AimbotSettings.AimSpeed = value
    end)

    CreateToggle(AimbotContainer, "2. Activer AutoShoot (Affiche le widget)", false, function(state)
        getgenv().AimbotSettings.AutoShoot = state
        AutoShootWidget.Enabled = state
        if not state then
            widgetActive = false
            WidgetBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
            WidgetBtn.Text = "AUTO-SHOOT [OFF]"
        end
    end)

    CreateSlider(AimbotContainer, "FOV (Taille de la zone)", 50, 500, 200, function(value)
        getgenv().AimbotSettings.FOV = value
    end)

    CreateToggle(AimbotContainer, "- 3. Afficher le Cube 3D (Box ESP Joueurs)", false, function(state)
        getgenv().AimbotSettings.Box3DEnabled = state
        if not state then
            for player, _ in pairs(Box3DObjects) do
                RemoveBox3D(player)
            end
        end
    end)

    CreateToggle(AimbotContainer, "4. Vérification d'équipe (TeamCheck)", true, function(state)
        getgenv().AimbotSettings.TeamCheck = state
    end)

    CreateToggle(AimbotContainer, "5. Vérification des murs (WallCheck)", true, function(state)
        getgenv().AimbotSettings.WallCheck = state
    end)

    CreateToggle(AimbotContainer, "6. Viser la Tête (Head)", true, function(state)
        getgenv().AimbotSettings.TargetPart = state and "Head" or "HumanoidRootPart"
    end)

    CreateToggle(AimbotContainer, "7. Afficher le cercle FOV", true, function(state)
        getgenv().AimbotSettings.ShowFOV = state
    end)

    CreateToggle(AimbotContainer, "8. Prédiction de mouvement", false, function(state)
        getgenv().AimbotSettings.Prediction = state
    end)

    CreateToggle(AimbotContainer, "9. SpinBot (Rotation rapide)", false, function(state)
        getgenv().AimbotSettings.SpinBot = state
    end)

    CreateToggle(AimbotContainer, "10. Saut infini (Infinite Jump)", false, function(state)
        getgenv().AimbotSettings.InfiniteJump = state
    end)

    CreateToggle(AimbotContainer, "11. Vitesse augmentée (WalkSpeed)", false, function(state)
        getgenv().AimbotSettings.WalkSpeedVal = state and 28 or 16
        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
            LocalPlayer.Character.Humanoid.WalkSpeed = getgenv().AimbotSettings.WalkSpeedVal
        end
    end)

    -- === ONGLET HITBOX EXPANDER ===
    CreateToggle(HitboxContainer, "1. Activer Hitbox Expander", false, function(state)
        getgenv().AimbotSettings.HitboxEnabled = state
    end)

    CreateSlider(HitboxContainer, "2. Taille de la Hitbox (Scale)", 1, 20, 2, function(value)
        getgenv().AimbotSettings.HitboxSize = value
    end)

    CreateSlider(HitboxContainer, "3. Transparence de la Hitbox", 0, 10, 5, function(value)
        getgenv().AimbotSettings.HitboxTransparency = value / 10
    end)

    CreateToggle(HitboxContainer, "- 4. Afficher le Cube (SelectionBox Hitbox)", true, function(state)
        getgenv().AimbotSettings.HitboxVisible = state
    end)

    CreateToggle(HitboxContainer, "5. Viser le Torse (RootPart)", false, function(state)
        getgenv().AimbotSettings.HitboxTargetPart = state and "HumanoidRootPart" or "Head"
    end)

    CreateToggle(HitboxContainer, "6. Ignorer les Amis (FriendCheck)", true, function(state)
        getgenv().AimbotSettings.FriendCheck = state
    end)

    CreateToggle(HitboxContainer, "7. Mode Silencieux (No Sound/Alert)", true, function(state)
        getgenv().AimbotSettings.SilentMode = state
    end)

    CreateToggle(HitboxContainer, "8. Auto-Reset sur Respawn", true, function(state)
        getgenv().AimbotSettings.AutoReset = state
    end)

    CreateToggle(HitboxContainer, "9. Verrouillage de la caméra en continu", false, function(state)
        getgenv().AimbotSettings.ContinuousLock = state
    end)

    CreateToggle(HitboxContainer, "10. Anti-Collision Hitbox", true, function(state)
        getgenv().AimbotSettings.AntiCollision = state
    end)

    CreateToggle(HitboxContainer, "11. Boost de précision Hitbox+", false, function(state)
        getgenv().AimbotSettings.PrecisionBoost = state
    end)

    CreateToggle(SettingsContainer, "Mode Discret / Anti-Crash", true, function(state)
        print("Anti-Crash : " .. tostring(state))
    end)

    local CloseButton = Instance.new("TextButton")
    CloseButton.Size = UDim2.new(1, 0, 0, 40)
    CloseButton.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
    CloseButton.BorderSizePixel = 0
    CloseButton.Font = Enum.Font.GothamBold
    CloseButton.Text = "Fermer / Supprimer le Script"
    CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
    CloseButton.TextSize = 14
    CloseButton.Parent = SettingsContainer

    local CloseCorner = Instance.new("UICorner")
    CloseCorner.CornerRadius = UDim.new(0, 6)
    CloseCorner.Parent = CloseButton

    CloseButton.MouseButton1Click:Connect(function()
        ScreenGui:Destroy()
        AutoShootWidget:Destroy()
        for player, _ in pairs(Box3DObjects) do
            RemoveBox3D(player)
        end
        for player, _ in pairs(HitboxBoxes) do
            RemoveHitboxCube(player)
        end
    end)

    UserInputService.JumpRequest:Connect(function()
        if getgenv().AimbotSettings.InfiniteJump and LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
            LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
        end
    end)

    -- Cercle FOV natif stable
    local FOVGui = Instance.new("ScreenGui")
    FOVGui.Name = "FOVCircleGUI"
    FOVGui.ResetOnSpawn = false
    FOVGui.Parent = game.CoreGui

    local FOVFrame = Instance.new("Frame")
    FOVFrame.Name = "Ring"
    FOVFrame.AnchorPoint = Vector2.new(0.5, 0.5)
    FOVFrame.BackgroundTransparency = 1
    FOVFrame.BorderSizePixel = 0
    FOVFrame.Parent = FOVGui

    local FOVUIStroke = Instance.new("UIStroke")
    FOVUIStroke.Color = Color3.fromRGB(255, 255, 255)
    FOVUIStroke.Thickness = 1.5
    FOVUIStroke.Transparency = 0.3
    FOVUIStroke.Parent = FOVFrame

    local FOVUICorner = Instance.new("UICorner")
    FOVUICorner.CornerRadius = UDim.new(1, 0)
    FOVUICorner.Parent = FOVFrame

    -- Fonction pour trouver la cible la plus proche avec prise en compte du WallCheck
    local function GetClosestPlayer()
        local closestPlayer = nil
        local shortestDistance = getgenv().AimbotSettings.FOV

        local screenCenter = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
        if UserInputService.MouseBehavior == Enum.MouseBehavior.LockCenter then
            screenCenter = screenCenter + Vector2.new(15, 0)
        end

        for _, player in ipairs(Players:GetPlayers()) do
            if player ~= LocalPlayer then
                if getgenv().AimbotSettings.TeamCheck and LocalPlayer.Team and player.Team and player.Team == LocalPlayer.Team then
                    continue
                end

                if getgenv().AimbotSettings.FriendCheck and LocalPlayer:IsFriendsWith(player.UserId) then
                    continue
                end

                local character = player.Character
                if character and character:FindFirstChild("Humanoid") and character.Humanoid.Health > 0 then
                    local targetPart = character:FindFirstChild(getgenv().AimbotSettings.TargetPart)
                    if targetPart then
                        local screenPoint, onScreen = Camera:WorldToViewportPoint(targetPart.Position)
                        if onScreen then
                            local distance = (Vector2.new(screenPoint.X, screenPoint.Y) - screenCenter).Magnitude

                            -- Vérification de la distance (FOV) ET de la visibilité réelle (WallCheck)
                            if distance < shortestDistance and IsVisible(targetPart) then
                                shortestDistance = distance
                                closestPlayer = character
                            end
                        end
                    end
                end
            end
        end

        return closestPlayer
    end

    RunService.RenderStepped:Connect(function()
        FOVFrame.Visible = getgenv().AimbotSettings.ShowFOV
        local diameter = getgenv().AimbotSettings.FOV * 2
        FOVFrame.Size = UDim2.new(0, diameter, 0, diameter)
        
        local currentScreenCenter = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
        if UserInputService.MouseBehavior == Enum.MouseBehavior.LockCenter then
            currentScreenCenter = currentScreenCenter + Vector2.new(15, 0)
        end
        FOVFrame.Position = UDim2.new(0, currentScreenCenter.X, 0, currentScreenCenter.Y)

        -- Logique Hitbox Expander
        for _, player in ipairs(Players:GetPlayers()) do
            if player ~= LocalPlayer then
                if getgenv().AimbotSettings.FriendCheck and LocalPlayer:IsFriendsWith(player.UserId) then
                    continue
                end

                local character = player.Character
                if character and character:FindFirstChild("Humanoid") and character.Humanoid.Health > 0 then
                    local partName = getgenv().AimbotSettings.HitboxTargetPart
                    local targetPart = character:FindFirstChild(partName)
                    if targetPart then
                        if getgenv().AimbotSettings.HitboxEnabled then
                            local scale = getgenv().AimbotSettings.HitboxSize
                            if getgenv().AimbotSettings.PrecisionBoost then
                                scale = scale * 1.25
                            end
                            targetPart.Size = Vector3.new(scale * 2, scale * 2, scale * 2)
                            targetPart.Transparency = getgenv().AimbotSettings.HitboxVisible and getgenv().AimbotSettings.HitboxTransparency or 1
                            targetPart.CanCollide = not getgenv().AimbotSettings.AntiCollision

                            if getgenv().AimbotSettings.HitboxVisible then
                                if not HitboxBoxes[player] then
                                    local selectionBox = Instance.new("SelectionBox")
                                    selectionBox.Color3 = Color3.fromRGB(0, 255, 100)
                                    selectionBox.LineThickness = 0.03
                                    selectionBox.SurfaceTransparency = 0.8
                                    selectionBox.Parent = game.CoreGui
                                    HitboxBoxes[player] = selectionBox
                                end
                                HitboxBoxes[player].Adornee = targetPart
                                HitboxBoxes[player].Visible = true
                            else
                                if HitboxBoxes[player] then
                                    HitboxBoxes[player].Visible = false
                                end
                            end
                        else
                            targetPart.Size = Vector3.new(2, 1, 1)
                            targetPart.Transparency = 1
                            targetPart.CanCollide = true
                            RemoveHitboxCube(player)
                        end
                    else
                        RemoveHitboxCube(player)
                    end
                else
                    RemoveHitboxCube(player)
                end
            else
                RemoveHitboxCube(player)
            end
        end

        -- Logique Cube 3D (Box ESP)
        for _, player in ipairs(Players:GetPlayers()) do
            if player ~= LocalPlayer then
                if getgenv().AimbotSettings.Box3DEnabled then
                    local character = player.Character
                    if character and character:FindFirstChild("HumanoidRootPart") and character:FindFirstChild("Humanoid") and character.Humanoid.Health > 0 then
                        if not Box3DObjects[player] then
                            local selectionBox = Instance.new("SelectionBox")
                            selectionBox.Color3 = Color3.fromRGB(0, 255, 100)
                            selectionBox.LineThickness = 0.04
                            selectionBox.SurfaceTransparency = 0.9
                            selectionBox.Parent = game.CoreGui
                            Box3DObjects[player] = selectionBox
                        end
                        Box3DObjects[player].Adornee = character
                        Box3DObjects[player].Visible = true
                    else
                        RemoveBox3D(player)
                    end
                else
                    RemoveBox3D(player)
                end
            end
        end

        if getgenv().AimbotSettings.SpinBot and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
            LocalPlayer.Character.HumanoidRootPart.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.Angles(0, math.rad(30), 0)
        end

        -- Logique Aimbot avec Speed Aim & WallCheck
        if getgenv().AimbotSettings.Enabled or getgenv().AimbotSettings.ContinuousLock then
            local target = GetClosestPlayer()
            if target and target:FindFirstChild(getgenv().AimbotSettings.TargetPart) then
                local targetPart = target[getgenv().AimbotSettings.TargetPart]
                local finalPosition = targetPart.Position
                
                if getgenv().AimbotSettings.Prediction and target:FindFirstChild("HumanoidRootPart") then
                    local velocity = target.HumanoidRootPart.AssemblyLinearVelocity
                    finalPosition = finalPosition + (velocity * getgenv().AimbotSettings.PredictionFactor)
                end

                local targetCFrame = CFrame.new(Camera.CFrame.Position, finalPosition)
                local speedFactor = math.clamp(getgenv().AimbotSettings.AimSpeed / 25, 0.05, 1)
                Camera.CFrame = Camera.CFrame:Lerp(targetCFrame, speedFactor)

                if getgenv().AimbotSettings.AutoShoot and widgetActive then
                    pcall(function()
                        VirtualUser:Button1Down(Vector2.new(0,0))
                        task.wait(0.05)
                        VirtualUser:Button1Up(Vector2.new(0,0))
                    end)
                end
            end
        end
    end)
end)

Features & Information

I will fix bugs NOTE : IF YOU ACTIVATE THE AIMBOT THE AIMBOT CAN DO BUGS YOU HAVE BEEN WARNED. i will add more things and i will add a key too at 2027

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts