
KeylessUniversal

-- Variables
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local lockOnRange = 50 -- Range within which the aimbot can lock onto a player
local camera = workspace.CurrentCamera
local isLockedOn = false -- Tracks whether the aimbot is currently locked on
-- ESP Variables
local espEnabled = true -- Toggle ESP on/off
local espColor = Color3.new(1, 0, 0) -- Red color for ESP
local espThickness = 1 -- Thickness of ESP lines
local espTransparency = 0.5 -- Transparency of ESP lines
local espFontSize = 14 -- Font size for player names
local espFont = Drawing.Fonts.UI -- Font for player names
-- Shoot Through Walls Variables
local shootThroughWallsEnabled = true -- Toggle shoot through walls on/off
local raycastParams = RaycastParams.new()
raycastParams.FilterType = Enum.RaycastFilterType.Blacklist
raycastParams.FilterDescendantsInstances = {player.Character} -- Ignore the player's own character
-- Invisibility Variables
local isInvisible = false -- Tracks whether the player is invisible
-- Fly Variables
local isFlying = false -- Tracks whether the player is flying
local flySpeed = 50 -- Speed of flying
local bodyVelocity -- BodyVelocity instance for flying
local userInputService = game:GetService("UserInputService") -- For detecting key presses
-- NoClip Variables
local isNoClip = false -- Tracks whether NoClip is enabled
local noClipConnection -- Connection for NoClip loop
-- God Mode Variables
local isGodMode = false -- Tracks whether God Mode is enabled
-- Store ESP drawings for each player
local espDrawings = {}
-- Create GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = player.PlayerGui
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 250, 0, 600) -- Increased height to accommodate the ScrollingFrame
frame.Position = UDim2.new(0, 10, 0, 10)
frame.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1)
frame.BackgroundTransparency = 0.2
frame.BorderSizePixel = 0
frame.Active = true -- Allow frame to be draggable
frame.Draggable = true -- Make frame draggable
frame.Parent = screenGui
-- Add header
local header = Instance.new("Frame")
header.Size = UDim2.new(1, 0, 0, 30)
header.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
header.BorderSizePixel = 0
header.Parent = frame
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -20, 1, 0)
title.Position = UDim2.new(0, 10, 0, 0)
title.Text = "Aimbot Arena"
title.TextColor3 = Color3.new(1, 1, 1)
title.BackgroundTransparency = 1
title.TextXAlignment = Enum.TextXAlignment.Left
title.Font = Enum.Font.SourceSansBold
title.TextSize = 18
title.Parent = header
local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 20, 0, 20)
closeButton.Position = UDim2.new(1, -25, 0.5, -10)
closeButton.Text = "X"
closeButton.TextColor3 = Color3.new(1, 1, 1)
closeButton.BackgroundColor3 = Color3.new(0.5, 0, 0)
closeButton.BorderSizePixel = 0
closeButton.Font = Enum.Font.SourceSansBold
closeButton.TextSize = 14
closeButton.Parent = header
-- Close button functionality
closeButton.MouseButton1Click:Connect(function()
screenGui:Destroy() -- Hide the GUI
end)
-- Create ScrollingFrame
local scrollingFrame = Instance.new("ScrollingFrame")
scrollingFrame.Size = UDim2.new(1, -10, 1, -40) -- Leave space for header and padding
scrollingFrame.Position = UDim2.new(0, 5, 0, 35)
scrollingFrame.BackgroundTransparency = 1
scrollingFrame.ScrollBarThickness = 5
scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 1000) -- Adjust based on content
scrollingFrame.Parent = frame
-- Function to create a section header
local function createSectionHeader(text, position, parent)
local header = Instance.new("TextLabel")
header.Size = UDim2.new(0, 230, 0, 20)
header.Position = position
header.Text = text
header.TextColor3 = Color3.new(1, 1, 1)
header.BackgroundTransparency = 1
header.TextXAlignment = Enum.TextXAlignment.Left
header.Font = Enum.Font.SourceSansBold
header.TextSize = 16
header.Parent = parent
return header
end
-- Function to create a toggle button
local function createToggleButton(text, position, parent)
local toggleButton = Instance.new("TextButton")
toggleButton.Size = UDim2.new(0, 230, 0, 40)
toggleButton.Position = position
toggleButton.Text = text
toggleButton.BackgroundColor3 = Color3.new(0.3, 0.3, 0.3)
toggleButton.TextColor3 = Color3.new(1, 1, 1)
toggleButton.Font = Enum.Font.SourceSansBold
toggleButton.TextSize = 14
toggleButton.BorderSizePixel = 0
toggleButton.Parent = parent
return toggleButton
end
-- Function to create a textbox with label
local function createTextBox(labelText, placeholderText, position, parent)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0, 230, 0, 20)
label.Position = position
label.Text = labelText
label.TextColor3 = Color3.new(1, 1, 1)
label.BackgroundTransparency = 1
label.TextXAlignment = Enum.TextXAlignment.Left
label.Font = Enum.Font.SourceSans
label.TextSize = 14
label.Parent = parent
local textBox = Instance.new("TextBox")
textBox.Size = UDim2.new(0, 230, 0, 30)
textBox.Position = UDim2.new(0, 0, 0, 20)
textBox.PlaceholderText = placeholderText
textBox.BackgroundColor3 = Color3.new(0.3, 0.3, 0.3)
textBox.TextColor3 = Color3.new(1, 1, 1)
textBox.Font = Enum.Font.SourceSans
textBox.TextSize = 14
textBox.Parent = label
return textBox
end
-- Section: Visuals
local visualsHeader = createSectionHeader("Visuals", UDim2.new(0, 0, 0, 10), scrollingFrame)
-- Add ESP Toggle
local espToggle = createToggleButton("ESP: ON", UDim2.new(0, 0, 0, 40), scrollingFrame)
-- Add Wall Hacks Toggle
local wallhackToggle = createToggleButton("Wall Hacks: ON", UDim2.new(0, 0, 0, 90), scrollingFrame)
-- Add Invisibility Toggle
local invisibilityToggle = createToggleButton("Invisibility: OFF", UDim2.new(0, 0, 0, 140), scrollingFrame)
-- Section: Movement
local movementHeader = createSectionHeader("Movement", UDim2.new(0, 0, 0, 190), scrollingFrame)
-- Add Fly Toggle
local flyToggle = createToggleButton("Fly: OFF", UDim2.new(0, 0, 0, 220), scrollingFrame)
-- Add NoClip Toggle
local noClipToggle = createToggleButton("NoClip: OFF", UDim2.new(0, 0, 0, 270), scrollingFrame)
-- Add WalkSpeed TextBox
local walkSpeedBox = createTextBox("WalkSpeed:", "Enter WalkSpeed", UDim2.new(0, 0, 0, 320), scrollingFrame)
-- Add JumpPower TextBox
local jumpPowerBox = createTextBox("JumpPower:", "Enter JumpPower", UDim2.new(0, 0, 0, 380), scrollingFrame)
-- Section: Player Mods
local playerModsHeader = createSectionHeader("Player Mods", UDim2.new(0, 0, 0, 430), scrollingFrame)
-- Add God Mode Toggle
local godModeToggle = createToggleButton("God Mode: OFF", UDim2.new(0, 0, 0, 460), scrollingFrame)
-- Add Health TextBox
local healthBox = createTextBox("Health:", "Enter Health", UDim2.new(0, 0, 0, 510), scrollingFrame)
-- Section: Player Actions
local playerActionsHeader = createSectionHeader("Player Actions", UDim2.new(0, 0, 0, 560), scrollingFrame)
-- Add Teleport Dropdown
local teleportLabel = Instance.new("TextLabel")
teleportLabel.Size = UDim2.new(0, 230, 0, 20)
teleportLabel.Position = UDim2.new(0, 0, 0, 590)
teleportLabel.Text = "Teleport to Player:"
teleportLabel.TextColor3 = Color3.new(1, 1, 1)
teleportLabel.BackgroundTransparency = 1
teleportLabel.TextXAlignment = Enum.TextXAlignment.Left
teleportLabel.Font = Enum.Font.SourceSans
teleportLabel.TextSize = 14
teleportLabel.Parent = scrollingFrame
local teleportDropdown = Instance.new("TextButton")
teleportDropdown.Size = UDim2.new(0, 230, 0, 30)
teleportDropdown.Position = UDim2.new(0, 0, 0, 610)
teleportDropdown.Text = "Select Player"
teleportDropdown.BackgroundColor3 = Color3.new(0.3, 0.3, 0.3)
teleportDropdown.TextColor3 = Color3.new(1, 1, 1)
teleportDropdown.Font = Enum.Font.SourceSans
teleportDropdown.TextSize = 14
teleportDropdown.Parent = scrollingFrame
-- Add Kill Player Dropdown
local killPlayerLabel = Instance.new("TextLabel")
killPlayerLabel.Size = UDim2.new(0, 230, 0, 20)
killPlayerLabel.Position = UDim2.new(0, 0, 0, 650)
killPlayerLabel.Text = "Kill Player:"
killPlayerLabel.TextColor3 = Color3.new(1, 1, 1)
killPlayerLabel.BackgroundTransparency = 1
killPlayerLabel.TextXAlignment = Enum.TextXAlignment.Left
killPlayerLabel.Font = Enum.Font.SourceSans
killPlayerLabel.TextSize = 14
killPlayerLabel.Parent = scrollingFrame
local killPlayerDropdown = Instance.new("TextButton")
killPlayerDropdown.Size = UDim2.new(0, 230, 0, 30)
killPlayerDropdown.Position = UDim2.new(0, 0, 0, 670)
killPlayerDropdown.Text = "Select Player"
killPlayerDropdown.BackgroundColor3 = Color3.new(0.3, 0.3, 0.3)
killPlayerDropdown.TextColor3 = Color3.new(1, 1, 1)
killPlayerDropdown.Font = Enum.Font.SourceSans
killPlayerDropdown.TextSize = 14
killPlayerDropdown.Parent = scrollingFrame
-- Add Respawn Button
local respawnButton = createToggleButton("Respawn", UDim2.new(0, 0, 0, 710), scrollingFrame)
-- Section: Aimbot
local aimbotHeader = createSectionHeader("Aimbot", UDim2.new(0, 0, 0, 760), scrollingFrame)
-- Add Aimbot Toggle
local aimbotToggle = createToggleButton("Aimbot: ON", UDim2.new(0, 0, 0, 790), scrollingFrame)
-- Function to toggle ESP
espToggle.MouseButton1Click:Connect(function()
espEnabled = not espEnabled
espToggle.Text = "ESP: " .. (espEnabled and "ON" or "OFF")
if espEnabled then
-- Recreate ESP for all players
for _, otherPlayer in pairs(game.Players:GetPlayers()) do
if otherPlayer ~= player then
createESP(otherPlayer)
end
end
else
-- Clear all ESP drawings
for _, drawings in pairs(espDrawings) do
for _, drawing in pairs(drawings) do
drawing:Remove()
end
end
espDrawings = {}
end
end)
-- Function to toggle Aimbot
aimbotToggle.MouseButton1Click:Connect(function()
isLockedOn = not isLockedOn
aimbotToggle.Text = "Aimbot: " .. (isLockedOn and "ON" or "OFF")
end)
-- Function to toggle Wall Hacks
wallhackToggle.MouseButton1Click:Connect(function()
shootThroughWallsEnabled = not shootThroughWallsEnabled
wallhackToggle.Text = "Wall Hacks: " .. (shootThroughWallsEnabled and "ON" or "OFF")
end)
-- Function to toggle Invisibility
invisibilityToggle.MouseButton1Click:Connect(function()
isInvisible = not isInvisible
invisibilityToggle.Text = "Invisibility: " .. (isInvisible and "ON" or "OFF")
if player.Character then
for _, part in pairs(player.Character:GetDescendants()) do
if part:IsA("BasePart") then
part.Transparency = isInvisible and 1 or 0
part.CastShadow = not isInvisible
end
end
end
end)
-- Function to toggle Fly
flyToggle.MouseButton1Click:Connect(function()
isFlying = not isFlying
flyToggle.Text = "Fly: " .. (isFlying and "ON" or "OFF")
if isFlying then
-- Enable flying
if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.Velocity = Vector3.new(0, 0, 0)
bodyVelocity.MaxForce = Vector3.new(0, 0, 0) -- Temporarily disable force
bodyVelocity.Parent = player.Character.HumanoidRootPart
end
else
-- Disable flying
if bodyVelocity then
bodyVelocity:Destroy()
bodyVelocity = nil
end
end
end)
-- Function to toggle NoClip
noClipToggle.MouseButton1Click:Connect(function()
isNoClip = not isNoClip
noClipToggle.Text = "NoClip: " .. (isNoClip and "ON" or "OFF")
if isNoClip then
-- Enable NoClip
if player.Character then
for _, part in pairs(player.Character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
noClipConnection = game:GetService("RunService").Stepped:Connect(function()
if player.Character then
for _, part in pairs(player.Character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end)
end
else
-- Disable NoClip
if noClipConnection then
noClipConnection:Disconnect()
noClipConnection = nil
end
if player.Character then
for _, part in pairs(player.Character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = true
end
end
end
end
end)
-- Function to toggle God Mode
godModeToggle.MouseButton1Click:Connect(function()
isGodMode = not isGodMode
godModeToggle.Text = "God Mode: " .. (isGodMode and "ON" or "OFF")
if player.Character and player.Character:FindFirstChild("Humanoid") then
player.Character.Humanoid.MaxHealth = isGodMode and math.huge or 100
player.Character.Humanoid.Health = isGodMode and math.huge or 100
end
end)
-- Function to update WalkSpeed
walkSpeedBox.FocusLost:Connect(function()
local walkSpeedValue = tonumber(walkSpeedBox.Text)
if walkSpeedValue and player.Character and player.Character:FindFirstChild("Humanoid") then
player.Character.Humanoid.WalkSpeed = walkSpeedValue
else
walkSpeedBox.Text = "" -- Clear invalid input
end
end)
-- Function to update JumpPower
jumpPowerBox.FocusLost:Connect(function()
local jumpPowerValue = tonumber(jumpPowerBox.Text)
if jumpPowerValue and player.Character and player.Character:FindFirstChild("Humanoid") then
player.Character.Humanoid.JumpPower = jumpPowerValue
else
jumpPowerBox.Text = "" -- Clear invalid input
end
end)
-- Function to update Health
healthBox.FocusLost:Connect(function()
local healthValue = tonumber(healthBox.Text)
if healthValue and player.Character and player.Character:FindFirstChild("Humanoid") then
local humanoid = player.Character.Humanoid
humanoid.MaxHealth = healthValue
humanoid.Health = healthValue
else
healthBox.Text = "" -- Clear invalid input
end
end)
-- Function to teleport to a player
teleportDropdown.MouseButton1Click:Connect(function()
local players = game.Players:GetPlayers()
local playerNames = {}
for _, otherPlayer in pairs(players) do
if otherPlayer ~= player then
table.insert(playerNames, otherPlayer.Name)
end
end
local selectedPlayer = playerNames[1] -- Default to the first player
if #playerNames > 1 then
-- Open a simple dropdown menu (you can replace this with a proper GUI dropdown)
selectedPlayer = playerNames[math.random(1, #playerNames)]
end
if selectedPlayer then
local targetPlayer = game.Players:FindFirstChild(selectedPlayer)
if targetPlayer and targetPlayer.Character and targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
player.Character:MoveTo(targetPlayer.Character.HumanoidRootPart.Position)
end
end
end)
-- Function to kill a player
killPlayerDropdown.MouseButton1Click:Connect(function()
local players = game.Players:GetPlayers()
local playerNames = {}
for _, otherPlayer in pairs(players) do
if otherPlayer ~= player then
table.insert(playerNames, otherPlayer.Name)
end
end
local selectedPlayer = playerNames[1] -- Default to the first player
if #playerNames > 1 then
-- Open a simple dropdown menu (you can replace this with a proper GUI dropdown)
selectedPlayer = playerNames[math.random(1, #playerNames)]
end
if selectedPlayer then
local targetPlayer = game.Players:FindFirstChild(selectedPlayer)
if targetPlayer and targetPlayer.Character and targetPlayer.Character:FindFirstChild("Humanoid") then
targetPlayer.Character.Humanoid.Health = 0
end
end
end)
-- Function to respawn the player
respawnButton.MouseButton1Click:Connect(function()
if player.Character then
-- Kill the player
local humanoid = player.Character:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
-- Respawn the player
player:LoadCharacter()
end)
-- Function to handle flying
local function handleFlying()
if isFlying and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
local rootPart = player.Character.HumanoidRootPart
local direction = Vector3.new(0, 0, 0)
-- Movement based on input
if userInputService:IsKeyDown(Enum.KeyCode.W) then
direction = direction + camera.CFrame.LookVector
end
if userInputService:IsKeyDown(Enum.KeyCode.S) then
direction = direction - camera.CFrame.LookVector
end
if userInputService:IsKeyDown(Enum.KeyCode.A) then
direction = direction - camera.CFrame.RightVector
end
if userInputService:IsKeyDown(Enum.KeyCode.D) then
direction = direction + camera.CFrame.RightVector
end
if userInputService:IsKeyDown(Enum.KeyCode.Space) then
direction = direction + Vector3.new(0, 1, 0)
end
if userInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
direction = direction - Vector3.new(0, 1, 0)
end
-- Normalize direction and apply speed
if direction.Magnitude > 0 then
direction = direction.Unit * flySpeed
end
-- Update BodyVelocity
if bodyVelocity then
bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge) -- Enable force
bodyVelocity.Velocity = direction
end
elseif bodyVelocity then
-- Disable force when not flying
bodyVelocity.MaxForce = Vector3.new(0, 0, 0)
end
end
-- Function to check if a player is alive
local function isPlayerAlive(playerCharacter)
local humanoid = playerCharacter:FindFirstChild("Humanoid")
return humanoid and humanoid.Health > 0
end
-- Function to find the nearest player's head based on camera view
local function findNearestPlayerHead()
local nearestPlayer = nil
local nearestAngle = math.huge -- Start with a very large angle
local playerPosition = player.Character and player.Character:FindFirstChild("Head").Position
if not playerPosition then return nil end
-- Get the camera's look vector
local cameraLookVector = camera.CFrame.LookVector
-- Loop through all players in the game
for _, otherPlayer in pairs(game.Players:GetPlayers()) do
-- Skip the local player
if otherPlayer ~= player and otherPlayer.Character then
local head = otherPlayer.Character:FindFirstChild("Head")
if head and isPlayerAlive(otherPlayer.Character) then
-- Calculate the vector from the camera to the player's head
local toHead = (head.Position - camera.CFrame.Position).Unit
-- Calculate the angle between the camera's look vector and the vector to the player's head
local angle = math.deg(math.acos(cameraLookVector:Dot(toHead)))
-- Check if this player is closer to the center of the screen
if angle < nearestAngle then
nearestPlayer = head
nearestAngle = angle
end
end
end
end
return nearestPlayer
end
-- Lock onto the nearest player's head
local function lockOntoNearestPlayer()
while isLockedOn do
local nearestHead = findNearestPlayerHead()
if nearestHead then
-- Point the camera at the nearest player's head
camera.CFrame = CFrame.lookAt(camera.CFrame.Position, nearestHead.Position)
end
wait() -- Yield to prevent freezing the game
end
end
-- Function to create ESP for a player
local function createESP(otherPlayer)
if not otherPlayer.Character then return end
-- Create ESP drawings for the player
local drawings = {}
drawings.box = Drawing.new("Quad")
drawings.box.Thickness = espThickness
drawings.box.Color = espColor
drawings.box.Transparency = espTransparency
drawings.box.Filled = false
drawings.name = Drawing.new("Text")
drawings.name.Text = otherPlayer.Name
drawings.name.Size = espFontSize
drawings.name.Color = espColor
drawings.name.Transparency = espTransparency
drawings.name.Font = espFont
drawings.faceLine = Drawing.new("Line")
drawings.faceLine.Thickness = espThickness
drawings.faceLine.Color = espColor
drawings.faceLine.Transparency = espTransparency
espDrawings[otherPlayer] = drawings
end
-- Function to update ESP for all players
local function updateESP()
if not espEnabled then return end
for otherPlayer, drawings in pairs(espDrawings) do
if otherPlayer.Character and otherPlayer.Character:FindFirstChild("Head") then
local head = otherPlayer.Character.Head
local headPosition, headVisible = camera:WorldToViewportPoint(head.Position)
if headVisible then
-- Update box position
local size = Vector2.new(50, 100) -- Adjust size as needed
drawings.box.PointA = Vector2.new(headPosition.X - size.X / 2, headPosition.Y - size.Y / 2)
drawings.box.PointB = Vector2.new(headPosition.X + size.X / 2, headPosition.Y - size.Y / 2)
drawings.box.PointC = Vector2.new(headPosition.X + size.X / 2, headPosition.Y + size.Y / 2)
drawings.box.PointD = Vector2.new(headPosition.X - size.X / 2, headPosition.Y + size.Y / 2)
drawings.box.Visible = true
-- Update nametag position
drawings.name.Position = Vector2.new(headPosition.X, headPosition.Y - size.Y / 2 - 20)
drawings.name.Visible = true
-- Update face line (from head to forward direction)
local faceDirection = head.CFrame.LookVector * 20 -- Adjust length as needed
local faceEndPosition, faceEndVisible = camera:WorldToViewportPoint(head.Position + faceDirection)
if faceEndVisible then
drawings.faceLine.From = Vector2.new(headPosition.X, headPosition.Y)
drawings.faceLine.To = Vector2.new(faceEndPosition.X, faceEndPosition.Y)
drawings.faceLine.Visible = true
else
drawings.faceLine.Visible = false
end
else
-- Hide ESP if player is not visible
drawings.box.Visible = false
drawings.name.Visible = false
drawings.faceLine.Visible = false
end
else
-- Remove ESP if player no longer exists
for _, drawing in pairs(drawings) do
drawing:Remove()
end
espDrawings[otherPlayer] = nil
end
end
end
-- Function to shoot through walls
local function shootThroughWalls()
if not shootThroughWallsEnabled then return end
local nearestHead = findNearestPlayerHead()
if nearestHead then
-- Calculate direction to the nearest player's head
local direction = (nearestHead.Position - camera.CFrame.Position).Unit
local raycastResult = workspace:Raycast(camera.CFrame.Position, direction * lockOnRange, raycastParams)
if raycastResult and raycastResult.Instance then
local hitPlayer = game.Players:GetPlayerFromCharacter(raycastResult.Instance.Parent)
if hitPlayer then
-- Damage or eliminate the player (you can replace this with your game's logic)
print("Hit player:", hitPlayer.Name)
-- Example: Reduce player health
local humanoid = hitPlayer.Character and hitPlayer.Character:FindFirstChild("Humanoid")
if humanoid then
humanoid:TakeDamage(10) -- Deal 10 damage
end
end
end
end
end
-- Function to handle new players joining the game
local function onPlayerAdded(newPlayer)
if newPlayer ~= player then
createESP(newPlayer)
end
end
-- Initialize ESP for all existing players
for _, otherPlayer in pairs(game.Players:GetPlayers()) do
if otherPlayer ~= player then
createESP(otherPlayer)
end
end
-- Listen for new players joining the game
game.Players.PlayerAdded:Connect(onPlayerAdded)
-- Update ESP every frame
game:GetService("RunService").RenderStepped:Connect(updateESP)
-- Handle flying every frame
game:GetService("RunService").RenderStepped:Connect(handleFlying)
-- Connect the functions to mouse events
mouse.Button1Down:Connect(function()
isLockedOn = true
lockOntoNearestPlayer()
shootThroughWalls()
end)
mouse.Button1Up:Connect(function()
isLockedOn = false
end)



CHAT GPT LOL
lmfao