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