Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- getgenv().keytoclick = "V"
- tool = Instance.new("Tool")
- tool.RequiresHandle = false
- tool.Name = keytoclick
- tool.Activated:connect(function()
- local vim = game:service("VirtualInputManager")
- vim:SendKeyEvent(true, keytoclick, false, game)
- end)
- tool.Parent = game.Players.LocalPlayer.Backpack
- game.StarterGui:SetCore("SendNotification", {
- Title = "jamkles camlock";
- Text = "tool loaded";
- })
- local player = game.Players.LocalPlayer
- local function connectCharacterAdded()
- player.CharacterAdded:Connect(onCharacterAdded)
- end
- connectCharacterAdded()
- player.CharacterRemoving:Connect(function()
- tool.Parent = game.Players.LocalPlayer.Backpack
- end)
- getgenv().Prediction = 0.112
- getgenv().AimPart = "HumanoidRootPart"
- getgenv().Key = "V" or "dpadup"
- getgenv().DisableKey = "P"
- getgenv().FOV = true
- getgenv().ShowFOV = false
- getgenv().FOVSize = 70
- 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")
- 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
- function Notify(tx)
- SG:SetCore("SendNotification", {
- Title = "jamkles.lua",
- Text = tx,
- Duration = 15
- })
- end
- --// if loaded then
- if getgenv().Loaded == true then
- Notify("Aimlock is already loaded")
- return
- end
- getgenv().Loaded = true
- --// fov
- local fov = Drawing.new("Circle")
- fov.Filled = false
- fov.Transparency = 1
- fov.Thickness = 1
- fov.Color = Color3.fromRGB(255, 255, 0)
- fov.NumSides = 1000
- --// fncs
- 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
- 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) 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
- --// suffer once again
- 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("not enabled")
- end
- end
- if k == SelectedDisableKey then
- AimlockState = not AimlockState
- end
- end)
- --// time to suffer again.......
- 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.155
- elseif ping < 70 then
- getgenv().Prediction = 0.155
- elseif ping < 60 then
- getgenv().Prediction = 0.155
- elseif ping < 50 then
- getgenv().Prediction = 0.155
- elseif ping < 40 then
- getgenv().Prediction = 0.155
- elseif ping < 30 then
- getgenv().Prediction = 0.155
- elseif ping < 20 then
- getgenv().Prediction = 0.155
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement