Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --]]
- --dont mess with he settings unless u know what ur doing
- local Settings = {
- rewrittenmain = {
- Enabled = true,
- Key = "c",
- DOT = true,
- AIRSHOT = true,
- NOTIF = true,
- AUTOPRED = true,
- FOV = math.huge,
- RESOVLER = true
- }
- }
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement