KEMBAR78
Message | PDF | Computing | Computer Programming
0% found this document useful (0 votes)
9 views6 pages

Message

Uploaded by

tazboyanderson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views6 pages

Message

Uploaded by

tazboyanderson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

--// Cache

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 = true,
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].Positi
on}, 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.Settin
gs.LockPart].Position).X,
Camera:WorldToViewportPoint(Environment.Locked.Character[Environment.Settings.LockP
art].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.LockP
art].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 = true,
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()

You might also like