local Settings = { rewrittenmain = { Enabled = true, Key = "q", DOT = true, AIRSHOT = true, NOTIF = true, AUTOPRED = false, FOV = math.huge, RESOVLER = true, } } local SelectedPart = "Head" 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