Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local RunService = game:GetService("RunService")
- local LocalPlayer = Players.LocalPlayer
- local Camera = workspace.CurrentCamera
- -- Configuration
- local aimbotEnabled = false
- local currentTarget = nil
- local fovRadius = 100 -- FOV circle radius in pixels
- local fovVisible = true -- Show FOV circle
- local lockToPivot = true -- Lock to model's pivot instead of Head
- -- Create GUI
- local gui = Instance.new("ScreenGui", LocalPlayer:WaitForChild("PlayerGui"))
- gui.Name = "Aimbot by Marky"
- gui.ResetOnSpawn = false
- -- Main Frame
- local mainFrame = Instance.new("Frame")
- mainFrame.Name = "MainFrame"
- mainFrame.Size = UDim2.new(0, 200, 0, 180)
- mainFrame.Position = UDim2.new(0.02, 0, 0.3, 0)
- mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
- mainFrame.BackgroundTransparency = 0.3
- mainFrame.Parent = gui
- local mainCorner = Instance.new("UICorner")
- mainCorner.CornerRadius = UDim.new(0, 8)
- mainCorner.Parent = mainFrame
- -- Title
- local title = Instance.new("TextLabel")
- title.Name = "Title"
- title.Text = "Aimbot"
- title.Size = UDim2.new(1, 0, 0, 30)
- title.Position = UDim2.new(0, 0, 0, 0)
- title.BackgroundTransparency = 1
- title.TextColor3 = Color3.fromRGB(255, 255, 255)
- title.Font = Enum.Font.GothamBold
- title.TextScaled = true
- title.Parent = mainFrame
- -- Aimbot Toggle
- local aimbotToggle = Instance.new("TextButton")
- aimbotToggle.Name = "AimbotToggle"
- aimbotToggle.Text = "Aimbot: OFF"
- aimbotToggle.Size = UDim2.new(0.9, 0, 0, 30)
- aimbotToggle.Position = UDim2.new(0.05, 0, 0.2, 0)
- aimbotToggle.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
- aimbotToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
- aimbotToggle.Font = Enum.Font.Gotham
- aimbotToggle.TextScaled = true
- aimbotToggle.Parent = mainFrame
- local toggleCorner = Instance.new("UICorner")
- toggleCorner.CornerRadius = UDim.new(0, 6)
- toggleCorner.Parent = aimbotToggle
- -- Pivot Lock Toggle
- local pivotToggle = Instance.new("TextButton")
- pivotToggle.Name = "Toggle"
- pivotToggle.Text = "Lock: ON"
- pivotToggle.Size = UDim2.new(0.9, 0, 0, 30)
- pivotToggle.Position = UDim2.new(0.05, 0, 0.4, 0)
- pivotToggle.BackgroundColor3 = Color3.fromRGB(50, 150, 255)
- pivotToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
- pivotToggle.Font = Enum.Font.Gotham
- pivotToggle.TextScaled = true
- pivotToggle.Parent = mainFrame
- local pivotCorner = Instance.new("UICorner")
- pivotCorner.CornerRadius = UDim.new(0, 6)
- pivotCorner.Parent = pivotToggle
- -- FOV Toggle
- local fovToggle = Instance.new("TextButton")
- fovToggle.Name = "FOVToggle"
- fovToggle.Text = "Show FOV: ON"
- fovToggle.Size = UDim2.new(0.9, 0, 0, 30)
- fovToggle.Position = UDim2.new(0.05, 0, 0.6, 0)
- fovToggle.BackgroundColor3 = Color3.fromRGB(50, 255, 150)
- fovToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
- fovToggle.Font = Enum.Font.Gotham
- fovToggle.TextScaled = true
- fovToggle.Parent = mainFrame
- local fovCorner = Instance.new("UICorner")
- fovCorner.CornerRadius = UDim.new(0, 6)
- fovCorner.Parent = fovToggle
- -- FOV Slider
- local fovSlider = Instance.new("TextLabel")
- fovSlider.Name = "FOVSliderLabel"
- fovSlider.Text = "FOV Size: "..fovRadius
- fovSlider.Size = UDim2.new(0.9, 0, 0, 20)
- fovSlider.Position = UDim2.new(0.05, 0, 0.8, 0)
- fovSlider.BackgroundTransparency = 1
- fovSlider.TextColor3 = Color3.fromRGB(255, 255, 255)
- fovSlider.Font = Enum.Font.Gotham
- fovSlider.TextScaled = true
- fovSlider.Parent = mainFrame
- local sliderFrame = Instance.new("Frame")
- sliderFrame.Name = "SliderFrame"
- sliderFrame.Size = UDim2.new(0.9, 0, 0, 10)
- sliderFrame.Position = UDim2.new(0.05, 0, 0.9, 0)
- sliderFrame.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
- sliderFrame.Parent = mainFrame
- local sliderCorner = Instance.new("UICorner")
- sliderCorner.CornerRadius = UDim.new(0, 4)
- sliderCorner.Parent = sliderFrame
- local sliderFill = Instance.new("Frame")
- sliderFill.Name = "SliderFill"
- sliderFill.Size = UDim2.new((fovRadius-20)/280, 0, 1, 0)
- sliderFill.Position = UDim2.new(0, 0, 0, 0)
- sliderFill.BackgroundColor3 = Color3.fromRGB(0, 150, 255)
- sliderFill.Parent = sliderFrame
- local sliderCorner2 = Instance.new("UICorner")
- sliderCorner2.CornerRadius = UDim.new(0, 4)
- sliderCorner2.Parent = sliderFill
- local sliderButton = Instance.new("TextButton")
- sliderButton.Name = "SliderButton"
- sliderButton.Text = ""
- sliderButton.Size = UDim2.new(0, 20, 2, 0)
- sliderButton.Position = UDim2.new((fovRadius-20)/280, -10, 0.5, 0)
- sliderButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
- sliderButton.Parent = sliderFrame
- local sliderBtnCorner = Instance.new("UICorner")
- sliderBtnCorner.CornerRadius = UDim.new(0, 4)
- sliderBtnCorner.Parent = sliderButton
- -- FOV Circle
- local fovCircle = Instance.new("Frame")
- fovCircle.Name = "FOVCircle"
- fovCircle.Size = UDim2.new(0, fovRadius*2, 0, fovRadius*2)
- fovCircle.Position = UDim2.new(0.5, -fovRadius, 0.5, -fovRadius)
- fovCircle.BackgroundTransparency = 0.9
- fovCircle.BackgroundColor3 = Color3.fromRGB(0, 150, 255)
- fovCircle.BorderSizePixel = 0
- fovCircle.Visible = fovVisible
- fovCircle.Parent = gui
- local circleCorner = Instance.new("UICorner")
- circleCorner.CornerRadius = UDim.new(1, 0)
- circleCorner.Parent = fovCircle
- -- GUI Interactions
- local dragging = false
- local dragStartPos = Vector2.new(0, 0)
- local frameStartPos = Vector2.new(0, 0)
- mainFrame.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 then
- dragging = true
- dragStartPos = Vector2.new(input.Position.X, input.Position.Y)
- frameStartPos = Vector2.new(mainFrame.AbsolutePosition.X, mainFrame.AbsolutePosition.Y)
- end
- end)
- mainFrame.InputEnded:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 then
- dragging = false
- end
- end)
- game:GetService("UserInputService").InputChanged:Connect(function(input)
- if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
- local delta = Vector2.new(input.Position.X, input.Position.Y) - dragStartPos
- mainFrame.Position = UDim2.new(0, frameStartPos.X + delta.X, 0, frameStartPos.Y + delta.Y)
- end
- end)
- -- Slider functionality
- sliderButton.MouseButton1Down:Connect(function()
- local connection
- connection = game:GetService("UserInputService").InputChanged:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseMovement then
- local xPos = math.clamp(input.Position.X - sliderFrame.AbsolutePosition.X, 0, sliderFrame.AbsoluteSize.X)
- local ratio = xPos / sliderFrame.AbsoluteSize.X
- fovRadius = math.floor(20 + ratio * 280) -- Range from 20 to 300
- fovSlider.Text = "FOV Size: "..fovRadius
- sliderFill.Size = UDim2.new(ratio, 0, 1, 0)
- sliderButton.Position = UDim2.new(ratio, -10, 0.5, 0)
- fovCircle.Size = UDim2.new(0, fovRadius*2, 0, fovRadius*2)
- fovCircle.Position = UDim2.new(0.5, -fovRadius, 0.5, -fovRadius)
- end
- end)
- game:GetService("UserInputService").InputEnded:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 then
- connection:Disconnect()
- end
- end)
- end)
- -- Toggle buttons
- aimbotToggle.MouseButton1Click:Connect(function()
- aimbotEnabled = not aimbotEnabled
- aimbotToggle.Text = "Aimbot: "..(aimbotEnabled and "ON" or "OFF")
- aimbotToggle.BackgroundColor3 = aimbotEnabled and Color3.fromRGB(50, 255, 50) or Color3.fromRGB(255, 50, 50)
- if not aimbotEnabled then currentTarget = nil end
- end)
- pivotToggle.MouseButton1Click:Connect(function()
- lockToPivot = not lockToPivot
- pivotToggle.Text = "Pivot Lock: "..(lockToPivot and "ON" or "OFF")
- pivotToggle.BackgroundColor3 = lockToPivot and Color3.fromRGB(50, 150, 255) or Color3.fromRGB(150, 150, 150)
- end)
- fovToggle.MouseButton1Click:Connect(function()
- fovVisible = not fovVisible
- fovToggle.Text = "Show FOV: "..(fovVisible and "ON" or "OFF")
- fovToggle.BackgroundColor3 = fovVisible and Color3.fromRGB(50, 255, 150) or Color3.fromRGB(150, 150, 150)
- fovCircle.Visible = fovVisible
- end)
- -- Get the actual pivot point of a model
- local function getModelPivot(model)
- if model:IsA("BasePart") then
- return model.CFrame
- elseif model:IsA("Model") then
- local primaryPart = model.PrimaryPart or model:FindFirstChild("HumanoidRootPart") or model:FindFirstChildWhichIsA("BasePart")
- if primaryPart then
- return primaryPart.CFrame
- end
- end
- return nil
- end
- -- Aimbot logic
- RunService.RenderStepped:Connect(function()
- fovCircle.Visible = fovVisible and aimbotEnabled
- if not aimbotEnabled then return end
- -- If current target is invalid, find a new one
- if currentTarget == nil or not currentTarget:IsDescendantOf(workspace) then
- local closestAngle = math.rad(fovRadius/2) -- Start with FOV angle
- local target = nil
- local beakwoods = workspace:FindFirstChild("Regions")
- if beakwoods then
- beakwoods = beakwoods:FindFirstChild("Beakwoods")
- if beakwoods then
- local clientBirds = beakwoods:FindFirstChild("ClientBirds")
- if clientBirds then
- for _, bird in ipairs(clientBirds:GetChildren()) do
- if bird:IsA("Model") then
- local pivot = getModelPivot(bird)
- if pivot then
- local screenPoint, onScreen = Camera:WorldToViewportPoint(pivot.Position)
- if onScreen then
- -- Calculate if within FOV circle
- local center = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
- local point = Vector2.new(screenPoint.X, screenPoint.Y)
- local distance = (point - center).Magnitude
- if distance <= fovRadius then
- -- Calculate angle from camera look vector
- local cameraLook = Camera.CFrame.LookVector
- local toTarget = (pivot.Position - Camera.CFrame.Position).Unit
- local angle = math.acos(cameraLook:Dot(toTarget))
- if angle < closestAngle then
- closestAngle = angle
- target = lockToPivot and bird or (bird:FindFirstChild("Head") or bird)
- end
- end
- end
- end
- end
- end
- end
- end
- end
- currentTarget = target
- end
- if currentTarget then
- local targetPosition
- if lockToPivot then
- local pivot = getModelPivot(currentTarget)
- targetPosition = pivot and pivot.Position or currentTarget.Position
- else
- targetPosition = currentTarget:IsA("BasePart") and currentTarget.Position or
- (currentTarget:FindFirstChild("Head") and currentTarget.Head.Position or currentTarget:GetPivot().Position)
- end
- if targetPosition then
- Camera.CFrame = CFrame.new(Camera.CFrame.Position, targetPosition)
- end
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement