-- Script Complet Mobile : Aimbot (Head Only) + ESP Ennemi Violet + Cercle FOV Permanent local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Camera = game:GetService("Workspace").CurrentCamera local LP = Players.LocalPlayer -- Configuration local Settings = { Enabled = false, Fov = 150, Smooth = 0.15, Minimised = false } -------------------------------------------------------------------------------- -- 🎨 INTERFACE MOBILE & CERCLE DE FOV PERMANENT -------------------------------------------------------------------------------- local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "MobileAimbotEspGui" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LP:WaitForChild("PlayerGui") local Main = Instance.new("Frame", ScreenGui) Main.Size = UDim2.new(0, 220, 0, 160) Main.Position = UDim2.new(0.05, 0, 0.2, 0) Main.BackgroundColor3 = Color3.fromRGB(30, 30, 35) Main.Active = true Main.Draggable = true local Title = Instance.new("TextLabel", Main) Title.Size = UDim2.new(1, -40, 0, 35) Title.Position = UDim2.new(0, 10, 0, 0) Title.Text = "MOBILE AIM + ESP VIOLET" Title.TextColor3 = Color3.new(1, 1, 1) Title.BackgroundTransparency = 1 Title.Font = Enum.Font.SourceSansBold Title.TextSize = 16 Title.TextXAlignment = Enum.TextXAlignment.Left local MinBtn = Instance.new("TextButton", Main) MinBtn.Size = UDim2.new(0, 30, 0, 30) MinBtn.Position = UDim2.new(1, -35, 0, 2.5) MinBtn.Text = "-" MinBtn.TextColor3 = Color3.new(1, 1, 1) MinBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 55) local Content = Instance.new("Frame", Main) Content.Size = UDim2.new(1, 0, 1, -35) Content.Position = UDim2.new(0, 0, 0, 35) Content.BackgroundTransparency = 1 local ToggleBtn = Instance.new("TextButton", Content) ToggleBtn.Position = UDim2.new(0.05, 0, 0.05, 0) ToggleBtn.Size = UDim2.new(0.9, 0, 0.3, 0) ToggleBtn.Text = "AIMBOT : OFF" ToggleBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 60) ToggleBtn.TextColor3 = Color3.new(1, 1, 1) ToggleBtn.Font = Enum.Font.SourceSansBold ToggleBtn.TextSize = 16 local FovBox = Instance.new("TextBox", Content) FovBox.Position = UDim2.new(0.05, 0, 0.6, 0) FovBox.Size = UDim2.new(0.42, 0, 0.3, 0) FovBox.Text = "150" FovBox.TextColor3 = Color3.new(1, 1, 1) FovBox.BackgroundColor3 = Color3.fromRGB(45, 45, 50) local SmoothBox = Instance.new("TextBox", Content) SmoothBox.Position = UDim2.new(0.53, 0, 0.6, 0) SmoothBox.Size = UDim2.new(0.42, 0, 0.3, 0) SmoothBox.Text = "0.15" SmoothBox.TextColor3 = Color3.new(1, 1, 1) SmoothBox.BackgroundColor3 = Color3.fromRGB(45, 45, 50) -- CERCLE DE FOV PERMANENT local FOVCircle = Instance.new("Frame", ScreenGui) FOVCircle.AnchorPoint = Vector2.new(0.5, 0.5) FOVCircle.BackgroundTransparency = 1 FOVCircle.Visible = true local CircleCorner = Instance.new("UICorner", FOVCircle) CircleCorner.CornerRadius = UDim.new(1, 0) local CircleOutline = Instance.new("UIStroke", FOVCircle) CircleOutline.Color = Color3.fromRGB(255, 60, 90) CircleOutline.Thickness = 1.5 CircleOutline.Transparency = 0.4 -------------------------------------------------------------------------------- -- 🕹️ LOGIQUE INTERFACE -------------------------------------------------------------------------------- ToggleBtn.MouseButton1Click:Connect(function() Settings.Enabled = not Settings.Enabled ToggleBtn.Text = Settings.Enabled and "AIMBOT : ON" or "AIMBOT : OFF" ToggleBtn.BackgroundColor3 = Settings.Enabled and Color3.fromRGB(40, 180, 100) or Color3.fromRGB(180, 40, 60) end) MinBtn.MouseButton1Click:Connect(function() Settings.Minimised = not Settings.Minimised Content.Visible = not Settings.Minimised Main.Size = Settings.Minimised and UDim2.new(0, 220, 0, 35) or UDim2.new(0, 220, 0, 160) MinBtn.Text = Settings.Minimised and "+" or "-" end) FovBox.FocusLost:Connect(function() Settings.Fov = tonumber(FovBox.Text) or 150 end) SmoothBox.FocusLost:Connect(function() Settings.Smooth = tonumber(SmoothBox.Text) or 0.15 end) -------------------------------------------------------------------------------- -- 👁️ LOGIQUE ESP (BOX VIOLETTE POUR L'ÉQUIPE ADVERSE) -------------------------------------------------------------------------------- local function creerESP(joueur) local Box = Instance.new("BoxHandleAdornment") Box.Name = "ESP_Box" Box.Color3 = Color3.fromRGB(180, 0, 255) -- VIOLET NÉON ET TRÈS CLAIR 💜 Box.AlwaysOnTop = true Box.ZIndex = 10 Box.Transparency = 0.4 Box.Adornee = nil Box.Parent = ScreenGui local function actualiserESP() if joueur.Team == LP.Team then Box.Adornee = nil return end if joueur.Character and joueur.Character:FindFirstChild("HumanoidRootPart") and joueur.Character:FindFirstChildOfClass("Humanoid") then if joueur.Character:FindFirstChildOfClass("Humanoid").Health > 0 then Box.Adornee = joueur.Character Box.Size = joueur.Character:GetExtentsSize() + Vector3.new(0.5, 0.5, 0.5) else Box.Adornee = nil end else Box.Adornee = nil end end local connection connection = RunService.RenderStepped:Connect(function() if not joueur.Parent then Box:Destroy() connection:Disconnect() else actualiserESP() end end) end for _, p in pairs(Players:GetPlayers()) do if p ~= LP then creerESP(p) end end Players.PlayerAdded:Connect(function(p) if p ~= LP then creerESP(p) end end) -------------------------------------------------------------------------------- -- 🎯 LOGIQUE AIMBOT + RAFRAÎCHISSEMENT DU CERCLE -------------------------------------------------------------------------------- RunService.RenderStepped:Connect(function() local Center = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) FOVCircle.Position = UDim2.new(0, Center.X, 0, Center.Y) FOVCircle.Size = UDim2.new(0, Settings.Fov * 2, 0, Settings.Fov * 2) if Settings.Enabled then local cibleLaPlusProche = nil local maxDist = Settings.Fov for _, p in pairs(Players:GetPlayers()) do if p ~= LP and p.Team ~= LP.Team and p.Character and p.Character:FindFirstChild("Head") and p.Character:FindFirstChildOfClass("Humanoid") then if p.Character:FindFirstChildOfClass("Humanoid").Health > 0 then local pos, onScreen = Camera:WorldToViewportPoint(p.Character.Head.Position) if onScreen then local dist = (Vector2.new(pos.X, pos.Y) - Center).Magnitude if dist < maxDist then cibleLaPlusProche = p maxDist = dist end end end end end -- Lock exclusif sur la tête (Head) if cibleLaPlusProche and cibleLaPlusProche.Character:FindFirstChild("Head") then local positionTete = cibleLaPlusProche.Character.Head.Position local camCFrameActuel = Camera.CFrame local orientationCible = CFrame.new(camCFrameActuel.Position, positionTete) Camera.CFrame = camCFrameActuel:Lerp(orientationCible, Settings.Smooth) end end end)