local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer -- ========================================== -- НАСТРОЙКИ -- ========================================== local highlightColor = Color3.fromRGB(128, 0, 128) local rotationSpeed = 5 local isHighlighting = false local isAimbotEnabled = false local highlights = {} -- ========================================== -- FLY -- ========================================== local isFlying = false local flySpeed = 50 local bodyVelocity local bodyGyro local flyConnection local function startFly() if isFlying then return end isFlying = true local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local root = character:WaitForChild("HumanoidRootPart") bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.Name = "ModMenuFlyVelocity" bodyVelocity.MaxForce = Vector3.new(1e6, 1e6, 1e6) bodyVelocity.Velocity = Vector3.zero bodyVelocity.Parent = root bodyGyro = Instance.new("BodyGyro") bodyGyro.Name = "ModMenuFlyGyro" bodyGyro.MaxTorque = Vector3.new(1e6, 1e6, 1e6) bodyGyro.P = 10000 bodyGyro.Parent = root flyConnection = RunService.RenderStepped:Connect(function() if not isFlying then return end local camera = workspace.CurrentCamera if not camera or not root or not root.Parent then return end local direction = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then direction += camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then direction -= camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then direction -= camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then direction += camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then direction += Vector3.yAxis end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then direction -= Vector3.yAxis end if direction.Magnitude > 0 then direction = direction.Unit * flySpeed end bodyVelocity.Velocity = direction bodyGyro.CFrame = camera.CFrame end) end local function stopFly() isFlying = false if flyConnection then flyConnection:Disconnect() flyConnection = nil end if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end end -- ========================================== -- ESP -- ========================================== local function addHighlight(player) if player == LocalPlayer then return end local character = player.Character if not character then return end if highlights[player] then return end local highlight = Instance.new("Highlight") highlight.Name = "ModMenuHighlight" highlight.FillColor = highlightColor highlight.OutlineColor = highlightColor highlight.FillTransparency = 0.5 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = character highlights[player] = highlight end local function removeHighlight(player) if highlights[player] then highlights[player]:Destroy() highlights[player] = nil end end local function removeAllHighlights() for player, highlight in pairs(highlights) do if highlight then highlight:Destroy() end highlights[player] = nil end end local function toggleHighlights() isHighlighting = not isHighlighting if isHighlighting then for _, player in ipairs(Players:GetPlayers()) do addHighlight(player) end else removeAllHighlights() end end -- ========================================== -- ИГРОКИ / РЕСПАВН -- ========================================== local function setupPlayer(player) if player == LocalPlayer then return end player.CharacterAdded:Connect(function() if isHighlighting then task.wait(0.2) addHighlight(player) end end) end for _, player in ipairs(Players:GetPlayers()) do setupPlayer(player) end Players.PlayerAdded:Connect(setupPlayer) Players.PlayerRemoving:Connect(function(player) removeHighlight(player) end) -- ========================================== -- AIMBOT -- ========================================== local function getNearestEnemy() local character = LocalPlayer.Character if not character then return nil end local rootPart = character:FindFirstChild("HumanoidRootPart") if not rootPart then return nil end local closestPlayer = nil local closestDistance = math.huge for _, otherPlayer in ipairs(Players:GetPlayers()) do if otherPlayer ~= LocalPlayer and otherPlayer.Character then local otherRoot = otherPlayer.Character:FindFirstChild("HumanoidRootPart") local humanoid = otherPlayer.Character:FindFirstChildOfClass("Humanoid") if otherRoot and humanoid and humanoid.Health > 0 then local distance = (otherRoot.Position - rootPart.Position).Magnitude if distance < closestDistance then closestDistance = distance closestPlayer = otherPlayer end end end end return closestPlayer end local cameraConnection local function startAimbot() if cameraConnection then cameraConnection:Disconnect() end cameraConnection = RunService.RenderStepped:Connect(function(dt) if not isAimbotEnabled then return end local camera = workspace.CurrentCamera if not camera then return end local targetPlayer = getNearestEnemy() if targetPlayer and targetPlayer.Character then local targetRoot = targetPlayer.Character:FindFirstChild("HumanoidRootPart") if targetRoot then local camPos = camera.CFrame.Position local targetPos = targetRoot.Position local offset = targetPos - camPos if offset.Magnitude > 0 then local direction = offset.Unit local currentLook = camera.CFrame.LookVector local newLook = currentLook:Lerp( direction, math.clamp(rotationSpeed * dt, 0, 1) ) camera.CFrame = CFrame.new(camPos, camPos + newLook) end end end end) end startAimbot() -- ========================================== -- GUI -- ========================================== local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "ModMenu" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" -- МЕНЮ УВЕЛИЧЕНО ПОД 4 КНОПКИ MainFrame.Size = UDim2.new(0, 320, 0, 285) MainFrame.Position = UDim2.new(0.5, -160, 0.5, -142) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) MainFrame.BorderSizePixel = 0 MainFrame.Parent = ScreenGui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 12) MainCorner.Parent = MainFrame -- ========================================== -- ЗАГОЛОВОК -- ========================================== local Title = Instance.new("TextLabel") Title.Name = "Title" Title.Size = UDim2.new(1, 0, 0, 55) Title.BackgroundTransparency = 1 Title.Text = "MOD MENU" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 25 Title.Font = Enum.Font.GothamBold Title.Active = true Title.Parent = MainFrame -- ========================================== -- ESP -- ========================================== local ESPButton = Instance.new("TextButton") ESPButton.Name = "ESPButton" ESPButton.Size = UDim2.new(1, -30, 0, 45) ESPButton.Position = UDim2.new(0, 15, 0, 65) ESPButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130) ESPButton.Text = "ESP: OFF" ESPButton.TextColor3 = Color3.fromRGB(255, 255, 255) ESPButton.TextSize = 18 ESPButton.Font = Enum.Font.GothamBold ESPButton.BorderSizePixel = 0 ESPButton.Parent = MainFrame local ESPCorner = Instance.new("UICorner") ESPCorner.CornerRadius = UDim.new(0, 8) ESPCorner.Parent = ESPButton ESPButton.MouseButton1Click:Connect(function() toggleHighlights() if isHighlighting then ESPButton.Text = "ESP: ON" ESPButton.BackgroundColor3 = Color3.fromRGB(140, 0, 190) else ESPButton.Text = "ESP: OFF" ESPButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130) end end) -- ========================================== -- AIMBOT -- ========================================== local AimbotButton = Instance.new("TextButton") AimbotButton.Name = "AimbotButton" AimbotButton.Size = UDim2.new(1, -30, 0, 45) AimbotButton.Position = UDim2.new(0, 15, 0, 120) AimbotButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130) AimbotButton.Text = "AIMBOT: OFF" AimbotButton.TextColor3 = Color3.fromRGB(255, 255, 255) AimbotButton.TextSize = 18 AimbotButton.Font = Enum.Font.GothamBold AimbotButton.BorderSizePixel = 0 AimbotButton.Parent = MainFrame local AimbotCorner = Instance.new("UICorner") AimbotCorner.CornerRadius = UDim.new(0, 8) AimbotCorner.Parent = AimbotButton AimbotButton.MouseButton1Click:Connect(function() isAimbotEnabled = not isAimbotEnabled if isAimbotEnabled then AimbotButton.Text = "AIMBOT: ON" AimbotButton.BackgroundColor3 = Color3.fromRGB(140, 0, 190) else AimbotButton.Text = "AIMBOT: OFF" AimbotButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130) end end) -- ========================================== -- FLY -- ========================================== local FlyButton = Instance.new("TextButton") FlyButton.Name = "FlyButton" FlyButton.Size = UDim2.new(1, -30, 0, 45) FlyButton.Position = UDim2.new(0, 15, 0, 175) FlyButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130) FlyButton.Text = "FLY: OFF" FlyButton.TextColor3 = Color3.fromRGB(255, 255, 255) FlyButton.TextSize = 18 FlyButton.Font = Enum.Font.GothamBold FlyButton.BorderSizePixel = 0 FlyButton.Parent = MainFrame local FlyCorner = Instance.new("UICorner") FlyCorner.CornerRadius = UDim.new(0, 8) FlyCorner.Parent = FlyButton FlyButton.MouseButton1Click:Connect(function() if isFlying then stopFly() FlyButton.Text = "FLY: OFF" FlyButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130) else startFly() FlyButton.Text = "FLY: ON" FlyButton.BackgroundColor3 = Color3.fromRGB(140, 0, 190) end end) -- ========================================== -- ЗАКРЫТЬ -- ========================================== local CloseButton = Instance.new("TextButton") CloseButton.Name = "CloseButton" CloseButton.Size = UDim2.new(1, -30, 0, 45) CloseButton.Position = UDim2.new(0, 15, 0, 230) CloseButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45) CloseButton.Text = "ЗАКРЫТЬ" CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.TextSize = 18 CloseButton.Font = Enum.Font.GothamBold CloseButton.BorderSizePixel = 0 CloseButton.Parent = MainFrame local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(0, 8) CloseCorner.Parent = CloseButton CloseButton.MouseButton1Click:Connect(function() ScreenGui.Enabled = false end) -- ========================================== -- ПЕРЕМЕЩЕНИЕ МЕНЮ -- ========================================== local dragging = false local dragStart local startPosition Title.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPosition = MainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if not dragging then return end if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then local delta = input.Position - dragStart MainFrame.Position = UDim2.new( startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y ) end end)