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, 340) -- taller for slider 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 -- Universal Auto Aim button at top local universalButton = Instance.new("TextButton") universalButton.Size = UDim2.new(0, 480, 0, 40) universalButton.Position = UDim2.new(0, 10, 0, 10) universalButton.BackgroundColor3 = Color3.fromRGB(70,70,70) universalButton.TextColor3 = Color3.fromRGB(255,255,255) universalButton.Text = "Universal Auto Aim Off" universalButton.Parent = mainFrame local universalAutoAim = false universalButton.MouseButton1Click:Connect(function() universalAutoAim = not universalAutoAim universalButton.Text = universalAutoAim and "Universal Auto Aim On" or "Universal Auto Aim Off" end) -- Left panel for enemy buttons local leftPanel = Instance.new("Frame") leftPanel.Size = UDim2.new(0, 200, 1, -60) leftPanel.Position = UDim2.new(0, 10, 0, 60) 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 for Silent Aim and Prediction local rightPanel = Instance.new("Frame") rightPanel.Size = UDim2.new(0, 280, 1, -60) rightPanel.Position = UDim2.new(0, 210, 0, 60) 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 -- Silent Aim Label 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 -- Silent Aim toggle local fireButton = Instance.new("TextButton") fireButton.Size = UDim2.new(0, 260, 0, 50) fireButton.Position = UDim2.new(0, 10, 0, 60) fireButton.BackgroundColor3 = Color3.fromRGB(90,90,90) fireButton.TextColor3 = Color3.fromRGB(255,255,255) fireButton.Text = "Silent Aim Off" fireButton.Parent = rightPanel local silentAimEnabled = false fireButton.MouseButton1Click:Connect(function() silentAimEnabled = not silentAimEnabled fireButton.Text = silentAimEnabled and "Silent Aim On" or "Silent Aim Off" end) -- Prediction Slider Label local predLabel = Instance.new("TextLabel") predLabel.Size = UDim2.new(1, -20, 0, 30) predLabel.Position = UDim2.new(0, 10, 0, 120) predLabel.BackgroundTransparency = 1 predLabel.TextColor3 = Color3.fromRGB(255,255,255) predLabel.Font = Enum.Font.SourceSans predLabel.TextScaled = true predLabel.Text = "Prediction: 0.5" predLabel.Parent = rightPanel -- Prediction Slider local predSlider = Instance.new("TextButton") predSlider.Size = UDim2.new(0, 260, 0, 20) predSlider.Position = UDim2.new(0, 10, 0, 155) predSlider.BackgroundColor3 = Color3.fromRGB(120,120,120) predSlider.Text = "" predSlider.Parent = rightPanel local predictionValue = 0.5 local dragging = false predSlider.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true end end) predSlider.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) predSlider.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local mouseX = input.Position.X - predSlider.AbsolutePosition.X predictionValue = math.clamp(mouseX / predSlider.AbsoluteSize.X, 0.1, 1) predLabel.Text = string.format("Prediction: %.2f", predictionValue) end end) -- Fire tool at selected enemy local function onToolActivated(tool) if not silentAimEnabled then return end if not selectedEnemy then return end -- RemoteEvent targeting Head local remote = tool:FindFirstChildWhichIsA("RemoteEvent") if remote then local head = selectedEnemy:FindFirstChild("Head") if head then remote:FireServer(head.CFrame, head.Position.Y, head.Position.Z) end end -- FrameEvent targeting Torso with prediction local scriptFolder = tool:FindFirstChild("Script") if scriptFolder then local frameEvent = scriptFolder:FindFirstChild("FrameEvent") if frameEvent and frameEvent:IsA("RemoteEvent") then local torso = selectedEnemy:FindFirstChild("Torso") or selectedEnemy:FindFirstChild("UpperTorso") if torso then local predictedPos = torso.Position + (torso.Velocity or Vector3.new()) * predictionValue frameEvent:FireServer(predictedPos.X, predictedPos.Y, predictedPos.Z) end end end end -- Connect tool activation dynamically local function connectTool(tool) if tool:IsA("Tool") then tool.Activated:Connect(function() onToolActivated(tool) end) end end -- Detect equipped tools player.Character.ChildAdded:Connect(function(child) connectTool(child) end) -- Connect currently held tools at start if player.Character then for _, tool in pairs(player.Character:GetChildren()) do connectTool(tool) end end -- Refresh enemy buttons local function refreshEnemyButtons() local char = player.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end local rootPos = char.HumanoidRootPart.Position local nearestEnemy = nil local minDist = math.huge for _, enemy in pairs(enemiesFolder:GetChildren()) do local head = enemy:FindFirstChild("Head") if head then local distance = (head.Position - rootPos).Magnitude if distance <= 150 then if distance < minDist then nearestEnemy = enemy minDist = distance end 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.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 end btn.Text = enemy.Name.." ("..math.floor(distance).." studs)" else if enemyButtons[enemy] then enemyButtons[enemy]:Destroy() enemyButtons[enemy] = nil end end end end -- Universal Auto Aim sets nearest enemy if universalAutoAim and nearestEnemy then selectedEnemy = nearestEnemy rightPanel.Visible = true end -- Remove buttons for destroyed enemies for e, btn in pairs(enemyButtons) do if not e.Parent then btn:Destroy() enemyButtons[e] = nil end end leftScroll.CanvasSize = UDim2.new(0,0,0,leftLayout.AbsoluteContentSize.Y) end -- Highlight selected enemy button local function updateEnemyHighlight() for enemy, btn in pairs(enemyButtons) do if enemy == selectedEnemy then btn.BackgroundColor3 = Color3.fromRGB(255,0,0) else btn.BackgroundColor3 = Color3.fromRGB(70,70,70) end end end -- Run updates every frame RunService.RenderStepped:Connect(function() refreshEnemyButtons() updateEnemyHighlight() end)