KaipoNoal
Encryption Algorithm Developer
2
MONTHS
2 2 MONTHS OF SERVICE
LEVEL 1
400 XP
Link:
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
pcall(function()
getgenv().Aimbot.Functions:Exit()
end)
--// Environment
getgenv().Aimbot = {}
local Environment = getgenv().Aimbot
--// Services
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
local RequiredDistance, Typing, Running, Animation, ServiceConnections = 2000, false, false, nil, {}
--// Script Settings
Environment.Settings = {
Enabled = true,
TeamCheck = false,
AliveCheck = true,
WallCheck = false, -- Laggy
Sensitivity = 0, -- Animation length (in seconds) before fully locking onto target
ThirdPerson = false, -- Uses mousemoverel instead of CFrame to support locking in third person (could be choppy)
ThirdPersonSensitivity = 3, -- 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
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
ServiceConnections.TypingStartedConnection = UserInputService.TextBoxFocused:Connect(function()
Typing = true
end)
ServiceConnections.TypingEndedConnection = UserInputService.TextBoxFocusReleased:Connect(function()
Typing = false
end)
--// Main
local function Load()
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
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
Load = nil; GetClosestPlayer = nil; CancelLock = nil
end
function Environment.Functions:Restart()
for _, v in next, ServiceConnections do
v:Disconnect()
end
Load()
end
function Environment.Functions:ResetSettings()
Environment.Settings = {
Enabled = true,
TeamCheck = false,
AliveCheck = true,
WallCheck = false,
Sensitivity = 0, -- Animation length (in seconds) before fully locking onto target
ThirdPerson = false, -- Uses mousemoverel instead of CFrame to support locking in third person (could be choppy)
ThirdPersonSensitivity = 3, -- 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
}
end
--// Load
Load()
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
pcall(function()
getgenv().Aimbot.Functions:Exit()
end)
--// Environment
getgenv().Aimbot = {}
local Environment = getgenv().Aimbot
--// Services
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
local RequiredDistance, Typing, Running, Animation, ServiceConnections = 2000, false, false, nil, {}
--// Script Settings
Environment.Settings = {
Enabled = true,
TeamCheck = false,
AliveCheck = true,
WallCheck = false, -- Laggy
Sensitivity = 0, -- Animation length (in seconds) before fully locking onto target
ThirdPerson = false, -- Uses mousemoverel instead of CFrame to support locking in third person (could be choppy)
ThirdPersonSensitivity = 3, -- 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
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
ServiceConnections.TypingStartedConnection = UserInputService.TextBoxFocused:Connect(function()
Typing = true
end)
ServiceConnections.TypingEndedConnection = UserInputService.TextBoxFocusReleased:Connect(function()
Typing = false
end)
--// Main
local function Load()
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
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
Load = nil; GetClosestPlayer = nil; CancelLock = nil
end
function Environment.Functions:Restart()
for _, v in next, ServiceConnections do
v:Disconnect()
end
Load()
end
function Environment.Functions:ResetSettings()
Environment.Settings = {
Enabled = true,
TeamCheck = false,
AliveCheck = true,
WallCheck = false,
Sensitivity = 0, -- Animation length (in seconds) before fully locking onto target
ThirdPerson = false, -- Uses mousemoverel instead of CFrame to support locking in third person (could be choppy)
ThirdPersonSensitivity = 3, -- 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
}
end
--// Load
Load()