ESP Chams Aimbot Universal
Key RequiredUniversal

ESP Chams Aimbot Universal

Universal ScriptGRZLGRZL 2.2K views 87 executesUpdated Oct 16, 2025
Unrated
00
Lua Script•680 lines (18718 chars)
local repo = 'https://raw.githubusercontent.com/violin-suzutsuki/LinoriaLib/main/'
local Library = loadstring(game:HttpGet(repo .. 'Library.lua'))()
local ThemeManager = loadstring(game:HttpGet(repo .. 'addons/ThemeManager.lua'))()
local SaveManager = loadstring(game:HttpGet(repo .. 'addons/SaveManager.lua'))()

local ZixyESP = loadstring(game:HttpGet('https://raw.githubusercontent.com/zixypy/zixyx/refs/heads/main/zixyesp.txt'))()
local esp = ZixyESP.new()

--// Cache untuk Aimbot
local select = select
local pcall, getgenv, next, Vector2, mathclamp, type, mousemoverel = select(1, pcall, getgenv, next, Vector2.new, math.clamp, type, mousemoverel or (Input and Input.MouseMove))

--// Preventing Multiple Processes untuk Aimbot
pcall(function()
	if getgenv().Aimbot then
		getgenv().Aimbot.Functions:Exit()
	end
end)

--// Environment untuk Aimbot
getgenv().Aimbot = {}
local Environment = getgenv().Aimbot

--// Services untuk Aimbot
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer

--// Variables untuk Aimbot
local RequiredDistance, Typing, Running, Animation, ServiceConnections = 2000, false, false, nil, {}

--// Script Settings untuk Aimbot
Environment.Settings = {
	Enabled = true,
	TeamCheck = false,
	AliveCheck = true,
	WallCheck = false, -- Laggy
	Sensitivity = 0, -- Animation length (in seconds) before fully locking onto target
	ThirdPerson = true, -- Uses mousemoverel instead of CFrame to support locking in third person (could be choppy)
	ThirdPersonSensitivity = 0.7, -- Boundary: 0.1 - 5
	TriggerKey = "MouseButton2",
	Toggle = false,
	LockPart = "Head" -- Body part to lock on
}

Environment.FOVSettings = {
	Enabled = true,
	Visible = true,
	Amount = 90,
	Color = Color3.fromRGB(255, 255, 255),
	LockedColor = Color3.fromRGB(255, 70, 70),
	Transparency = 0.5,
	Sides = 60,
	Thickness = 1,
	Filled = false
}

Environment.FOVCircle = Drawing.new("Circle")

--// Functions untuk Aimbot
local function CancelLock()
	Environment.Locked = nil
	if Animation then Animation:Cancel() end
	Environment.FOVCircle.Color = Environment.FOVSettings.Color
end

local function GetClosestPlayer()
	if not Environment.Locked then
		RequiredDistance = (Environment.FOVSettings.Enabled and Environment.FOVSettings.Amount or 2000)

		for _, v in next, Players:GetPlayers() do
			if v ~= LocalPlayer then
				if v.Character and v.Character:FindFirstChild(Environment.Settings.LockPart) and v.Character:FindFirstChildOfClass("Humanoid") then
					if Environment.Settings.TeamCheck and v.Team == LocalPlayer.Team then continue end
					if Environment.Settings.AliveCheck and v.Character:FindFirstChildOfClass("Humanoid").Health <= 0 then continue end
					if Environment.Settings.WallCheck and #(Camera:GetPartsObscuringTarget({v.Character[Environment.Settings.LockPart].Position}, v.Character:GetDescendants())) > 0 then continue end

					local Vector, OnScreen = Camera:WorldToViewportPoint(v.Character[Environment.Settings.LockPart].Position)
					local Distance = (Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2(Vector.X, Vector.Y)).Magnitude

					if Distance < RequiredDistance and OnScreen then
						RequiredDistance = Distance
						Environment.Locked = v
					end
				end
			end
		end
	elseif (Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2(Camera:WorldToViewportPoint(Environment.Locked.Character[Environment.Settings.LockPart].Position).X, Camera:WorldToViewportPoint(Environment.Locked.Character[Environment.Settings.LockPart].Position).Y)).Magnitude > RequiredDistance then
		CancelLock()
	end
end

--// Typing Check untuk Aimbot
ServiceConnections.TypingStartedConnection = UserInputService.TextBoxFocused:Connect(function()
	Typing = true
end)

ServiceConnections.TypingEndedConnection = UserInputService.TextBoxFocusReleased:Connect(function()
	Typing = false
end)

--// Main Function untuk Aimbot
local function LoadAimbot()
	ServiceConnections.RenderSteppedConnection = RunService.RenderStepped:Connect(function()
		if Environment.FOVSettings.Enabled and Environment.Settings.Enabled then
			Environment.FOVCircle.Radius = Environment.FOVSettings.Amount
			Environment.FOVCircle.Thickness = Environment.FOVSettings.Thickness
			Environment.FOVCircle.Filled = Environment.FOVSettings.Filled
			Environment.FOVCircle.NumSides = Environment.FOVSettings.Sides
			Environment.FOVCircle.Color = Environment.FOVSettings.Color
			Environment.FOVCircle.Transparency = Environment.FOVSettings.Transparency
			Environment.FOVCircle.Visible = Environment.FOVSettings.Visible
			Environment.FOVCircle.Position = Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y)
		else
			Environment.FOVCircle.Visible = false
		end

		if Running and Environment.Settings.Enabled then
			GetClosestPlayer()

			if Environment.Locked then
				if Environment.Settings.ThirdPerson then
					Environment.Settings.ThirdPersonSensitivity = mathclamp(Environment.Settings.ThirdPersonSensitivity, 0.1, 5)

					local Vector = Camera:WorldToViewportPoint(Environment.Locked.Character[Environment.Settings.LockPart].Position)
					mousemoverel((Vector.X - UserInputService:GetMouseLocation().X) * Environment.Settings.ThirdPersonSensitivity, (Vector.Y - UserInputService:GetMouseLocation().Y) * Environment.Settings.ThirdPersonSensitivity)
				else
					if Environment.Settings.Sensitivity > 0 then
						Animation = TweenService:Create(Camera, TweenInfo.new(Environment.Settings.Sensitivity, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {CFrame = CFrame.new(Camera.CFrame.Position, Environment.Locked.Character[Environment.Settings.LockPart].Position)})
						Animation:Play()
					else
						Camera.CFrame = CFrame.new(Camera.CFrame.Position, Environment.Locked.Character[Environment.Settings.LockPart].Position)
					end
				end

			Environment.FOVCircle.Color = Environment.FOVSettings.LockedColor

			end
		end
	end)

	ServiceConnections.InputBeganConnection = UserInputService.InputBegan:Connect(function(Input)
		if not Typing then
			pcall(function()
				if Input.KeyCode == Enum.KeyCode[Environment.Settings.TriggerKey] then
					if Environment.Settings.Toggle then
						Running = not Running

						if not Running then
							CancelLock()
						end
					else
						Running = true
					end
				end
			end)

			pcall(function()
				if Input.UserInputType == Enum.UserInputType[Environment.Settings.TriggerKey] then
					if Environment.Settings.Toggle then
						Running = not Running

						if not Running then
							CancelLock()
						end
					else
						Running = true
					end
				end
			end)
		end
	end)

	ServiceConnections.InputEndedConnection = UserInputService.InputEnded:Connect(function(Input)
		if not Typing then
			if not Environment.Settings.Toggle then
				pcall(function()
					if Input.KeyCode == Enum.KeyCode[Environment.Settings.TriggerKey] then
						Running = false; CancelLock()
					end
				end)

				pcall(function()
					if Input.UserInputType == Enum.UserInputType[Environment.Settings.TriggerKey] then
						Running = false; CancelLock()
					end
				end)
			end
		end
	end)
end

--// Functions untuk Aimbot
Environment.Functions = {}

function Environment.Functions:Exit()
	for _, v in next, ServiceConnections do
		v:Disconnect()
	end

	if Environment.FOVCircle.Remove then Environment.FOVCircle:Remove() end

	getgenv().Aimbot.Functions = nil
	getgenv().Aimbot = nil
end

function Environment.Functions:Restart()
	for _, v in next, ServiceConnections do
		v:Disconnect()
	end

	LoadAimbot()
end

function Environment.Functions:ResetSettings()
	Environment.Settings = {
		Enabled = true,
		TeamCheck = false,
		AliveCheck = true,
		WallCheck = false,
		Sensitivity = 0,
		ThirdPerson = false,
		ThirdPersonSensitivity = 3,
		TriggerKey = "MouseButton2",
		Toggle = false,
		LockPart = "Head"
	}

	Environment.FOVSettings = {
		Enabled = true,
		Visible = true,
		Amount = 90,
		Color = Color3.fromRGB(255, 255, 255),
		LockedColor = Color3.fromRGB(255, 70, 70),
		Transparency = 0.5,
		Sides = 60,
		Thickness = 1,
		Filled = false
	}
end

--// Load Aimbot
LoadAimbot()

ThemeManager:SetFolder('KoLiongESP')
SaveManager:SetFolder('KoLiongESP')
ThemeManager:SaveDefault('Tokyo Night')

local Window = Library:CreateWindow({
    Title = 'KoLiongESP + Aimbot | By Koko Ahliong',
    Center = true,
    AutoShow = true,
    TabPadding = 8,
    MenuFadeTime = 0.2,
})

local Tabs = {
    Visuals = Window:AddTab('Visuals'),
    Aimbot = Window:AddTab('Aimbot'),
    Settings = Window:AddTab('Settings'),
}

-- Visuals Group
local VisualsGroup = Tabs.Visuals:AddLeftGroupbox('ESP Controls')

-- Box ESP
VisualsGroup:AddToggle('BoxESPToggle', {
    Text = 'Box ESP',
    Default = false,
    Callback = function(Value)
        if Value then
            esp:InitiateBox(Color3.new(0.403922, 0.349020, 0.701961))
        else
            esp.State.BoxEnabled = false
        end
    end,
})

VisualsGroup:AddLabel('Box Color'):AddColorPicker('BoxColorPicker', {
    Default = Color3.new(0.403922, 0.349020, 0.701961),
    Callback = function(Value)
        esp.Config.BoxColor = Value
        for _, espObj in pairs(esp.Caches.BoxCache) do
            espObj.Box.Color = Value
        end
    end,
})

-- Name ESP
VisualsGroup:AddToggle('NameESPToggle', {
    Text = 'Name ESP',
    Default = false,
    Callback = function(Value)
        esp:InitiateName(Value)
    end,
})

-- Distance ESP
VisualsGroup:AddToggle('DistanceESPToggle', {
    Text = 'Distance ESP',
    Default = false,
    Callback = function(Value)
        esp:InitiateDistance(Value)
    end,
})

-- Skeleton ESP
VisualsGroup:AddToggle('SkeletonESPToggle', {
    Text = 'Skeleton ESP',
    Default = false,
    Callback = function(Value)
        if Value then
            esp:InitiateSkeleton(Color3.new(0.403922, 0.349020, 0.701961))
        else
            esp.State.SkeletonEnabled = false
        end
    end,
})

VisualsGroup:AddLabel('Skeleton Color'):AddColorPicker('SkeletonColorPicker', {
    Default = Color3.new(0.403922, 0.349020, 0.701961),
    Callback = function(Value)
        esp.Config.SkeletonColor = Value
        for _, skeleton in pairs(esp.Caches.SkeletonCache) do
            for _, line in pairs(skeleton) do
                line.Color = Value
            end
        end
    end,
})

-- Health Text ESP
VisualsGroup:AddToggle('HealthTextESPToggle', {
    Text = 'Health Text ESP',
    Default = false,
    Callback = function(Value)
        esp:InitiateHealthText(Value)
    end,
})

-- Health Bar ESP
VisualsGroup:AddToggle('HealthBarESPToggle', {
    Text = 'Health Bar ESP',
    Default = false,
    Callback = function(Value)
        esp:InitiateHealthBar(Value)
    end,
})

-- Tracer ESP
VisualsGroup:AddToggle('TracerESPToggle', {
    Text = 'Tracer ESP',
    Default = false,
    Callback = function(Value)
        if Value then
            esp:InitiateTracer(Color3.new(0.403922, 0.349020, 0.701961), esp.Config.TracerOrigin)
        else
            esp.State.TracerEnabled = false
        end
    end,
})

VisualsGroup:AddLabel('Tracer Color'):AddColorPicker('TracerColorPicker', {
    Default = Color3.new(0.403922, 0.349020, 0.701961),
    Callback = function(Value)
        esp.Config.TracerColor = Value
        for _, tracer in pairs(esp.Caches.TracerCache) do
            tracer.Color = Value
        end
    end,
})

VisualsGroup:AddDropdown('TracerOriginDropdown', {
    Text = 'Tracer Origin',
    Default = 'Bottom Screen',
    Values = {'Bottom Screen', 'Cursor', 'Top Screen'},
    Callback = function(Value)
        esp.Config.TracerOrigin = Value
    end,
})

-- Chams
VisualsGroup:AddToggle('ChamsToggle', {
    Text = 'Chams',
    Default = false,
    Callback = function(Value)
        if Value then
            esp:InitiateChams(Color3.new(1, 0, 0))
        else
            esp.State.ChamsEnabled = false
        end
    end,
})

VisualsGroup:AddLabel('Chams Color'):AddColorPicker('ChamsColorPicker', {
    Default = Color3.new(1, 0, 0),
    Callback = function(Value)
        esp.Config.ChamsColor = Value
        for _, chams in pairs(esp.Caches.ChamsCache) do
            chams.FillColor = Value
        end
    end,
})

-- Team Check
VisualsGroup:AddToggle('TeamCheckToggle', {
    Text = 'Team Check',
    Default = true,
    Callback = function(Value)
        esp:TeamCheck(Value)
    end,
})

-- ESP Distance
VisualsGroup:AddSlider('ESPDistanceSlider', {
    Text = 'ESP Distance',
    Default = 325,
    Min = 100,
    Max = 1000,
    Rounding = 0,
    Suffix = ' studs',
    Callback = function(Value)
        esp:SetDistance(Value)
    end,
})

-- Aimbot Group
local AimbotGroup = Tabs.Aimbot:AddLeftGroupbox('Aimbot Controls')

-- Aimbot Toggle
AimbotGroup:AddToggle('AimbotToggle', {
    Text = 'Enable Aimbot',
    Default = true,
    Callback = function(Value)
        Environment.Settings.Enabled = Value
    end,
})

-- Team Check untuk Aimbot
AimbotGroup:AddToggle('AimbotTeamCheck', {
    Text = 'Team Check',
    Default = false,
    Callback = function(Value)
        Environment.Settings.TeamCheck = Value
    end,
})

-- Alive Check untuk Aimbot
AimbotGroup:AddToggle('AimbotAliveCheck', {
    Text = 'Alive Check',
    Default = true,
    Callback = function(Value)
        Environment.Settings.AliveCheck = Value
    end,
})

-- Wall Check untuk Aimbot
AimbotGroup:AddToggle('AimbotWallCheck', {
    Text = 'Wall Check',
    Default = false,
    Callback = function(Value)
        Environment.Settings.WallCheck = Value
    end,
})

-- Toggle Mode untuk Aimbot
AimbotGroup:AddToggle('AimbotToggleMode', {
    Text = 'Toggle Mode',
    Default = false,
    Callback = function(Value)
        Environment.Settings.Toggle = Value
    end,
})

-- Third Person Mode untuk Aimbot
AimbotGroup:AddToggle('AimbotThirdPerson', {
    Text = 'Third Person Mode',
    Default = true,
    Callback = function(Value)
        Environment.Settings.ThirdPerson = Value
    end,
})

-- Sensitivity untuk Aimbot
AimbotGroup:AddSlider('AimbotSensitivity', {
    Text = 'Sensitivity',
    Default = 0,
    Min = 0,
    Max = 1,
    Rounding = 2,
    Callback = function(Value)
        Environment.Settings.Sensitivity = Value
    end,
})

-- Third Person Sensitivity untuk Aimbot
AimbotGroup:AddSlider('AimbotThirdPersonSensitivity', {
    Text = 'Third Person Sensitivity',
    Default = 0.7,
    Min = 0.1,
    Max = 5,
    Rounding = 1,
    Callback = function(Value)
        Environment.Settings.ThirdPersonSensitivity = Value
    end,
})

-- Lock Part untuk Aimbot
AimbotGroup:AddDropdown('AimbotLockPart', {
    Text = 'Lock Part',
    Default = 'Head',
    Values = {'Head', 'HumanoidRootPart', 'Torso'},
    Callback = function(Value)
        Environment.Settings.LockPart = Value
    end,
})

-- Trigger Key untuk Aimbot
AimbotGroup:AddDropdown('AimbotTriggerKey', {
    Text = 'Trigger Key',
    Default = 'MouseButton2',
    Values = {'MouseButton2', 'MouseButton1', 'LeftShift', 'RightShift', 'Q', 'E', 'R', 'F'},
    Callback = function(Value)
        Environment.Settings.TriggerKey = Value
    end,
})

-- FOV Settings Group untuk Aimbot
local FOVGroup = Tabs.Aimbot:AddRightGroupbox('FOV Settings')

-- FOV Toggle
FOVGroup:AddToggle('FOVToggle', {
    Text = 'Show FOV',
    Default = true,
    Callback = function(Value)
        Environment.FOVSettings.Visible = Value
    end,
})

-- FOV Enabled
FOVGroup:AddToggle('FOVEnabled', {
    Text = 'FOV Enabled',
    Default = true,
    Callback = function(Value)
        Environment.FOVSettings.Enabled = Value
    end,
})

-- FOV Amount
FOVGroup:AddSlider('FOVAmount', {
    Text = 'FOV Amount',
    Default = 90,
    Min = 10,
    Max = 500,
    Rounding = 0,
    Callback = function(Value)
        Environment.FOVSettings.Amount = Value
    end,
})

-- FOV Color
FOVGroup:AddLabel('FOV Color'):AddColorPicker('FOVColor', {
    Default = Color3.fromRGB(255, 255, 255),
    Callback = function(Value)
        Environment.FOVSettings.Color = Value
    end,
})

-- FOV Locked Color
FOVGroup:AddLabel('FOV Locked Color'):AddColorPicker('FOVLockedColor', {
    Default = Color3.fromRGB(255, 70, 70),
    Callback = function(Value)
        Environment.FOVSettings.LockedColor = Value
    end,
})

-- FOV Transparency
FOVGroup:AddSlider('FOVTransparency', {
    Text = 'FOV Transparency',
    Default = 0.5,
    Min = 0,
    Max = 1,
    Rounding = 2,
    Callback = function(Value)
        Environment.FOVSettings.Transparency = Value
    end,
})

-- FOV Sides
FOVGroup:AddSlider('FOVSides', {
    Text = 'FOV Sides',
    Default = 60,
    Min = 3,
    Max = 100,
    Rounding = 0,
    Callback = function(Value)
        Environment.FOVSettings.Sides = Value
    end,
})

-- FOV Thickness
FOVGroup:AddSlider('FOVThickness', {
    Text = 'FOV Thickness',
    Default = 1,
    Min = 1,
    Max = 10,
    Rounding = 0,
    Callback = function(Value)
        Environment.FOVSettings.Thickness = Value
    end,
})

-- FOV Filled
FOVGroup:AddToggle('FOVFilled', {
    Text = 'FOV Filled',
    Default = false,
    Callback = function(Value)
        Environment.FOVSettings.Filled = Value
    end,
})

-- Settings Group
local SettingsGroup = Tabs.Settings:AddLeftGroupbox('Menu')

SettingsGroup:AddButton({
    Text = 'Unload',
    Func = function()
        -- Unload Aimbot
        if Environment.Functions then
            Environment.Functions:Exit()
        end
        
        -- Unload ESP
        esp:Destroy()
        Library:Unload()
    end,
    Tooltip = 'Unloads the script, ESP, and Aimbot',
})

SettingsGroup:AddLabel('Menu bind'):AddKeyPicker('MenuKeybind', {
    Text = 'Menu keybind:',
    Default = 'RightShift',
    NoUI = true,
})

-- Initialize ESP
esp:Initialize()

-- Set up Library
Library.ToggleKeybind = Options.MenuKeybind
Library:SetWatermarkVisibility(false)
Library:SetWatermark('KoLiongESP + Aimbot | Made by Koko Ahliong')

Library:OnUnload(function()
    -- Unload Aimbot
    if Environment.Functions then
        Environment.Functions:Exit()
    end
    
    -- Unload ESP
    esp:Destroy()
    Library.Unloaded = true
end)

ThemeManager:SetLibrary(Library)
SaveManager:SetLibrary(Library)
SaveManager:IgnoreThemeSettings()
SaveManager:SetIgnoreIndexes({ 'MenuKeybind' })
SaveManager:BuildConfigSection(Tabs.Settings)
ThemeManager:ApplyToTab(Tabs.Settings)
SaveManager:LoadAutoloadConfig()

Library:Notify(
    'ESP + Aimbot Loaded',
    'KoLiongESP and Aimbot are ready! Press RightShift to toggle GUI.',
    5
)

Features & Information

ESP Chams Bones Tracer Aimbot
#ESP#Universal Script#Chams#Tracers#Aimbot

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts