--// Services local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local enemiesFolder = workspace:WaitForChild("Enemys") -- --- GUI Setup --- local screenGui = Instance.new("ScreenGui") screenGui.Name = "EnemyAimGUI" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 500, 0, 380) mainFrame.Position = UDim2.new(0.3, 0, 0.3, 0) mainFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = screenGui local uiCorner = Instance.new("UICorner") uiCorner.CornerRadius = UDim.new(0, 12) uiCorner.Parent = mainFrame -- --- Left panel: enemy buttons --- local leftPanel = Instance.new("Frame") leftPanel.Size = UDim2.new(0, 200, 1, -20) leftPanel.Position = UDim2.new(0, 10, 0, 10) leftPanel.BackgroundTransparency = 1 leftPanel.Parent = mainFrame local leftScroll = Instance.new("ScrollingFrame") leftScroll.Size = UDim2.new(1, 0, 1, 0) leftScroll.CanvasSize = UDim2.new(0,0,0,0) leftScroll.ScrollBarThickness = 6 leftScroll.BackgroundTransparency = 1 leftScroll.Parent = leftPanel local leftLayout = Instance.new("UIListLayout") leftLayout.Padding = UDim.new(0,5) leftLayout.Parent = leftScroll local enemyButtons = {} local selectedEnemy = nil -- --- Right panel: Silent Aim + Prediction + Slash Assist + Melee Assist --- local rightPanel = Instance.new("Frame") rightPanel.Size = UDim2.new(0, 280, 1, -20) rightPanel.Position = UDim2.new(0, 210, 0, 10) rightPanel.BackgroundColor3 = Color3.fromRGB(60,60,60) rightPanel.Visible = false rightPanel.Parent = mainFrame local uiCorner2 = Instance.new("UICorner") uiCorner2.CornerRadius = UDim.new(0, 12) uiCorner2.Parent = rightPanel local silentTitle = Instance.new("TextLabel") silentTitle.Size = UDim2.new(1, -20, 0, 40) silentTitle.Position = UDim2.new(0, 10, 0, 10) silentTitle.BackgroundTransparency = 1 silentTitle.TextColor3 = Color3.fromRGB(255,255,255) silentTitle.Font = Enum.Font.SourceSansBold silentTitle.TextScaled = true silentTitle.Text = "Silent Aim" silentTitle.Parent = rightPanel local fireButton = Instance.new("TextButton") fireButton.Size = UDim2.new(0, 260, 0, 50) fireButton.Position = UDim2.new(0, 10, 0, 70) fireButton.BackgroundColor3 = Color3.fromRGB(90,90,90) fireButton.TextColor3 = Color3.fromRGB(255,255,255) fireButton.Text = "Silent Aim Off" fireButton.Parent = rightPanel local predictionLabel = Instance.new("TextLabel") predictionLabel.Size = UDim2.new(0, 260, 0, 30) predictionLabel.Position = UDim2.new(0, 10, 0, 130) predictionLabel.BackgroundTransparency = 1 predictionLabel.TextColor3 = Color3.fromRGB(255,255,255) predictionLabel.Font = Enum.Font.SourceSans predictionLabel.TextScaled = true predictionLabel.Text = "Prediction: 0.1" predictionLabel.Parent = rightPanel local predictionSlider = Instance.new("TextBox") predictionSlider.Size = UDim2.new(0, 260, 0, 30) predictionSlider.Position = UDim2.new(0, 10, 0, 170) predictionSlider.BackgroundColor3 = Color3.fromRGB(80,80,80) predictionSlider.TextColor3 = Color3.fromRGB(255,255,255) predictionSlider.Text = "0.1" predictionSlider.ClearTextOnFocus = false predictionSlider.Parent = rightPanel -- NEW: Slash Assist toggle local slashAssistEnabled = true local slashButton = Instance.new("TextButton") slashButton.Size = UDim2.new(0, 260, 0, 40) slashButton.Position = UDim2.new(0, 10, 0, 210) slashButton.BackgroundColor3 = Color3.fromRGB(90,90,90) slashButton.TextColor3 = Color3.fromRGB(255,255,255) slashButton.Text = "Slash Assist: On" slashButton.Parent = rightPanel -- NEW: Melee Assist toggle (no auto use; only when you click the tool) local meleeAssistEnabled = false local meleeButton = Instance.new("TextButton") meleeButton.Size = UDim2.new(0, 260, 0, 40) meleeButton.Position = UDim2.new(0, 10, 0, 255) meleeButton.BackgroundColor3 = Color3.fromRGB(90,90,90) meleeButton.TextColor3 = Color3.fromRGB(255,255,255) meleeButton.Text = "Melee Assist: Off" meleeButton.Parent = rightPanel local silentAimEnabled = false fireButton.MouseButton1Click:Connect(function() silentAimEnabled = not silentAimEnabled fireButton.Text = silentAimEnabled and "Silent Aim On" or "Silent Aim Off" end) slashButton.MouseButton1Click:Connect(function() slashAssistEnabled = not slashAssistEnabled slashButton.Text = slashAssistEnabled and "Slash Assist: On" or "Slash Assist: Off" end) meleeButton.MouseButton1Click:Connect(function() meleeAssistEnabled = not meleeAssistEnabled meleeButton.Text = meleeAssistEnabled and "Melee Assist: On" or "Melee Assist: Off" end) -- --- Universal Auto Aim --- local universalButton = Instance.new("TextButton") universalButton.Size = UDim2.new(0, 480, 0, 40) universalButton.Position = UDim2.new(0, 10, 0, -50) universalButton.BackgroundColor3 = Color3.fromRGB(100,100,100) universalButton.TextColor3 = Color3.fromRGB(255,255,255) universalButton.Text = "Universal Auto Aim: Off" universalButton.Parent = mainFrame local universalEnabled = false local universalTarget = nil universalButton.MouseButton1Click:Connect(function() universalEnabled = not universalEnabled universalButton.Text = universalEnabled and "Universal Auto Aim: On" or "Universal Auto Aim: Off" end) -- --- Helpers --- local function getNearestEnemy() local char = player.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return nil end local rootPos = char.HumanoidRootPart.Position local nearest, minDist = nil, math.huge for _, enemy in pairs(enemiesFolder:GetChildren()) do local torso = enemy:FindFirstChild("Torso") or enemy:FindFirstChild("HumanoidRootPart") if torso then local dist = (torso.Position - rootPos).Magnitude if dist <= 150 and dist < minDist then nearest = enemy minDist = dist end end end return nearest end -- --- Melee Tool Handling (only if toggle is ON and you click the tool) --- local function meleeHit(tool) if not meleeAssistEnabled then return end local remote = tool:FindFirstChild("lo") if not remote then return end local target = getNearestEnemy() if target then remote:FireServer(player) -- keep original arg style from your game end end -- --- Slash TouchInterest Handling (robust; works with parts or a Slash folder) --- local function handleSlashTouch() if not slashAssistEnabled then return end local active = workspace:FindFirstChild("ActiveAttacks") if not active then return end local target = selectedEnemy or getNearestEnemy() if not target then return end local torso = target:FindFirstChild("Torso") or target:FindFirstChild("HumanoidRootPart") if not torso then return end -- Handle both: a Folder named "Slash" or parts named "Slash" for _, child in ipairs(active:GetChildren()) do if child:IsA("Folder") and child.Name == "Slash" then for _, slash in ipairs(child:GetChildren()) do if slash:IsA("BasePart") and slash:FindFirstChildWhichIsA("TouchTransmitter") then slash.CFrame = torso.CFrame end end elseif child:IsA("BasePart") and (child.Name == "Slash" or child.Name:lower():find("slash")) then if child:FindFirstChildWhichIsA("TouchTransmitter") then child.CFrame = torso.CFrame end end end end -- --- Bone Projectile Handling (kept fixed) --- local function fireBone(tool) if not selectedEnemy then return end local head = selectedEnemy:FindFirstChild("Head") if not head then return end local remote = tool:FindFirstChild("RemoteEvent") if not remote then return end local pos = head.Position local cf = CFrame.new(pos) local args = { pos.X, pos.Y, pos.Z, Vector3.new(pos.X, pos.Y, pos.Z), cf } remote:FireServer(unpack(args)) end -- --- Tool Activation --- local function onToolActivated(tool) if tool:FindFirstChild("lo") then meleeHit(tool) -- only if meleeAssistEnabled return end if tool:FindFirstChild("RemoteEvent") and tool.Name:lower():find("bone") then fireBone(tool) return end if not silentAimEnabled or not selectedEnemy then return end local head = selectedEnemy:FindFirstChild("Head") if not head then return end local prediction = tonumber(predictionSlider.Text) or 0.1 local vel = head.Velocity or Vector3.new() local predPos = head.Position + vel * prediction local remote = tool:FindFirstChildWhichIsA("RemoteEvent") if remote then remote:FireServer(CFrame.new(predPos), predPos.Y, predPos.Z) return end local scriptFolder = tool:FindFirstChild("Script") if scriptFolder then local frameEvent = scriptFolder:FindFirstChild("FrameEvent") if frameEvent and frameEvent:IsA("RemoteEvent") then frameEvent:FireServer(predPos.X, predPos.Y, predPos.Z) end end end local function connectTool(tool) if tool:IsA("Tool") then tool.Activated:Connect(function() onToolActivated(tool) end) end end player.Character.ChildAdded:Connect(connectTool) if player.Character then for _, tool in pairs(player.Character:GetChildren()) do connectTool(tool) end end -- --- Enemy Buttons --- local function refreshEnemyButtons() local char = player.Character local rootPos = char and char:FindFirstChild("HumanoidRootPart") and char.HumanoidRootPart.Position or Vector3.new() for _, enemy in pairs(enemiesFolder:GetChildren()) do local torso = enemy:FindFirstChild("Torso") or enemy:FindFirstChild("HumanoidRootPart") if torso then local distance = (torso.Position - rootPos).Magnitude if distance <= 150 then local btn = enemyButtons[enemy] if not btn then btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -10, 0, 30) btn.BackgroundColor3 = Color3.fromRGB(70,70,70) btn.TextColor3 = Color3.fromRGB(255,255,255) btn.Text = enemy.Name.." ("..math.floor(distance).." studs)" btn.Parent = leftScroll local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0,6) corner.Parent = btn btn.MouseButton1Click:Connect(function() selectedEnemy = enemy silentTitle.Text = "Silent Aim: "..enemy.Name rightPanel.Visible = true end) enemyButtons[enemy] = btn else btn.Text = enemy.Name.." ("..math.floor(distance).." studs)" end else if enemyButtons[enemy] then enemyButtons[enemy]:Destroy() enemyButtons[enemy] = nil end end end end leftScroll.CanvasSize = UDim2.new(0,0,0,leftLayout.AbsoluteContentSize.Y) end local function updateEnemyHighlight() for enemy, btn in pairs(enemyButtons) do if enemy == selectedEnemy or enemy == universalTarget then btn.BackgroundColor3 = Color3.fromRGB(255,0,0) else btn.BackgroundColor3 = Color3.fromRGB(70,70,70) end end end -- --- Run Updates --- RunService.RenderStepped:Connect(function() refreshEnemyButtons() updateEnemyHighlight() if universalEnabled then universalTarget = getNearestEnemy() selectedEnemy = universalTarget end handleSlashTouch() end)