You are on page 1of 9

--]]

--dont mess with he settings unless u know what ur doing (1y#0002)

local Settings = {
rewrittenmain = {
Enabled = true,
Key = "q",
DOT = true,
AIRSHOT = true,
NOTIF = true,
AUTOPRED = true,
FOV = math.huge,
RESOVLER = false
}
}

local SelectedPart = "UpperTorso"


local Prediction = true
local PredictionValue = 0.1259910

local AnchorCount = 0
local MaxAnchor = 50

local CC = game:GetService"Workspace".CurrentCamera
local Plr;
local enabled = false
local accomidationfactor = 0.12348
local mouse = game.Players.LocalPlayer:GetMouse()
local placemarker = Instance.new("Part", game.Workspace)

function makemarker(Parent, Adornee, Color, Size, Size2)


local e = Instance.new("BillboardGui", Parent)
e.Name = "PP"
e.Adornee = Adornee
e.Size = UDim2.new(Size, Size2, Size, Size2)
e.AlwaysOnTop = Settings.rewrittenmain.DOT
local a = Instance.new("Frame", e)
if Settings.rewrittenmain.DOT == true then
a.Size = UDim2.new(2, 2, 2)
else
a.Size = UDim2.new(0, 0, 0, 0)
end
if Settings.rewrittenmain.DOT == true then
a.Transparency = 0
a.BackgroundTransparency = 0
else
a.Transparency = 1
a.BackgroundTransparency = 1
end
a.BackgroundColor3 = Color
local g = Instance.new("UICorner", a)
if Settings.rewrittenmain.DOT == false then
g.CornerRadius = UDim.new(0, 0)
else
g.CornerRadius = UDim.new(1, 1)
end
return(e)
end

local data = game.Players:GetPlayers()


function noob(player)
local character
repeat wait() until player.Character
local handler = makemarker(guimain,
player.Character:WaitForChild(SelectedPart), Color3.fromRGB(68, 214, 44), 0.3, 3)
handler.Name = player.Name
player.CharacterAdded:connect(function(Char) handler.Adornee =
Char:WaitForChild(SelectedPart) end)

spawn(function()
while wait() do
if player.Character then
end
end
end)
end

for i = 1, #data do
if data[i] ~= game.Players.LocalPlayer then
noob(data[i])
end
end

game.Players.PlayerAdded:connect(function(Player)
noob(Player)
end)

spawn(function()
placemarker.Anchored = true
placemarker.CanCollide = false
if Settings.rewrittenmain.DOT == true then
placemarker.Size = Vector3.new(6, 6, 6)
else
placemarker.Size = Vector3.new(0, 0, 0)
end
placemarker.Transparency = 1
if Settings.rewrittenmain.DOT then
makemarker(placemarker, placemarker, Color3.fromRGB(68, 214, 44), 0.40, 0)
end
end)

game.Players.LocalPlayer:GetMouse().KeyDown:Connect(function(k)
if k == Settings.rewrittenmain.Key and Settings.rewrittenmain.Enabled then
if enabled == true then
enabled = false
if Settings.rewrittenmain.NOTIF == true then
Plr = getClosestPlayerToCursor()
game.StarterGui:SetCore("SendNotification", {
Title = "Lock Notification",
Text = "Unlocked",
Icon = "",
Duration = 1,
})
end
else
Plr = getClosestPlayerToCursor()
enabled = true
if Settings.rewrittenmain.NOTIF == true then

game.StarterGui:SetCore("SendNotification", {
Title = "Lock Notification",
Text = "Locked On :"..tostring(Plr.Name);
Icon = "",
Duration = 1,
})

end
end
end
end)

function getClosestPlayerToCursor()
local closestPlayer
local shortestDistance = Settings.rewrittenmain.FOV

for i, v in pairs(game.Players:GetPlayers()) do
if v ~= game.Players.LocalPlayer and v.Character and
v.Character:FindFirstChild("Humanoid") and v.Character.Humanoid.Health ~= 0 and
v.Character:FindFirstChild("HumanoidRootPart") then
local pos =
CC:WorldToViewportPoint(v.Character.PrimaryPart.Position)
local magnitude = (Vector2.new(pos.X, pos.Y) - Vector2.new(mouse.X,
mouse.Y)).magnitude
if magnitude < shortestDistance then
closestPlayer = v
shortestDistance = magnitude
end
end
end
return closestPlayer
end

local pingvalue = nil;


local split = nil;
local ping = nil;

game:GetService"RunService".Stepped:connect(function()
if enabled and Plr.Character ~= nil and
Plr.Character:FindFirstChild("HumanoidRootPart") then
placemarker.CFrame =
CFrame.new(Plr.Character.HumanoidRootPart.Position+
(Plr.Character.HumanoidRootPart.Velocity*accomidationfactor))
else
placemarker.CFrame = CFrame.new(0, 9999, 0)
end
if Settings.rewrittenmain.AUTOPRED == true then
pingvalue = game:GetService("Stats").Network.ServerStatsItem["Data
Ping"]:GetValueString()
split = string.split(pingvalue,'(')
ping = tonumber(split[1])
if ping < 130 then
PredictionValue = 0.151
elseif ping < 125 then
PredictionValue = 0.149
elseif ping < 110 then
PredictionValue = 0.146
elseif ping < 105 then
PredictionValue = 0.138
elseif ping < 90 then
PredictionValue = 0.136
elseif ping < 80 then
PredictionValue = 0.134
elseif ping < 70 then
PredictionValue = 0.131
elseif ping < 60 then
PredictionValue = 0.1229
elseif ping < 50 then
PredictionValue = 0.1225
elseif ping < 40 then
PredictionValue = 0.1256
end
end
end)

local mt = getrawmetatable(game)
local old = mt.__namecall
setreadonly(mt, false)
mt.__namecall = newcclosure(function(...)
local args = {...}
if enabled and getnamecallmethod() == "FireServer" and args[2] ==
"UpdateMousePos" and Settings.rewrittenmain.Enabled and Plr.Character ~= nil then

-- args[3] = Plr.Character.HumanoidRootPart.Position+
(Plr.Character.HumanoidRootPart.Velocity*accomidationfactor)
--[[
if Settings.rewrittenmain.AIRSHOT == true then
if game.Workspace.Players[Plr.Name].Humanoid:GetState() ==
Enum.HumanoidStateType.Freefall then --
Plr.Character:WaitForChild("Humanoid"):GetState() ==
Enum.HumanoidStateType.Freefall

--// Airshot
args[3] = Plr.Character.LeftFoot.Position+
(Plr.Character.LeftFoot.Velocity*PredictionValue)
else
args[3] = Plr.Character.HumanoidRootPart.Position+
(Plr.Character.HumanoidRootPart.Velocity*PredictionValue)
end
else
args[3] = Plr.Character.HumanoidRootPart.Position+
(Plr.Character.HumanoidRootPart.Velocity*PredictionValue)
end
]]
if Prediction == true then

args[3] = Plr.Character[SelectedPart].Position+
(Plr.Character[SelectedPart].Velocity*PredictionValue)

else
args[3] = Plr.Character[SelectedPart].Position

end

return old(unpack(args))
end
return old(...)
end)

game:GetService("RunService").RenderStepped:Connect(function()
if Settings.rewrittenmain.RESOVLER == true and Plr.Character ~= nil and
enabled and Settings.rewrittenmain.Enabled then
if Settings.rewrittenmain.AIRSHOT == true and enabled and Plr.Character ~=
nil then

if game.Workspace.Players[Plr.Name].Humanoid:GetState() ==
Enum.HumanoidStateType.Freefall then --
Plr.Character:WaitForChild("Humanoid"):GetState() ==
Enum.HumanoidStateType.Freefall

--// Airshot

--// Anchor Check

if Plr.Character ~= nil and Plr.Character.HumanoidRootPart.Anchored


== true then
AnchorCount = AnchorCount + 1
if AnchorCount >= MaxAnchor then
Prediction = false
wait(2)
AnchorCount = 0;
end
else
Prediction = true
AnchorCount = 0;
end

SelectedPart = "HumanoidRootPart"

else
--// Anchor Check

if Plr.Character ~= nil and Plr.Character.HumanoidRootPart.Anchored


== true then
AnchorCount = AnchorCount + 1
if AnchorCount >= MaxAnchor then
Prediction = false
wait(2)
AnchorCount = 0;
end
else
Prediction = true
AnchorCount = 0;
end

SelectedPart = "HumanoidRootPart"

end
else
--// Anchor Check

if Plr.Character ~= nil and Plr.Character.HumanoidRootPart.Anchored


== true then
AnchorCount = AnchorCount + 1
if AnchorCount >= MaxAnchor then
Prediction = false
wait(2)
AnchorCount = 0;
end
else
Prediction = true
AnchorCount = 0;
end

SelectedPart = "HumanoidRootPart"
end

else
SelectedPart = "HumanoidRootPart"
end
end)

--the cam lock

getgenv().Prediction = 0.143105125985120958176
getgenv().AimPart = "UpperTorso"
getgenv().Key = "Q"
getgenv().DisableKey = "P"

getgenv().FOV = true
getgenv().ShowFOV = false
getgenv().FOVSize = 55

--// Variables (Service)

local Players = game:GetService("Players")


local RS = game:GetService("RunService")
local WS = game:GetService("Workspace")
local GS = game:GetService("GuiService")
local SG = game:GetService("StarterGui")

--// Variables (regular)

local LP = Players.LocalPlayer
local Mouse = LP:GetMouse()
local Camera = WS.CurrentCamera
local GetGuiInset = GS.GetGuiInset

local AimlockState = true


local Locked
local Victim

local SelectedKey = getgenv().Key


local SelectedDisableKey = getgenv().DisableKey

--// Check if aimlock is loaded


if getgenv().Loaded == true then
Notify("Aimlock is already loaded!")
return
end

getgenv().Loaded = true

--// FOV Circle

local fov = Drawing.new("Circle")


fov.Filled = false
fov.Transparency = 1
fov.Thickness = 1
fov.Color = Color3.fromRGB(255, 255, 0)
fov.NumSides = 1000

--// Functions

function update()
if getgenv().FOV == true then
if fov then
fov.Radius = getgenv().FOVSize * 2
fov.Visible = getgenv().ShowFOV
fov.Position = Vector2.new(Mouse.X, Mouse.Y + GetGuiInset(GS).Y)

return fov
end
end
end

function WTVP(arg)
return Camera:WorldToViewportPoint(arg)
end

function WTSP(arg)
return Camera.WorldToScreenPoint(Camera, arg)
end

function getClosest()
local closestPlayer
local shortestDistance = math.huge

for i, v in pairs(game.Players:GetPlayers()) do
local notKO = v.Character:WaitForChild("BodyEffects")["K.O"].Value ~= true
local notGrabbed = v.Character:FindFirstChild("GRABBING_COINSTRAINT") ==
nil

if v ~= game.Players.LocalPlayer and v.Character and


v.Character:FindFirstChild("Humanoid") and v.Character.Humanoid.Health ~= 0 and
v.Character:FindFirstChild(getgenv().AimPart) and notKO and notGrabbed then
local pos =
Camera:WorldToViewportPoint(v.Character.PrimaryPart.Position)
local magnitude = (Vector2.new(pos.X, pos.Y) - Vector2.new(Mouse.X,
Mouse.Y)).magnitude

if (getgenv().FOV) then
if (fov.Radius > magnitude and magnitude < shortestDistance) then
closestPlayer = v
shortestDistance = magnitude
end
else
if (magnitude < shortestDistance) then
closestPlayer = v
shortestDistance = magnitude
end
end
end
end
return closestPlayer
end

--// Checks if key is down

Mouse.KeyDown:Connect(function(k)
SelectedKey = SelectedKey:lower()
SelectedDisableKey = SelectedDisableKey:lower()
if k == SelectedKey then
if AimlockState == true then
Locked = not Locked
if Locked then
Victim = getClosest()

Notify("Locked onto:
"..tostring(Victim.Character.Humanoid.DisplayName))
else
if Victim ~= nil then
Victim = nil

Notify("Unlocked!")
end
end
else
Notify("Aimlock is not enabled!")
end
end
if k == SelectedDisableKey then
AimlockState = not AimlockState
end
end)

--// Loop update FOV and loop camera lock onto target

RS.RenderStepped:Connect(function()
update()
if AimlockState == true then
if Victim ~= nil then
Camera.CFrame = CFrame.new(Camera.CFrame.p,
Victim.Character[getgenv().AimPart].Position +
Victim.Character[getgenv().AimPart].Velocity*getgenv().Prediction)
end
end
end)
while wait() do
if getgenv().AutoPrediction == true then
local pingvalue = game:GetService("Stats").Network.ServerStatsItem["Data
Ping"]:GetValueString()
local split = string.split(pingvalue,'(')
local ping = tonumber(split[1])
if ping < 225 then
getgenv().Prediction = 1.4
elseif ping < 215 then
getgenv().Prediction = 1.2
elseif ping < 205 then
getgenv().Prediction = 1.0
elseif ping < 190 then
getgenv().Prediction = 0.10
elseif ping < 180 then
getgenv().Prediction = 0.12
elseif ping < 170 then
getgenv().Prediction = 0.15
elseif ping < 160 then
getgenv().Prediction = 0.18
elseif ping < 150 then
getgenv().Prediction = 0.110
elseif ping < 140 then
getgenv().Prediction = 0.113
elseif ping < 130 then
getgenv().Prediction = 0.116
elseif ping < 120 then
getgenv().Prediction = 0.120
elseif ping < 110 then
getgenv().Prediction = 0.124
elseif ping < 105 then
getgenv().Prediction = 0.127
elseif ping < 90 then
getgenv().Prediction = 0.130
elseif ping < 80 then
getgenv().Prediction = 0.133
elseif ping < 70 then
getgenv().Prediction = 0.136
elseif ping < 60 then
getgenv().Prediction = 0.140
elseif ping < 50 then
getgenv().Prediction = 0.143
elseif ping < 40 then
getgenv().Prediction = 0.145
elseif ping < 30 then
getgenv().Prediction = 0.155
elseif ping < 20 then
getgenv().Prediction = 0.157
end
end
end

You might also like