Raymonded

Lunar Camlock

Aug 30th, 2024
462
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.68 KB | None | 0 0
  1. getgenv().Prediction = 0.1135
  2. getgenv().Smoothness = 0.,9
  3. getgenv().AimPart = "UpperTorso"
  4. getgenv().OldAimpart = "UpperTorso"
  5. getgenv().ShakeValue = 0
  6. getgenv().AutoPred = true
  7.  
  8. ---// NOT MADE BY ME BUT I STILL CREDS TO LION //--
  9.  
  10. local Tool = Instance.new("Tool")
  11. Tool.RequiresHandle = false
  12. Tool.Name = "Lunar Cam"
  13. Tool.Parent = game.Players.LocalPlayer.Backpack
  14.  
  15. local player = game.Players.LocalPlayer
  16.  
  17. local function connectCharacterAdded()
  18. player.CharacterAdded:Connect(onCharacterAdded)
  19. end
  20.  
  21. connectCharacterAdded()
  22.  
  23. player.CharacterRemoving:Connect(function()
  24. Tool.Parent = game.Players.LocalPlayer.Backpack
  25. end)
  26.  
  27. -- Variables (Service)
  28.  
  29. local Players = game:GetService("Players")
  30. local RS = game:GetService("RunService")
  31. local WS = game:GetService("Workspace")
  32. local GS = game:GetService("GuiService")
  33. local SG = game:GetService("StarterGui")
  34.  
  35. -- Variables (regular)
  36.  
  37. local LP = Players.LocalPlayer
  38. local Mouse = LP:GetMouse()
  39. local Camera = WS.CurrentCamera
  40. local GetGuiInset = GS.GetGuiInset
  41.  
  42. local AimlockState = true
  43. local Locked
  44. local Victim
  45.  
  46. local SelectedKey = getgenv().Key
  47. local SelectedDisableKey = getgenv().DisableKey
  48.  
  49. -- Notification function
  50.  
  51. function Notify(tx)
  52. SG:SetCore("SendNotification", {
  53. Title = "Lunar Cheat",
  54. Text = tx,
  55. Duration = 5
  56. })
  57. end
  58.  
  59. -- Check if aimlock is loaded
  60.  
  61. if getgenv().Loaded == true then
  62. Notify("Loaded")
  63. return
  64. end
  65.  
  66. getgenv().Loaded = true
  67.  
  68. -- FOV Circle
  69.  
  70. local fov = Drawing.new("Circle")
  71. fov.Filled = false
  72. fov.Transparency = 1
  73. fov.Thickness = 1
  74. fov.Color = Color3.fromRGB(255, 255, 0)
  75. fov.NumSides = 1000
  76.  
  77. -- Functions
  78.  
  79. function update()
  80. if getgenv().FOV == true then
  81. if fov then
  82. fov.Radius = getgenv().FOVSize * 2
  83. fov.Visible = getgenv().ShowFOV
  84. fov.Position = Vector2.new(Mouse.X, Mouse.Y + GetGuiInset(GS).Y)
  85.  
  86. return fov
  87. end
  88. end
  89. end
  90.  
  91. function WTVP(arg)
  92. return Camera:WorldToViewportPoint(arg)
  93. end
  94.  
  95. function WTSP(arg)
  96. return Camera.WorldToScreenPoint(Camera, arg)
  97. end
  98.  
  99. function getClosest()
  100. local closestPlayer
  101. local shortestDistance = math.huge
  102.  
  103. for i, v in pairs(game.Players:GetPlayers()) do
  104. local notKO = v.Character:WaitForChild("BodyEffects")["K.O"].Value ~= true
  105. local notGrabbed = v.Character:FindFirstChild("GRABBING_COINSTRAINT") == nil
  106.  
  107. 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
  108. local pos = Camera:WorldToViewportPoint(v.Character.PrimaryPart.Position)
  109. local magnitude = (Vector2.new(pos.X, pos.Y) - Vector2.new(Mouse.X, Mouse.Y)).magnitude
  110.  
  111. if (getgenv().FOV) then
  112. if (fov.Radius > magnitude and magnitude < shortestDistance) then
  113. closestPlayer = v
  114. shortestDistance = magnitude
  115. end
  116. else
  117. if (magnitude < shortestDistance) then
  118. closestPlayer = v
  119. shortestDistance = magnitude
  120. end
  121. end
  122. end
  123. end
  124. return closestPlayer
  125. end
  126.  
  127. -- Checks if key is down
  128.  
  129. Tool.Activated:Connect(function()
  130. if AimlockState == true then
  131. Locked = not Locked
  132. if Locked then
  133. Victim = getClosest()
  134.  
  135. Notify("Locked onto: "..tostring(Victim.Character.Humanoid.DisplayName))
  136. else
  137. if Victim ~= nil then
  138. Victim = nil
  139.  
  140. Notify("Unlocked!")
  141. end
  142. end
  143. else
  144. Notify("Aimlock is not enabled!")
  145. end
  146. end)
  147.  
  148. -- Loop update FOV and loop camera lock onto target
  149.  
  150. RS.RenderStepped:Connect(function()
  151. update()
  152. if AimlockState == true then
  153. if Victim ~= nil then
  154. local shakeOffset = Vector3.new(
  155. math.random(-getgenv().ShakeValue, getgenv().ShakeValue),
  156. math.random(-getgenv().ShakeValue, getgenv().ShakeValue),
  157. math.random(-getgenv().ShakeValue, getgenv().ShakeValue)
  158. ) * 0.1
  159. local LookPosition = CFrame.new(Camera.CFrame.p, Victim.Character[getgenv().AimPart].Position + (Vector3.new(Victim.Character.HumanoidRootPart.Velocity.X,Victim.Character.HumanoidRootPart.AssemblyAngularVelocity.Y*0.5,Victim.Character.HumanoidRootPart.Velocity.Z)*getgenv().Prediction))+shakeOffset
  160. Camera.CFrame = Camera.CFrame:Lerp(LookPosition, getgenv().Smoothness)
  161. end
  162. end
  163. end)
  164.  
  165. ---// NOT MADE BY ME //--
  166. for _, con in next, getconnections(workspace.CurrentCamera.Changed) do
  167. task.wait()
  168. con:Disable()
  169. end
  170. for _, con in next, getconnections(workspace.CurrentCamera:GetPropertyChangedSignal("CFrame")) do
  171. task.wait()
  172. con:Disable()
  173. end
  174. ---// NOT MADE BY ME //--
  175.  
  176.  
  177.  
  178. while task.wait() do
  179. if getgenv().AutoPred == true then
  180. pingvalue = game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValueString()
  181. split = string.split(pingvalue,'(')
  182. ping = tonumber(split[1])
  183. if ping <200 then
  184. getgenv().Prediction = 0.1973432432343325
  185. elseif ping < 150 then
  186. getgenv().Prediction = 0.1922
  187. elseif ping < 90 then
  188. getgenv().Prediction = 0.16
  189. elseif ping < 80 then
  190. getgenv().Prediction = 0.169
  191. elseif ping < 70 then
  192. getgenv().Prediction = 0.1355
  193. elseif ping < 50 then
  194. getgenv().Prediction = 0.125
  195. elseif ping < 40 then
  196. getgenv().Prediction = 0.12
  197. elseif ping < 30 then
  198. getgenv().Prediction = 0.12
  199. end
  200. end
  201. end
Advertisement
Add Comment
Please, Sign In to add comment