Advertisement
ZV0K

Exodus Script 🪄

Aug 16th, 2023 (edited)
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.84 KB | None | 0 0
  1. getgenv().Exodus = {
  2. ["Startup"] = {
  3. Intro = true, -- // will show a intro
  4. SerialKey = "ur_key_here" -- // ur whitelist key
  5. },
  6. ["Aimbot"] = {
  7. Enabled = true,
  8. Keybinds = "q",
  9. Locking = false, -- // don't touch
  10. ["Predicting"] = {
  11. Prediction = true,
  12. PredictionAmmount = 0.1365
  13. },
  14. ["Smoothing"] = {
  15. Smoothness = true,
  16. SmoothnessAmmount = 0.086
  17. },
  18. ["Shaking"] = {
  19. Shake = false,
  20. ShakeAmmount = 0.7
  21. },
  22. ["Hitparts"] = {
  23. AimpartType = "Nearest Part", -- // "Basic", "Nearest Part", "Nearest Point"
  24. Aimpart = "HumanoidRootPart",
  25. BasicAimpart = "HumanoidRootPart",
  26. IgnorePart = true,
  27. IgnoredParts = {"RightFoot", "LeftFoot"}
  28. },
  29. ["Resolving"] = {
  30. Resolver = true,
  31. ResolverType = "When Velocity is too high",
  32. PosResolverMax = 60,
  33. NegResolverMax = 60
  34. },
  35. ["FOV"] = {
  36. ShowFOV = true,
  37. DynamicAmmount = 3000,
  38. FOVType = "Dynamic", -- // "Dynamic", "Static"
  39. FOVRadius = 120,
  40. Filled = false,
  41. Sides = 25,
  42. Thickness = 1,
  43. Transparency = 1,
  44. Color = Color3.fromRGB(0, 71, 171)
  45. },
  46. ["Checks"] = {
  47. UseYAxis = false,
  48. WallCheck = true,
  49. VisibleCheck = true,
  50. ForceFieldCheck = true,
  51. SelfAliveCheck = true,
  52. TargetKOCheck = true,
  53. GrabbedCheck = true,
  54. CrewCheck = false,
  55. IsInFOVCheck = false,
  56. SelfReloadCheck = false,
  57. FirstPersonOnly = false,
  58. AllowThirdPersonShiftLock = false,
  59. ThirdPersonOnly = false
  60. }
  61. },
  62. ["SilentAim"] = {
  63. Enabled = true,
  64. Keybinds = "p",
  65. ["Predicting"] = {
  66. PredictionAmmount = 0.122
  67. },
  68. ["Hitparts"] = {
  69. AimpartType = "Nearest Part", -- // "Basic", "Nearest Part", "Nearest Point"
  70. Aimpart = "HumanoidRootPart",
  71. BasicAimpart = "HumanoidRootPart",
  72. IgnorePart = true,
  73. IgnoredParts = {"LeftFoot", "RightFoot"}
  74. },
  75. ["Resolving"] = {
  76. Resolver = true,
  77. ResolverType = "When Velocity is too high",
  78. PosResolverMax = 60,
  79. NegResolverMax = 60
  80. },
  81. ["FOV"] = {
  82. ShowFOV = true,
  83. FOVRadius = 60,
  84. FOVType = "Dynamic", -- // "Dynamic", "Static"
  85. FOVType2 = "Cursor",
  86. DynamicAmmount = 3000,
  87. Filled = false,
  88. Sides = 25,
  89. Thickness = 1,
  90. Transparency = 1,
  91. Color = Color3.fromRGB(0, 71, 171)
  92. },
  93. ["Checks"] = {
  94. HitChance = 100,
  95. UseYAxis = false,
  96. SelfAliveCheck = true,
  97. SelfReloadCheck = true,
  98. IsInFOVCheck = true,
  99. GrabbedCheck = true,
  100. ForceFieldCheck = false,
  101. TargetCrew = false,
  102. WallCheck = false,
  103. TargetKOCheck = false
  104. }
  105. },
  106. ["Misc"] = {
  107. ["Macro"] = {
  108. Keybind = "x",
  109. Speed = 3,
  110. Type = "First" -- // "First", "Third"
  111. },
  112. ["Key360"] = {
  113. Toggle = false,
  114. RotationSpeed = 2500,
  115. Keybind = "c"
  116. },
  117. ["NoClip"] = {
  118. Enabled = true,
  119. Key = "t",
  120. GunName = "[Shotgun]",
  121. Delay = 0.1
  122. }
  123. }
  124. }
  125.  
  126. script_key = getgenv().Exodus.Startup.SerialKey
  127.  
  128. local Players = game:GetService("Players")
  129. local LP = Players["LocalPlayer"]
  130. while not LP do
  131. Players["ChildAdded"]:Wait()
  132. LP = Players["LocalPlayer"]
  133. end
  134. local Char = LP["Character"]
  135. while not Char do
  136. LP["CharacterAdded"]:Wait()
  137. Char = LP["Character"]
  138. end
  139.  
  140. local Services = {
  141. Workspace = game:GetService("Workspace"),
  142. RunService = game:GetService("RunService"),
  143. Players = game:GetService("Players"),
  144. UserInputService = game:GetService("UserInputService"),
  145. GuiService = game:GetService("GuiService"),
  146. ReplicatedStorage = game:GetService("ReplicatedStorage")
  147. }
  148.  
  149. local Local = {
  150. Player = Services.Players.LocalPlayer,
  151. Camera = Services.Workspace.CurrentCamera,
  152. Mouse = Services.Players.LocalPlayer:GetMouse()
  153. }
  154.  
  155. local AimlockTarget, RootPartPosition, Real_Magnitude, vis, ray, ignoreList, part, Velocity, Main, feign,
  156. AimlockTargetName, SilentTarget, Aimplace, SilentVelocity, CurrentPosition, Time, Distance, SilCurrentPosition,
  157. SilTime, SilDistance, pos, ac, idk
  158.  
  159. local Keybinds = {
  160. Aimbot = Enum.KeyCode.Q,
  161. SilentAim = Enum.KeyCode.P
  162. }
  163.  
  164. local Player = game:GetService("Players").LocalPlayer
  165. local Mouse = Player:GetMouse()
  166. local SilPreviousPosition = Vector3.new()
  167. local PreviousPosition = Vector3.new()
  168.  
  169. local CamCircle = Drawing.new("Circle")
  170. CamCircle.Color = getgenv().Exodus.Aimbot.FOV.Color
  171. CamCircle.Thickness = getgenv().Exodus.Aimbot.FOV.Thickness
  172. CamCircle.Transparency = getgenv().Exodus.Aimbot.FOV.Transparency
  173. CamCircle.NumSides = getgenv().Exodus.Aimbot.FOV.Sides
  174. CamCircle.Radius = getgenv().Exodus.Aimbot.FOV.FOVRadius
  175. CamCircle.Visible = getgenv().Exodus.Aimbot.FOV.ShowFOV
  176. CamCircle.Filled = getgenv().Exodus.Aimbot.FOV.Filled
  177.  
  178. local SilentCircle = Drawing.new("Circle")
  179. SilentCircle.Visible = getgenv().Exodus.SilentAim.FOV.ShowFOV
  180. SilentCircle.Transparency = getgenv().Exodus.SilentAim.FOV.Transparency
  181. SilentCircle.Radius = getgenv().Exodus.SilentAim.FOV.FOVRadius
  182. SilentCircle.Thickness = getgenv().Exodus.SilentAim.FOV.Thickness
  183. SilentCircle.Color = getgenv().Exodus.SilentAim.FOV.Color
  184. SilentCircle.NumSides = getgenv().Exodus.SilentAim.FOV.Sides
  185. SilentCircle.Filled = getgenv().Exodus.SilentAim.FOV.Filled
  186.  
  187. local function IsOnScreen(a, Setting)
  188. if Setting.VisibleCheck then
  189. local _, vis = Services.Workspace.CurrentCamera:WorldToScreenPoint(a.Position)
  190. if vis then
  191. return true
  192. else
  193. return false
  194. end
  195. else
  196. return true
  197. end
  198. end
  199.  
  200. local function WallCheck(a, Setting)
  201. if Setting.WallCheck then
  202. ray = Ray.new(Local.Camera.CFrame.Position, a.HumanoidRootPart.Position - Local.Camera.CFrame.Position)
  203. ignoreList = {Local.Player.Character, a.Parent}
  204. part = Services.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
  205. if not part then
  206. return true
  207. end
  208. return false
  209. else
  210. return true
  211. end
  212. end
  213.  
  214. local function IsInRadius(a, Setting)
  215. if Setting.IsInFOVCheck then
  216. for _, v in pairs(a:GetChildren()) do
  217. if (v:IsA("Part") or v:IsA("MeshPart")) and v.Name ~= "HumanoidRootPart" then
  218. local pos = Local.Camera:WorldToViewportPoint(v.Position)
  219. local dis = (Vector2.new(Local.Mouse.X, Local.Mouse.Y) - Vector2.new(pos.X, pos.Y)).Magnitude
  220. if dis < SilentCircle.Radius then
  221. return true
  222. end
  223. elseif v:IsA("Accessory") then
  224. local pos = Local.Camera:WorldToViewportPoint(v.Handle.Position)
  225. local dis = (Vector2.new(Local.Mouse.X, Local.Mouse.Y) - Vector2.new(pos.X, pos.Y)).Magnitude
  226. if dis < SilentCircle.Radius then
  227. return true
  228. end
  229. end
  230. end
  231. return false
  232. else
  233. return true
  234. end
  235. end
  236.  
  237. local function GrabbedCheck(a, Setting)
  238. if Setting.GrabbedCheck then
  239. if a:FindFirstChild("GRABBING_CONSTRAINT") ~= nil then
  240. return false
  241. else
  242. return true
  243. end
  244. else
  245. return true
  246. end
  247. end
  248.  
  249. local function getClosestPartToCursor(a, Setting)
  250. local closestPart
  251. local shortestDistance = math.huge
  252. if Setting.IgnorePart then
  253. for _, v in pairs(a:GetChildren()) do
  254. if (not table.find(Setting.IgnoredParts, v.Name)) then
  255. if v:IsA("Part") or v:IsA("MeshPart") then
  256. local WrldToViewportPointP = Services.Workspace.CurrentCamera:WorldToScreenPoint(v.Position)
  257. local Distance = (Vector2.new(WrldToViewportPointP.X, WrldToViewportPointP.Y) -
  258. Vector2.new(Local.Mouse.X, Local.Mouse.Y)).Magnitude
  259. if Distance < shortestDistance then
  260. shortestDistance = Distance
  261. closestPart = v
  262. end
  263. end
  264. end
  265. end
  266. return closestPart
  267. elseif not Setting.IgnorePart then
  268. for _, v in next, a:GetChildren() do
  269. if v:IsA("Part") or v:IsA("MeshPart") then
  270. local WrldToViewportPointP = Services.Workspace.CurrentCamera:WorldToScreenPoint(v.Position)
  271. local Distance = (Vector2.new(WrldToViewportPointP.X, WrldToViewportPointP.Y) -
  272. Vector2.new(Local.Mouse.X, Local.Mouse.Y)).Magnitude
  273. if Distance < shortestDistance then
  274. shortestDistance = Distance
  275. closestPart = v
  276. end
  277. end
  278. end
  279. return closestPart
  280. end
  281. end
  282.  
  283. local function getClosestPointOnPart(Part)
  284. local mouseray = Local.Mouse.UnitRay
  285. mouseray = mouseray.Origin + (mouseray.Direction * (Part.Position - mouseray.Origin).Magnitude)
  286. local point =
  287. (mouseray.Y >= (Part.Position - Part.Size / 2).Y and mouseray.Y <= (Part.Position + Part.Size / 2).Y) and
  288. (Part.Position + Vector3.new(0, -Part.Position.Y + mouseray.Y, 0)) or Part.Position
  289. local check = RaycastParams.new()
  290. check.FilterType = Enum.RaycastFilterType.Whitelist
  291. check.FilterDescendantsInstances = {Part}
  292. local ray = Services.Workspace:Raycast(mouseray, (point - mouseray), check)
  293. if ray then
  294. return ray.Position
  295. else
  296. return Local.Mouse.Hit.Position
  297. end
  298. end
  299.  
  300. local function SelfAlive(Setting)
  301. if game.PlaceId == 12442317726 then
  302. if Setting.SelfAliveCheck then
  303. if Local.Player.Character:FindFirstChild("BodyEffects")["KO"].Value == false then
  304. return true
  305. else
  306. return false
  307. end
  308. else
  309. return true
  310. end
  311. else
  312. if Setting.SelfAliveCheck then
  313.  
  314. if Local.Player.Character:FindFirstChild("BodyEffects")["K.O"].Value == false then
  315. return true
  316. else
  317. return false
  318. end
  319. else
  320. return true
  321. end
  322. end
  323. end
  324.  
  325. local function TargetKO(a, Setting)
  326. if game.PlaceId == 10355218822 or game.PlaceId == 12154107359 then
  327. if Setting.TargetKOCheck then
  328. if a:FindFirstChild("DEAD") ~= nil or a.Health < 3 then
  329. return false
  330. else
  331. return true
  332. end
  333. else
  334. return true
  335. end
  336. elseif game.PlaceId == 12442317726 then
  337. if Setting.TargetKOCheck then
  338. if a:FindFirstChild("BodyEffects")["KO"].Value == false then
  339. return true
  340. else
  341. return false
  342. end
  343. else
  344. return true
  345. end
  346. else
  347. if Setting.TargetKOCheck then
  348. if a:FindFirstChild("BodyEffects")["K.O"].Value == false then
  349. return true
  350. else
  351. return false
  352. end
  353. else
  354. return true
  355. end
  356. end
  357. end
  358.  
  359. local function SilentHitChance()
  360. if math.random(0, 100) <= getgenv().Exodus.SilentAim.Checks.HitChance then
  361. return true
  362. else
  363. return false
  364. end
  365. end
  366.  
  367. local function TargetForceField(a, Setting)
  368. if Setting.ForceFieldCheck then
  369. if not (a:FindFirstChildOfClass("ForceField")) then
  370. return true
  371. else
  372. return false
  373. end
  374. else
  375. return true
  376. end
  377. end
  378.  
  379. local function SelfReload(Setting)
  380. if Setting.SelfReloadCheck then
  381. if game.PlaceId ~= 9825515356 then
  382. if Local.Player.Character.BodyEffects.Reload.Value == false then
  383. return true
  384. else
  385. return false
  386. end
  387. else
  388. if Local.Player.Character.BodyEffects.Reloading.Value == false then
  389. return true
  390. else
  391. return false
  392. end
  393. end
  394. else
  395. return true
  396. end
  397. end
  398.  
  399. local function TargetCrew(b, Setting)
  400. if Setting.CrewCheck then
  401. if Local.Player.DataFolder.Information:FindFirstChild('Crew').Value ~= "" and
  402. Services.Players[b].DataFolder.Information:FindFirstChild('Crew').Value ~= "" then
  403. if Local.Player.DataFolder.Information.Crew.Value ~= Services.Players[b].DataFolder.Information.Crew.Value then
  404. return true
  405. else
  406. return false
  407. end
  408. else
  409. return true
  410. end
  411. else
  412. return true
  413. end
  414. end
  415.  
  416. local function IsInFirstPerson(Setting)
  417. if Setting.FirstPersonOnly and Setting.AllowThirdPersonShiftLock == false then
  418. if (Local.Camera.CFrame.p - Local.Camera.Focus.p).Magnitude < 0.7 then
  419. return true
  420. else
  421. return false
  422. end
  423. elseif Setting.FirstPersonOnly and Setting.AllowThirdPersonShiftLock then
  424. if (Local.Camera.CFrame.p - Local.Camera.Focus.p).Magnitude < 0.7 or Services.UserInputService.MouseBehavior ==
  425. Enum.MouseBehavior.LockCenter then
  426. return true
  427. else
  428. return false
  429. end
  430. end
  431. return true
  432. end
  433.  
  434. local function IsInThirdPerson(Setting)
  435. if Setting.ThirdPersonOnly then
  436. if (Local.Camera.CFrame.p - Local.Camera.Focus.p).Magnitude > 0.7 then
  437. return true
  438. else
  439. return false
  440. end
  441. end
  442. return true
  443. end
  444.  
  445. local function aimbot(feign)
  446. if getgenv().Exodus.Aimbot.Smoothing.Smoothness then
  447. Local.Camera.CFrame = Local.Camera.CFrame:Lerp(Main, getgenv().Exodus.Aimbot.Smoothing.SmoothnessAmmount,
  448. Enum.EasingStyle.Quad, Enum.EasingDirection.Out, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
  449. end
  450. end
  451.  
  452. local function getClosestPlayerToCursor(Setting)
  453. local Target, Closest = nil, 1 / 0
  454. for _, v in pairs(Services.Players:GetPlayers()) do
  455. if (v.Character and v ~= Local.Player and v.Character:FindFirstChild("HumanoidRootPart")) and
  456. IsOnScreen(v.Character:FindFirstChild("HumanoidRootPart"), getgenv().Exodus.SilentAim) and
  457. WallCheck(v.Character, getgenv().Exodus.SilentAim) then
  458. local Position, OnScreen = Local.Camera:WorldToScreenPoint(v.Character.HumanoidRootPart.Position)
  459. local Distance = (Vector2.new(Position.X, Position.Y) - Vector2.new(Local.Mouse.X, Local.Mouse.Y)).Magnitude
  460. if (Setting > Distance and Distance < Closest and OnScreen) then
  461. Closest = Distance
  462. Target = v
  463. end
  464. end
  465. end
  466. return Target
  467. end
  468.  
  469. Services.UserInputService.InputBegan:Connect(function(input)
  470. if not (Services.UserInputService:GetFocusedTextBox()) then
  471. if input.KeyCode == Keybinds.Aimbot and AimlockTarget == nil then
  472. if getgenv().Exodus.Aimbot.Locking ~= true then
  473. getgenv().Exodus.Aimbot.Locking = true
  474. end
  475. local Target;
  476. if game.PlaceId == 10355218822 or game.PlaceId == 12154107359 then
  477. if Target ~= nil then
  478. AimlockTarget = Services.Workspace.NPC.Dummy
  479. AimlockTargetName = Services.Workspace.NPC.Dummy.Name
  480. end
  481. else
  482. Target = getClosestPlayerToCursor(700)
  483. if Target ~= nil then
  484. AimlockTarget = Target.Character
  485. AimlockTargetName = Target.Name
  486. end
  487. end
  488.  
  489. elseif input.KeyCode == Keybinds.Aimbot and AimlockTarget ~= nil then
  490. if AimlockTarget ~= nil then
  491. AimlockTarget = nil
  492. end
  493. if getgenv().Exodus.Aimbot.Locking ~= false then
  494. getgenv().Exodus.Aimbot.Locking = false
  495. end
  496. end
  497. end
  498. end)
  499.  
  500. if not LPH_OBFUSCATED then
  501. LPH_JIT_MAX = function(...)
  502. return ...
  503. end
  504. end
  505.  
  506. local Velocity = nil;
  507. local lastPosition = Vector3.new(0, 0, 0)
  508. local lastTime = tick()
  509. local SilentlastPosition = Vector3.new(0, 0, 0)
  510. local SilentlastTime = tick()
  511.  
  512. Services.RunService.Heartbeat:Connect(LPH_JIT_MAX(function()
  513. if getgenv().Exodus.Aimbot.Enabled == true and getgenv().Exodus.Aimbot.Locking == true and AimlockTarget and
  514. AimlockTarget:FindFirstChild(getgenv().Exodus.Aimbot.Hitparts.Aimpart) then
  515. if getgenv().Exodus.Aimbot.FOV.ShowFOV then
  516. CamCircle.Radius = getgenv().Exodus.Aimbot.FOV.FOVRadius
  517. CamCircle.Visible = getgenv().Exodus.Aimbot.FOV.ShowFOV
  518. CamCircle.Position = Vector2.new(Services.UserInputService:GetMouseLocation().X,
  519. Services.UserInputService:GetMouseLocation().Y)
  520. elseif getgenv().Exodus.Aimbot.FOV.ShowFOV == false then
  521. if CamCircle.Visible ~= false then
  522. CamCircle.Visible = getgenv().Exodus.Aimbot.FOV.ShowFOV
  523. end
  524. end
  525. if getgenv().Exodus.Aimbot.Hitparts.AimpartType == "Basic" then
  526. getgenv().Exodus.Aimbot.Hitparts.Aimpart = getgenv().Exodus.Aimbot.Hitparts.BasicAimpart
  527. end
  528. if getgenv().Exodus.Aimbot.Hitparts.AimpartType == "Nearest Part" then
  529. getgenv().Exodus.Aimbot.Hitparts.Aimpart = tostring(
  530. getClosestPartToCursor(AimlockTarget, getgenv().Exodus.Aimbot))
  531. end
  532. if getgenv().Exodus.Aimbot.FOV.FOVType == "Dynamic" then
  533. if Local.Player.Character:FindFirstChild("HumanoidRootPart") then
  534. feign = (Local.Camera.CFrame.Position - AimlockTarget.HumanoidRootPart.Position).magnitude
  535. getgenv().Exodus.Aimbot.FOV.FOVRadius = (getgenv().Exodus.Aimbot.FOV.DynamicAmmount / feign)
  536. end
  537. end
  538. if SelfAlive(getgenv().Exodus.Aimbot.Checks) and TargetKO(AimlockTarget, getgenv().Exodus.Aimbot.Checks) and
  539. IsOnScreen(AimlockTarget[getgenv().Exodus.Aimbot.Hitparts.Aimpart], getgenv().Exodus.Aimbot.Checks) and
  540. WallCheck(AimlockTarget, getgenv().Exodus.Aimbot.Checks) and
  541. IsInRadius(AimlockTarget, getgenv().Exodus.Aimbot.Checks) and
  542. TargetForceField(AimlockTarget, getgenv().Exodus.Aimbot.Checks) and
  543. TargetCrew(AimlockTargetName, getgenv().Exodus.Aimbot.Checks) and SelfReload(getgenv().Exodus.Aimbot.Checks) and
  544. IsInFirstPerson(getgenv().Exodus.Aimbot.Checks) and IsInThirdPerson(getgenv().Exodus.Aimbot.Checks) and
  545. GrabbedCheck(AimlockTarget, getgenv().Exodus.Aimbot.Checks) and
  546. AimlockTarget:FindFirstChild("HumanoidRootPart") then
  547. if getgenv().Exodus.Aimbot.Hitparts.AimpartType == "Nearest Part" or
  548. getgenv().Exodus.Aimbot.Hitparts.AimpartType == "Basic" then
  549. ac = AimlockTarget[getgenv().Exodus.Aimbot.Hitparts.Aimpart].Position
  550. elseif getgenv().Exodus.Aimbot.Hitparts.AimpartType == "Nearest Point" then
  551. getgenv().Exodus.Aimbot.Hitparts.Aimpart = tostring(
  552. getClosestPartToCursor(AimlockTarget, getgenv().Exodus.Aimbot))
  553. ac = getClosestPointOnPart(AimlockTarget[getgenv().Exodus.Aimbot.Hitparts.Aimpart])
  554. end
  555. pcall(function()
  556. local currentPosition = AimlockTarget.HumanoidRootPart.Position
  557. local currentTime = tick()
  558. local deltaPos = currentPosition - lastPosition
  559. local deltaTime = currentTime - lastTime
  560. if getgenv().Exodus.Aimbot.Resolving.Resolver then
  561. if getgenv().Exodus.Aimbot.Resolving.ResolverType == "When Velocity is too high" then
  562. if (AimlockTarget.HumanoidRootPart.Velocity).magnitude >
  563. getgenv().Exodus.Aimbot.Resolving.PosResolverMax or
  564. (AimlockTarget.HumanoidRootPart.Velocity).magnitude <
  565. -getgenv().Exodus.Aimbot.Resolving.NegResolverMax then
  566. if deltaTime >= 0.03 then
  567. Velocity = deltaPos / deltaTime
  568. lastPosition = currentPosition
  569. lastTime = currentTime
  570. end
  571. if getgenv().Exodus.Aimbot.Checks.UseYAxis == false then
  572. Velocity = Vector3.new(Velocity.X, 0, Velocity.Z)
  573. end
  574. else
  575. if getgenv().Exodus.Aimbot.Checks.UseYAxis == false then
  576. Velocity = Vector3.new(AimlockTarget.HumanoidRootPart.Velocity.X, 0,
  577. AimlockTarget.HumanoidRootPart.Velocity.Z)
  578. else
  579. Velocity = AimlockTarget.HumanoidRootPart.Velocity
  580. end
  581. end
  582. else
  583. if deltaTime >= 0.03 then
  584. Velocity = deltaPos / deltaTime
  585. lastPosition = currentPosition
  586. lastTime = currentTime
  587. end
  588. if getgenv().Exodus.Aimbot.Checks.UseYAxis == false then
  589. Velocity = Vector3.new(Velocity.X, 0, Velocity.Z)
  590. end
  591. end
  592. else
  593. if getgenv().Exodus.Aimbot.Checks.UseYAxis == false then
  594. Velocity = Vector3.new(AimlockTarget.HumanoidRootPart.Velocity.X, 0,
  595. AimlockTarget.HumanoidRootPart.Velocity.Z)
  596. else
  597. Velocity = AimlockTarget.HumanoidRootPart.Velocity
  598. end
  599. end
  600. if getgenv().Exodus.Aimbot.Shaking.Shake then
  601. if getgenv().Exodus.Aimbot.Predicting.Prediction then
  602. Main = CFrame.new(Local.Camera.CFrame.p, ac +
  603. Vector3.new(
  604. math.random(-getgenv().Exodus.Aimbot.Shaking.ShakeAmmount,
  605. getgenv().Exodus.Aimbot.Shaking.ShakeAmmount) * 0.01,
  606. math.random(-getgenv().Exodus.Aimbot.Shaking.ShakeAmmount,
  607. getgenv().Exodus.Aimbot.Shaking.ShakeAmmount) * 0.1, math.random(
  608. -getgenv().Exodus.Aimbot.Shaking.ShakeAmmount,
  609. getgenv().Exodus.Aimbot.Shaking.ShakeAmmount) * 0.1) +
  610. (Vector3.new(Velocity.X, Velocity.Y, Velocity.Z)) *
  611. getgenv().Exodus.Aimbot.Predicting.PredictionAmmount)
  612. else
  613. Main = CFrame.new(Local.Camera.CFrame.p, ac +
  614. Vector3.new(
  615. math.random(-getgenv().Exodus.Aimbot.Shaking.ShakeAmmount,
  616. getgenv().Exodus.Aimbot.Shaking.ShakeAmmount) * 0.01,
  617. math.random(-getgenv().Exodus.Aimbot.Shaking.ShakeAmmount,
  618. getgenv().Exodus.Aimbot.Shaking.ShakeAmmount) * 0.1, math.random(
  619. -getgenv().Exodus.Aimbot.Shaking.ShakeAmmount,
  620. getgenv().Exodus.Aimbot.Shaking.ShakeAmmount) * 0.1))
  621. end
  622. else
  623. if getgenv().Exodus.Aimbot.Predicting.Prediction then
  624. Main = CFrame.new(Local.Camera.CFrame.p,
  625. ac + (Vector3.new(Velocity.X, Velocity.Y, Velocity.Z)) *
  626. getgenv().Exodus.Aimbot.Predicting.PredictionAmmount)
  627. else
  628. Main = CFrame.new(Local.Camera.CFrame.p, ac)
  629. end
  630. end
  631. if getgenv().Exodus.Aimbot.Smoothing.Smoothness then
  632. aimbot(Main)
  633. else
  634. if getgenv().Exodus.Aimbot.Predicting.Prediction then
  635. Local.Camera.CFrame = CFrame.new(Local.Camera.CFrame.Position, ac +
  636. (Vector3.new(Velocity.X, Velocity.Y, Velocity.Z)) *
  637. getgenv().Exodus.Aimbot.Predicting.PredictionAmmount)
  638. else
  639. Local.Camera.CFrame = CFrame.new(Local.Camera.CFrame.Position, ac)
  640. end
  641. end
  642. end)
  643. end
  644. else
  645. getgenv().Exodus.Aimbot.Locking = false
  646. AimlockTarget = nil
  647. CamCircle.Visible = false
  648. end
  649. if getgenv().Exodus.SilentAim.Enabled then
  650. SilentTarget = getClosestPlayerToCursor(700)
  651. if SilentTarget and SilentTarget.Character and SilentTarget.Character:FindFirstChild("HumanoidRootPart") then
  652. pcall(function()
  653. local SilentcurrentPosition = SilentTarget.Character.HumanoidRootPart.Position
  654. local SilentcurrentTime = tick()
  655. local SilentdeltaPos = SilentcurrentPosition - SilentlastPosition
  656. local SilentdeltaTime = SilentcurrentTime - SilentlastTime
  657. if getgenv().Exodus.SilentAim.Resolving.Resolver then
  658. if getgenv().Exodus.SilentAim.ResolverType == "When Velocity is too high" then
  659. if (SilentTarget.Character.HumanoidRootPart.Velocity).magnitude >
  660. getgenv().Exodus.SilentAim.Resolving.PosResolverMax or
  661. (SilentTarget.Character.HumanoidRootPart.Velocity).magnitude <
  662. -getgenv().Exodus.SilentAim.Resolving.NegResolverMax then
  663. if SilentdeltaTime >= 0.03 then
  664. SilentVelocity = SilentdeltaPos / SilentdeltaTime
  665. SilentlastPosition = SilentcurrentPosition
  666. SilentlastTime = SilentcurrentTime
  667. end
  668. if getgenv().Exodus.SilentAim.Checks.UseYAxis == false then
  669. SilentVelocity = Vector3.new(SilentVelocity.X, 0, SilentVelocity.Z)
  670. end
  671. else
  672. if getgenv().Exodus.SilentAim.Checks.UseYAxis == false then
  673. SilentVelocity = Vector3.new(SilentTarget.Character.HumanoidRootPart.Velocity.X, 0,
  674. SilentTarget.Character.HumanoidRootPart.Velocity.Z)
  675. else
  676. SilentVelocity = SilentTarget.Character.HumanoidRootPart.Velocity
  677. end
  678. end
  679. else
  680. if SilentdeltaTime >= 0.03 then
  681. SilentVelocity = SilentdeltaPos / SilentdeltaTime
  682. SilentlastPosition = SilentcurrentPosition
  683. SilentlastTime = SilentcurrentTime
  684. end
  685. if getgenv().Exodus.SilentAim.Checks.UseYAxis == false then
  686. SilentVelocity = Vector3.new(Velocity.X, 0, Velocity.Z)
  687. end
  688. end
  689. else
  690. if getgenv().Exodus.SilentAim.Checks.UseYAxis == false then
  691. SilentVelocity = Vector3.new(SilentTarget.Character.HumanoidRootPart.Velocity.X, 0,
  692. SilentTarget.Character.HumanoidRootPart.Velocity.Z)
  693. else
  694. SilentVelocity = SilentTarget.Character.HumanoidRootPart.Velocity
  695. end
  696. end
  697. if getgenv().Exodus.SilentAim.Hitparts.AimpartType == "Nearest Part" then
  698. getgenv().Exodus.SilentAim.Hitparts.Aimpart =
  699. tostring(getClosestPartToCursor(SilentTarget.Character, getgenv().Exodus.SilentAim))
  700. Aimplace = (SilentTarget.Character[getgenv().Exodus.SilentAim.Hitparts.Aimpart].Position) +
  701. (SilentVelocity * getgenv().Exodus.SilentAim.Predicting.PredictionAmmount)
  702. elseif getgenv().Exodus.SilentAim.Hitparts.AimpartType == "Basic" then
  703. getgenv().Exodus.SilentAim.Hitparts.Aimpart = getgenv().Exodus.SilentAim.Hitparts.BasicAimpart
  704. Aimplace = (SilentTarget.Character[getgenv().Exodus.SilentAim.Hitparts.Aimpart].Position) +
  705. (SilentVelocity * getgenv().Exodus.SilentAim.Predicting.PredictionAmmount)
  706. elseif getgenv().Exodus.SilentAim.Hitparts.AimpartType == "Nearest Point" then
  707. getgenv().Exodus.SilentAim.Hitparts.Aimpart =
  708. tostring(getClosestPartToCursor(SilentTarget.Character, getgenv().Exodus.SilentAim))
  709. Aimplace = (getClosestPointOnPart(
  710. SilentTarget.Character[getgenv().Exodus.SilentAim.Hitparts.Aimpart]) +
  711. (SilentVelocity * getgenv().Exodus.SilentAim.Predicting.PredictionAmmount))
  712. end
  713. end)
  714. end
  715. if getgenv().Exodus.SilentAim.FOV.ShowFOV then
  716. SilentCircle.Radius = getgenv().Exodus.SilentAim.FOV.FOVRadius
  717. if getgenv().Exodus.SilentAim.FOV.FOVType2 == "Cursor" then
  718. SilentCircle.Visible = getgenv().Exodus.SilentAim.FOV.ShowFOV
  719. SilentCircle.Position = Vector2.new(Local.Mouse.X, Local.Mouse.Y + Services.GuiService:GetGuiInset().Y)
  720. else
  721. if SilentTarget then
  722. local PlayerPosition = SilentTarget.Character.HumanoidRootPart.Position + SilentVelocity *
  723. getgenv().Exodus.SilentAim.Predicting.PredictionAmmount
  724. local OnScreenPosition = Local.Camera:WorldToViewportPoint(PlayerPosition)
  725. SilentCircle.Position = (Vector2.new(OnScreenPosition.X, OnScreenPosition.Y))
  726. SilentCircle.Visible = getgenv().Exodus.SilentAim.FOV.ShowFOV
  727. else
  728. SilentCircle.Visible = false
  729. end
  730. end
  731. else
  732. SilentCircle.Visible = getgenv().Exodus.SilentAim.FOV.ShowFOV
  733. end
  734. if SilentTarget and SilentTarget.Character and SilentTarget.Character.HumanoidRootPart then
  735. if getgenv().Exodus.SilentAim.FOV.FOVType == "Dynamic" then
  736. if Local.Player.Character:FindFirstChild("HumanoidRootPart") then
  737. idk = (Local.Camera.CFrame.Position - SilentTarget.Character.HumanoidRootPart.Position).magnitude
  738. getgenv().Exodus.SilentAim.FOV.FOVRadius = (getgenv().Exodus.SilentAim.FOV.DynamicAmmount / idk)
  739. end
  740. end
  741. end
  742. else
  743. if SilentCircle.Visible ~= false then
  744. SilentCircle.Visible = false
  745. end
  746. end
  747. end))
  748.  
  749. local function getgamesnamecall()
  750. if game.PlaceId == 2788229376 or game.PlaceId == 4106313503 or game.PlaceId == 12442317726 then
  751. return "UpdateMousePos"
  752. elseif game.PlaceId == 5602055394 or game.PlaceId == 7951883376 then
  753. return "MousePos"
  754. elseif game.PlaceId == 9825515356 then
  755. return "GetMousePos"
  756. else
  757. return "UpdateMousePos"
  758. end
  759. end
  760.  
  761. local function MainEventLocate()
  762. for _, v in pairs(Services.ReplicatedStorage:GetChildren()) do
  763. if v.Name == "MainEvent" then
  764. return v
  765. end
  766. end
  767. end
  768.  
  769. local function SilentActivator(Place)
  770. if getgenv().Exodus.SilentAim.Enabled then
  771. if SilentTarget and SilentTarget.Character and SilentVelocity then
  772. if TargetKO(SilentTarget.Character, getgenv().Exodus.SilentAim.Checks) and
  773. IsOnScreen(SilentTarget.Character[getgenv().Exodus.SilentAim.Hitparts.Aimpart],
  774. getgenv().Exodus.SilentAim.Checks) and
  775. WallCheck(SilentTarget.Character, getgenv().Exodus.SilentAim.Checks) and
  776. IsInRadius(SilentTarget.Character, getgenv().Exodus.SilentAim.Checks) and
  777. TargetForceField(SilentTarget.Character, getgenv().Exodus.SilentAim.Checks) and
  778. TargetCrew(SilentTarget.Name, getgenv().Exodus.SilentAim.Checks) and
  779. GrabbedCheck(SilentTarget.Character, getgenv().Exodus.SilentAim.Checks) and
  780. SilentTarget.Character:FindFirstChild("HumanoidRootPart") then
  781. MainEventLocate():FireServer(getgamesnamecall(), Place)
  782. end
  783. end
  784. end
  785. end
  786.  
  787. Local.Player.Character.ChildAdded:Connect(LPH_JIT_MAX(function(tool)
  788. if tool:IsA("Tool") and
  789. (tool:FindFirstChild("Script") or tool:FindFirstChild("GunScript") or tool:FindFirstChild("weaponInfo")) then
  790. tool.Activated:Connect(function()
  791. SilentActivator(Aimplace)
  792. end)
  793. end
  794. end))
  795.  
  796. Local.Player.CharacterAdded:Connect(LPH_JIT_MAX(function(Character)
  797. Character.ChildAdded:Connect(function(tool)
  798. if tool:IsA("Tool") and
  799. (tool:FindFirstChild("Script") or tool:FindFirstChild("GunScript") or tool:FindFirstChild("weaponInfo")) then
  800. tool.Activated:Connect(function()
  801. SilentActivator(Aimplace)
  802. end)
  803. end
  804. end)
  805. end))
  806.  
  807. Services.UserInputService.InputBegan:Connect(LPH_JIT_MAX(function(input)
  808. if not (Services.UserInputService:GetFocusedTextBox()) then
  809. if input.KeyCode == Keybinds.SilentAim then
  810. if getgenv().Exodus.SilentAim.Enabled then
  811. getgenv().Exodus.SilentAim.Enabled = false
  812. elseif getgenv().Exodus.SilentAim.Enabled == false then
  813. getgenv().Exodus.SilentAim.Enabled = true
  814. end
  815. end
  816. end
  817. end))
  818.  
  819. wait(0.5)
  820.  
  821. if getgenv().Exodus.Startup.Intro then
  822. local Tracer = Drawing.new("Image")
  823. local Blur = Instance.new("BlurEffect")
  824. local screenSize = Services.Workspace.CurrentCamera.ViewportSize
  825. local centerPosition = Vector2.new(screenSize.X / 2, screenSize.Y / 2)
  826. Tracer.Position = centerPosition
  827. Tracer.Size = Vector2.new(0, 0)
  828. Tracer.Visible = true
  829. Tracer.Data = game:HttpGet("https://i.ibb.co/dcFvJVx/Vision-2-PFP-2-copie.png")
  830. Blur.Size = 0
  831. Blur.Parent = Services.Workspace.CurrentCamera
  832. for i = 1, 100 do
  833. Tracer.Size = Tracer.Size + (Vector2.new(540, 540) - Tracer.Size) / 20
  834. Tracer.Position = centerPosition - Tracer.Size / 2
  835. if Blur.Size ~= 10 then
  836. Blur.Size = Blur.Size + 1
  837. end
  838. task.wait()
  839. end
  840. Tracer.Size = Vector2.new(540, 540)
  841. Tracer.Position = centerPosition - Tracer.Size / 2
  842. wait(0.75)
  843. for i = 1, 85 do
  844. if Tracer.Transparency ~= 0 then
  845. Tracer.Transparency = Tracer.Transparency - 0.01
  846. end
  847. if Blur.Size ~= 0 then
  848. Blur.Size = Blur.Size - 1
  849. end
  850. task.wait()
  851. end
  852. Tracer.Size = Vector2.new(0, 0)
  853. Blur:Destroy()
  854. end
  855.  
  856. -- // Misc
  857.  
  858. -- // Macro
  859.  
  860. local SpeedGlitch = false
  861. Mouse.KeyDown:Connect(function(Key)
  862. if Key == (getgenv().Exodus.Misc.Macro.Keybind) and getgenv().Exodus.Misc.Macro.Type == "Third" then
  863. SpeedGlitch = not SpeedGlitch
  864. if SpeedGlitch == true then
  865. repeat
  866. task.wait(getgenv().Exodus.Misc.Macro.Speed / 100)
  867. game:GetService("VirtualInputManager"):SendKeyEvent(true, "I", false, game)
  868. task.wait(getgenv().Exodus.Misc.Macro.Speed / 100)
  869. game:GetService("VirtualInputManager"):SendKeyEvent(true, "O", false, game)
  870. task.wait(getgenv().Exodus.Misc.Macro.Speed / 100)
  871. game:GetService("VirtualInputManager"):SendKeyEvent(true, "I", false, game)
  872. task.wait(getgenv().Exodus.Misc.Macro.Speed / 100)
  873. game:GetService("VirtualInputManager"):SendKeyEvent(true, "O", false, game)
  874. task.wait(getgenv().Exodus.Misc.Macro.Speed / 100)
  875. until SpeedGlitch == false
  876. end
  877. end
  878. end)
  879. Mouse.KeyDown:Connect(function(Key)
  880. if Key == (getgenv().Exodus.Misc.Macro.Keybind) and getgenv().Exodus.Misc.Macro.Type == "First" then
  881. SpeedGlitch = not SpeedGlitch
  882. if SpeedGlitch == true then
  883. repeat
  884. task.wait(getgenv().Exodus.Misc.Macro.Speed / 100)
  885. game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", true, game)
  886. task.wait(getgenv().Exodus.Misc.Macro.Speed / 100)
  887. game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", false, game)
  888. task.wait(getgenv().Exodus.Misc.Macro.Speed / 100)
  889. game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", true, game)
  890. task.wait(getgenv().Exodus.Misc.Macro.Speed / 100)
  891. game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", false, game)
  892. task.wait(getgenv().Exodus.Misc.Macro.Speed / 100)
  893. until SpeedGlitch == false
  894. end
  895. end
  896. end)
  897.  
  898. -- // 360 Keybind
  899.  
  900. local Players = game:GetService("Players")
  901. local UserInputService = game:GetService("UserInputService")
  902. local RunService = game:GetService("RunService")
  903. local Camera = workspace.CurrentCamera
  904. local Toggle = getgenv().Exodus.Misc.Key360.Toggle
  905. local RotationSpeed = getgenv().Exodus.Misc.Key360.RotationSpeed
  906. local Keybind = getgenv().Exodus.Misc.Key360.Keybind
  907.  
  908. local function OnKeyPress(Input, GameProcessedEvent)
  909. if Input.KeyCode == Enum.KeyCode[Keybind:upper()] and not GameProcessedEvent then
  910. Toggle = not Toggle
  911. end
  912. end
  913.  
  914. UserInputService.InputBegan:Connect(OnKeyPress)
  915.  
  916. local LastRenderTime = 0
  917. local FullCircleRotation = 2 * math.pi
  918. local TotalRotation = 0
  919.  
  920. local function RotateCamera()
  921. if Toggle then
  922. local CurrentTime = tick()
  923. local TimeDelta = math.min(CurrentTime - LastRenderTime, 0.01)
  924. LastRenderTime = CurrentTime
  925.  
  926. local Rotation = CFrame.fromAxisAngle(Vector3.new(0, 1, 0), math.rad(RotationSpeed * TimeDelta))
  927. Camera.CFrame = Camera.CFrame * Rotation
  928.  
  929. TotalRotation = TotalRotation + math.rad(RotationSpeed * TimeDelta)
  930. if TotalRotation >= FullCircleRotation then
  931. Toggle = false
  932. TotalRotation = 0
  933. end
  934. end
  935. end
  936.  
  937. RunService.RenderStepped:Connect(RotateCamera)
  938.  
  939. -- // NoClip
  940.  
  941. if getgenv().Exodus.Misc.NoClip.Enabled == true then
  942. local Keybind = getgenv().Exodus.Misc.NoClip.Key
  943. while true do
  944. local function OnKeyPress(Input)
  945. if Input.KeyCode == Enum.KeyCode[Keybind:upper()] then
  946. for i, v in pairs(game.Players.LocalPlayer.Backpack:GetChildren()) do
  947. if v.Name == getgenv().Exodus.Misc.NoClip.GunName then
  948. game.Players.LocalPlayer.Character.Humanoid:EquipTool(v)
  949. task.wait(getgenv().Exodus.Misc.NoClip.Delay)
  950. game.Players.LocalPlayer.Character.Humanoid:UnequipTools()
  951. end
  952. end
  953. end
  954. end
  955. task.wait(getgenv().Exodus.Misc.NoClip.Delay)
  956. end
  957. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement