
Key Required

-- When the player right-clicks, the script will automatically fire continuously.
-- When the player left-clicks, the script will fire a single bullet. If the player were to regularly hold the left click to allow the gun to go full auto, the silent aim would not go into full effect.
-- Due to the way I manipulate the camera, it is necessary to implement the shooting mechanics in this specific manner.
-- WORKS ON ALL EXECUTORS
print("works")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local localPlayer = Players.LocalPlayer
local camera = workspace.CurrentCamera
local targetPlayer = nil
local ClickInterval = 0.10
local isLeftMouseDown = false
local isRightMouseDown = false
local autoClickConnection = nil
local function isLobbyVisible()
return localPlayer.PlayerGui.MainGui.MainFrame.Lobby.Currency.Visible == true
end
local function getClosestPlayerToMouse()
local closestPlayer = nil
local shortestDistance = math.huge
local mousePosition = UserInputService:GetMouseLocation()
for _, player in ipairs(Players:GetPlayers()) do
if player ~= localPlayer and player.Character and player.Character:FindFirstChild("Head") then
local head = player.Character.Head
local headPosition, onScreen = camera:WorldToViewportPoint(head.Position)
if onScreen then
local screenPosition = Vector2.new(headPosition.X, headPosition.Y)
local distance = (screenPosition - mousePosition).Magnitude
if distance < shortestDistance then
closestPlayer = player
shortestDistance = distance
end
end
end
end
return closestPlayer
end
local function lockCameraToHead()
if targetPlayer and targetPlayer.Character and targetPlayer.Character:FindFirstChild("Head") then
local head = targetPlayer.Character.Head
local headPosition = camera:WorldToViewportPoint(head.Position)
if headPosition.Z > 0 then
local cameraPosition = camera.CFrame.Position
local direction = (head.Position - cameraPosition).Unit
camera.CFrame = CFrame.new(cameraPosition, head.Position)
end
end
end
local function autoClick()
if autoClickConnection then
autoClickConnection:Disconnect()
end
autoClickConnection = RunService.Heartbeat:Connect(function()
if isLeftMouseDown or isRightMouseDown then
if not isLobbyVisible() then
mouse1click()
end
else
autoClickConnection:Disconnect()
end
end)
end
UserInputService.InputBegan:Connect(function(input, isProcessed)
if input.UserInputType == Enum.UserInputType.MouseButton1 and not isProcessed then
if not isLeftMouseDown then
isLeftMouseDown = true
autoClick()
end
elseif input.UserInputType == Enum.UserInputType.MouseButton2 and not isProcessed then
if not isRightMouseDown then
isRightMouseDown = true
autoClick()
end
end
end)
UserInputService.InputEnded:Connect(function(input, isProcessed)
if input.UserInputType == Enum.UserInputType.MouseButton1 and not isProcessed then
isLeftMouseDown = false
elseif input.UserInputType == Enum.UserInputType.MouseButton2 and not isProcessed then
isRightMouseDown = false
end
end)
RunService.Heartbeat:Connect(function()
if not isLobbyVisible() then
targetPlayer = getClosestPlayerToMouse()
if targetPlayer then
lockCameraToHead()
end
end
end)



mid + Its Break Movement