AIMBOT FOR ALL GAMES(BYPASSES ANTICHEAT)
Key RequiredUniversal

AIMBOT FOR ALL GAMES(BYPASSES ANTICHEAT)

Universal Scriptvoiskvoisk 1.1K views 6.6K executesUpdated Oct 4, 2026
Unrated
00
Lua Script•505 lines (12008 chars)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

-- НАСТРОЙКИ
local FOV_RADIUS = 150
local MIN_FOV = 50
local MAX_FOV = 400

local AimLockEnabled = false
local ESPEnabled = false
local WallCheckEnabled = true
local FOVEnabled = true

local Highlights = {}

-- GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AimLockGUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")

-- ПАНЕЛЬ
local Panel = Instance.new("Frame")
Panel.Parent = ScreenGui
Panel.Size = UDim2.fromOffset(200, 260)
Panel.Position = UDim2.new(0.5, -100, 0.7, 0)
Panel.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
Panel.BorderSizePixel = 0
Panel.Active = true

local PanelCorner = Instance.new("UICorner")
PanelCorner.CornerRadius = UDim.new(0, 8)
PanelCorner.Parent = Panel

-- ФУНКЦИЯ СОЗДАНИЯ КНОПОК
local function CreateButton(text, position, size)
	local Button = Instance.new("TextButton")
	Button.Parent = Panel
	Button.Size = size
	Button.Position = position
	Button.Text = text
	Button.TextScaled = true
	Button.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
	Button.TextColor3 = Color3.fromRGB(255, 255, 255)
	Button.BorderSizePixel = 0

	local Corner = Instance.new("UICorner")
	Corner.CornerRadius = UDim.new(0, 6)
	Corner.Parent = Button

	return Button
end

-- AIMLOCK
local AimButton = CreateButton(
	"AimLock: HOLD RMB",
	UDim2.fromOffset(5, 5),
	UDim2.new(1, -10, 0, 40)
)

-- ESP
local ESPButton = CreateButton(
	"ESP: OFF",
	UDim2.fromOffset(5, 50),
	UDim2.new(1, -10, 0, 40)
)

-- WALL CHECK
local WallButton = CreateButton(
	"WallCheck: ON",
	UDim2.fromOffset(5, 95),
	UDim2.new(1, -10, 0, 40)
)

WallButton.BackgroundColor3 = Color3.fromRGB(40, 150, 60)

-- FOV
local FOVButton = CreateButton(
	"FOV: ON",
	UDim2.fromOffset(5, 140),
	UDim2.new(1, -10, 0, 40)
)

FOVButton.BackgroundColor3 = Color3.fromRGB(40, 150, 60)

-- КНОПКА ЗАКРЫТИЯ
local CloseButton = Instance.new("TextButton")
CloseButton.Parent = Panel
CloseButton.Size = UDim2.fromOffset(28, 28)
CloseButton.Position = UDim2.new(1, -33, 0, 5)
CloseButton.Text = "X"
CloseButton.TextScaled = true
CloseButton.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseButton.BorderSizePixel = 0

local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 6)
CloseCorner.Parent = CloseButton

-- FOV SLIDER
local SliderBackground = Instance.new("Frame")
SliderBackground.Parent = Panel
SliderBackground.Size = UDim2.new(1, -30, 0, 6)
SliderBackground.Position = UDim2.fromOffset(15, 195)
SliderBackground.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
SliderBackground.BorderSizePixel = 0

local SliderCorner = Instance.new("UICorner")
SliderCorner.CornerRadius = UDim.new(1, 0)
SliderCorner.Parent = SliderBackground

local SliderButton = Instance.new("TextButton")
SliderButton.Parent = SliderBackground
SliderButton.Size = UDim2.fromOffset(16, 16)
SliderButton.AnchorPoint = Vector2.new(0.5, 0.5)

local StartPercent =
	(FOV_RADIUS - MIN_FOV) / (MAX_FOV - MIN_FOV)

SliderButton.Position = UDim2.new(StartPercent, 0, 0.5, 0)
SliderButton.Text = ""
SliderButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
SliderButton.BorderSizePixel = 0
SliderButton.AutoButtonColor = false

local SliderButtonCorner = Instance.new("UICorner")
SliderButtonCorner.CornerRadius = UDim.new(1, 0)
SliderButtonCorner.Parent = SliderButton

-- ТЕКСТ FOV
local FOVLabel = Instance.new("TextLabel")
FOVLabel.Parent = Panel
FOVLabel.Size = UDim2.new(1, 0, 0, 25)
FOVLabel.Position = UDim2.fromOffset(0, 205)
FOVLabel.Text = "FOV: " .. FOV_RADIUS
FOVLabel.TextScaled = true
FOVLabel.BackgroundTransparency = 1
FOVLabel.TextColor3 = Color3.fromRGB(255, 255, 255)

-- ПЕРЕТАСКИВАНИЕ ПАНЕЛИ
local dragging = false
local dragStart
local startPos

Panel.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then

		dragging = true
		dragStart = input.Position
		startPos = Panel.Position
	end
end)

UserInputService.InputChanged:Connect(function(input)
	if dragging and (
		input.UserInputType == Enum.UserInputType.MouseMovement
		or input.UserInputType == Enum.UserInputType.Touch
	) then

		local delta = input.Position - dragStart

		Panel.Position = UDim2.new(
			startPos.X.Scale,
			startPos.X.Offset + delta.X,
			startPos.Y.Scale,
			startPos.Y.Offset + delta.Y
		)
	end
end)

UserInputService.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then
		dragging = false
	end
end)

-- ЗАКРЫТИЕ ПАНЕЛИ
CloseButton.MouseButton1Click:Connect(function()
	Panel.Visible = false
end)

-- RIGHT SHIFT ОТКРЫТЬ / ЗАКРЫТЬ
UserInputService.InputBegan:Connect(function(input, processed)
	if processed then return end

	if input.KeyCode == Enum.KeyCode.RightShift then
		Panel.Visible = not Panel.Visible
	end
end)

-- FOV КРУГ
local FOVCircle = Instance.new("Frame")
FOVCircle.Parent = ScreenGui
FOVCircle.AnchorPoint = Vector2.new(0.5, 0.5)
FOVCircle.BackgroundTransparency = 1
FOVCircle.BorderSizePixel = 0

local CircleCorner = Instance.new("UICorner")
CircleCorner.CornerRadius = UDim.new(1, 0)
CircleCorner.Parent = FOVCircle

local CircleStroke = Instance.new("UIStroke")
CircleStroke.Parent = FOVCircle
CircleStroke.Thickness = 2
CircleStroke.Color = Color3.fromRGB(255, 255, 255)

local function UpdateFOV()
	FOVCircle.Size = UDim2.fromOffset(
		FOV_RADIUS * 2,
		FOV_RADIUS * 2
	)

	FOVLabel.Text = "FOV: " .. math.floor(FOV_RADIUS)
end

UpdateFOV()

-- SLIDER
local sliderDragging = false

local function SetSliderFromX(x)
	local left = SliderBackground.AbsolutePosition.X
	local width = SliderBackground.AbsoluteSize.X

	local percent = math.clamp(
		(x - left) / width,
		0,
		1
	)

	FOV_RADIUS =
		MIN_FOV + (MAX_FOV - MIN_FOV) * percent

	SliderButton.Position =
		UDim2.new(percent, 0, 0.5, 0)

	UpdateFOV()
end

SliderButton.MouseButton1Down:Connect(function()
	sliderDragging = true
end)

SliderBackground.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then

		sliderDragging = true
		SetSliderFromX(input.Position.X)
	end
end)

UserInputService.InputChanged:Connect(function(input)
	if sliderDragging and (
		input.UserInputType == Enum.UserInputType.MouseMovement
		or input.UserInputType == Enum.UserInputType.Touch
	) then

		SetSliderFromX(input.Position.X)
	end
end)

UserInputService.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then

		sliderDragging = false
	end
end)

-- AIMLOCK: РАБОТАЕТ ПОКА ЗАЖАТА ПКМ
UserInputService.InputBegan:Connect(function(input, processed)
	if processed then return end

	if input.UserInputType == Enum.UserInputType.MouseButton2 then
		AimLockEnabled = true
		AimButton.Text = "AimLock: ON"
		AimButton.BackgroundColor3 = Color3.fromRGB(40, 150, 60)
	end
end)

UserInputService.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton2 then
		AimLockEnabled = false
		AimButton.Text = "AimLock: HOLD RMB"
		AimButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
	end
end)

-- ПРОВЕРКА ВИДНОСТИ
local function IsVisible(Character, Head)
	local origin = Camera.CFrame.Position
	local direction = Head.Position - origin

	local params = RaycastParams.new()
	params.FilterType = Enum.RaycastFilterType.Exclude
	params.FilterDescendantsInstances = {
		LocalPlayer.Character
	}

	local result = workspace:Raycast(origin, direction, params)

	if result then
		return result.Instance:IsDescendantOf(Character)
	end

	return false
end

-- ПОИСК ЦЕЛИ
local function GetClosestHead()
	local closestHead = nil
	local shortestDistance = math.huge

	local viewport = Camera.ViewportSize

	-- Такой же центр, как у круга
	local screenCenter = Vector2.new(
		viewport.X / 2,
		viewport.Y / 2 - 35
	)

	for _, Player in ipairs(Players:GetPlayers()) do
		if Player ~= LocalPlayer and Player.Character then

			local Character = Player.Character
			local Head = Character:FindFirstChild("Head")
			local Humanoid =
				Character:FindFirstChildOfClass("Humanoid")

			if Head and Humanoid and Humanoid.Health > 0 then
				local position, onScreen =
					Camera:WorldToViewportPoint(Head.Position)

				if onScreen then
					local screenPosition =
						Vector2.new(position.X, position.Y)

					local distance =
						(screenPosition - screenCenter).Magnitude

					local insideFOV = true

					if FOVEnabled then
						insideFOV = distance <= FOV_RADIUS
					end

					if insideFOV then
						local canAim = true

						if WallCheckEnabled then
							canAim = IsVisible(Character, Head)
						end

						if canAim and distance < shortestDistance then
							shortestDistance = distance
							closestHead = Head
						end
					end
				end
			end
		end
	end

	return closestHead
end

-- ESP
local function AddESP(Player)
	if Player == LocalPlayer then return end
	if not ESPEnabled then return end
	if not Player.Character then return end

	if Highlights[Player] then
		Highlights[Player]:Destroy()
	end

	local Highlight = Instance.new("Highlight")
	Highlight.Name = "PlayerESP"
	Highlight.Adornee = Player.Character
	Highlight.FillTransparency = 0.5
	Highlight.OutlineTransparency = 0
	Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
	Highlight.Parent = Player.Character

	Highlights[Player] = Highlight
end

local function RemoveESP(Player)
	if Highlights[Player] then
		Highlights[Player]:Destroy()
		Highlights[Player] = nil
	end
end

local function ToggleESP()
	ESPEnabled = not ESPEnabled

	if ESPEnabled then
		ESPButton.Text = "ESP: ON"
		ESPButton.BackgroundColor3 = Color3.fromRGB(40, 150, 60)

		for _, Player in ipairs(Players:GetPlayers()) do
			AddESP(Player)
		end
	else
		ESPButton.Text = "ESP: OFF"
		ESPButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)

		for _, Player in ipairs(Players:GetPlayers()) do
			RemoveESP(Player)
		end
	end
end

ESPButton.MouseButton1Click:Connect(ToggleESP)

-- WALL CHECK
WallButton.MouseButton1Click:Connect(function()
	WallCheckEnabled = not WallCheckEnabled

	if WallCheckEnabled then
		WallButton.Text = "WallCheck: ON"
		WallButton.BackgroundColor3 = Color3.fromRGB(40, 150, 60)
	else
		WallButton.Text = "WallCheck: OFF"
		WallButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
	end
end)

-- FOV ON / OFF
FOVButton.MouseButton1Click:Connect(function()
	FOVEnabled = not FOVEnabled

	if FOVEnabled then
		FOVButton.Text = "FOV: ON"
		FOVButton.BackgroundColor3 = Color3.fromRGB(40, 150, 60)

		FOVCircle.Visible = true
		SliderBackground.Visible = true
		SliderButton.Visible = true
		FOVLabel.Visible = true
	else
		FOVButton.Text = "FOV: OFF"
		FOVButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)

		FOVCircle.Visible = false
		SliderBackground.Visible = false
		SliderButton.Visible = false
		FOVLabel.Visible = false
	end
end)

-- НОВЫЕ ИГРОКИ И РЕСПАВН
local function SetupPlayer(Player)
	if Player == LocalPlayer then return end

	Player.CharacterAdded:Connect(function()
		task.wait(0.5)

		if ESPEnabled then
			AddESP(Player)
		end
	end)
end

for _, Player in ipairs(Players:GetPlayers()) do
	SetupPlayer(Player)
end

Players.PlayerAdded:Connect(SetupPlayer)

Players.PlayerRemoving:Connect(function(Player)
	RemoveESP(Player)
end)

-- ОСНОВНОЙ ЦИКЛ
RunService.RenderStepped:Connect(function()
	local viewport = Camera.ViewportSize

	-- КРУГ ЧУТЬ ВЫШЕ ЦЕНТРА
	FOVCircle.Position = UDim2.fromOffset(
		viewport.X / 2,
		viewport.Y / 2 - 35
	)

	-- AIMLOCK
	if AimLockEnabled then
		local Head = GetClosestHead()

		if Head then
			Camera.CFrame = CFrame.new(
				Camera.CFrame.Position,
				Head.Position
			)
		end
	end
end)

Features & Information

ОБХОДИТ ДАЖЕ АНТИЧИТ(проверено) самый первый мой скрипт так что там могут бить ошибки если что то не так то скажите и я исправлю эту ошибку функций: AIMBOT: HOLD RMB ESP WALLCHECK FOV размер FOV минимум:50 максимум:400 спасиба если используете мой скрипт
#aimlock#aimbot

Community Comments (2)

voltexvoltexOct 9, 2026

I don't think it does bypasses anticheat ```lua ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") ```

Replying to @voltex
voiskvoiskOct 10, 2026

@voltex No, here's how I did it: you won't get kicked. In some games, the anti-cheat kicks you if a UI opens, but my aimbot won't cause that to happen

More Scripts for Universal Scripts