Advertisement
ZV0K

Ordium V2 💫

Aug 17th, 2023 (edited)
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.48 KB | None | 0 0
  1. getgenv().Ordium = {
  2. SilentAim = {
  3. Key = "P",
  4. Enabled = true,
  5. Prediction = 0.119,
  6. AimingType = "Closest Part", -- Closest Part, Default
  7. AimPart = "HumanoidRootPart",
  8.  
  9. ChanceData = {UseChance = false, Chance = 100},
  10. FOVData = {Radius = 80, Visibility = true, Filled = false},
  11.  
  12. AimingData = {CheckKnocked = true, CheckGrabbed = true,
  13. CheckWalls = true},
  14.  
  15. },
  16. Tracing = {
  17. Key = 'Q',
  18. Enabled = true,
  19. Prediction = 800,
  20. AimPart = "HumanoidRootPart",
  21. TracingOptions = {Strength = "Hard", AimingType = "Closest Part", Smoothness = 0.11}
  22. -- Hard, Soft
  23. }
  24. }
  25.  
  26. local Ordium = {functions = {}}
  27.  
  28. local Vector2New, Cam, Mouse, client, find, Draw, Inset, players, RunService, UIS=
  29. Vector2.new,
  30. workspace.CurrentCamera,
  31. game.Players.LocalPlayer:GetMouse(),
  32. game.Players.LocalPlayer,
  33. table.find,
  34. Drawing.new,
  35. game:GetService("GuiService"):GetGuiInset().Y,
  36. game.Players,
  37. game.RunService,
  38. game:GetService("UserInputService")
  39.  
  40.  
  41. local mf, rnew = math.floor, Random.new
  42.  
  43. local Targetting
  44. local lockedCamTo
  45.  
  46. local Circle = Draw("Circle")
  47. Circle.Thickness = 1
  48. Circle.Transparency = 0.7
  49. Circle.Color = Color3.new(1,1,1)
  50.  
  51. Ordium.functions.update_FOVs = function ()
  52. if not (Circle) then
  53. return Circle
  54. end
  55. Circle.Radius = getgenv().Ordium.SilentAim.FOVData.Radius * 3
  56. Circle.Visible = getgenv().Ordium.SilentAim.FOVData.Visibility
  57. Circle.Filled = getgenv().Ordium.SilentAim.FOVData.Filled
  58. Circle.Position = Vector2New(Mouse.X, Mouse.Y + (Inset))
  59. return Circle
  60. end
  61.  
  62. Ordium.functions.onKeyPress = function(inputObject)
  63. if inputObject.KeyCode == Enum.KeyCode[getgenv().Ordium.SilentAim.Key:upper()] then
  64. getgenv().Ordium.SilentAim.Enabled = not getgenv().Ordium.SilentAim.Enabled
  65. end
  66.  
  67. if inputObject.KeyCode == Enum.KeyCode[getgenv().Ordium.Tracing.Key:upper()] then
  68. getgenv().Ordium.Tracing.Enabled = not getgenv().Ordium.Tracing.Enabled
  69. if getgenv().Ordium.Tracing.Enabled then
  70. lockedCamTo = Ordium.functions.returnClosestPlayer(getgenv().Ordium.SilentAim.ChanceData.Chance)
  71. end
  72. end
  73. end
  74.  
  75. UIS.InputBegan:Connect(Ordium.functions.onKeyPress)
  76.  
  77.  
  78. Ordium.functions.wallCheck = function(direction, ignoreList)
  79. if not getgenv().Ordium.SilentAim.AimingData.CheckWalls then
  80. return true
  81. end
  82.  
  83. local ray = Ray.new(Cam.CFrame.p, direction - Cam.CFrame.p)
  84. local part, _, _ = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(ray, ignoreList)
  85.  
  86. return not part
  87. end
  88.  
  89. Ordium.functions.pointDistance = function(part)
  90. local OnScreen = Cam.WorldToScreenPoint(Cam, part.Position)
  91. if OnScreen then
  92. return (Vector2New(OnScreen.X, OnScreen.Y) - Vector2New(Mouse.X, Mouse.Y)).Magnitude
  93. end
  94. end
  95.  
  96. Ordium.functions.returnClosestPart = function(Character)
  97. local data = {
  98. dist = math.huge,
  99. part = nil,
  100. filteredparts = {},
  101. classes = {"Part", "BasePart", "MeshPart"}
  102. }
  103.  
  104. if not (Character and Character:IsA("Model")) then
  105. return data.part
  106. end
  107. local children = Character:GetChildren()
  108. for _, child in pairs(children) do
  109. if table.find(data.classes, child.ClassName) then
  110. table.insert(data.filteredparts, child)
  111. for _, part in pairs(data.filteredparts) do
  112. local dist = Ordium.functions.pointDistance(part)
  113. if Circle.Radius > dist and dist < data.dist then
  114. data.part = part
  115. data.dist = dist
  116. end
  117. end
  118. end
  119. end
  120. return data.part
  121. end
  122.  
  123. Ordium.functions.returnClosestPlayer = function (amount)
  124. local data = {
  125. dist = 1/0,
  126. player = nil
  127. }
  128.  
  129. amount = amount or nil
  130.  
  131. for _, player in pairs(players:GetPlayers()) do
  132. if (player.Character and player ~= client) then
  133. local dist = Ordium.functions.pointDistance(player.Character.HumanoidRootPart)
  134. if Circle.Radius > dist and dist < data.dist and
  135. Ordium.functions.wallCheck(player.Character.Head.Position,{client, player.Character}) then
  136. data.dist = dist
  137. data.player = player
  138. end
  139. end
  140. end
  141. local calc = mf(rnew().NextNumber(rnew(), 0, 1) * 100) / 100
  142. local use = getgenv().Ordium.SilentAim.ChanceData.UseChance
  143. if use and calc <= mf(amount) / 100 then
  144. return calc and data.player
  145. else
  146. return data.player
  147. end
  148. end
  149.  
  150. Ordium.functions.setAimingType = function (player, type)
  151. local previousSilentAimPart = getgenv().Ordium.SilentAim.AimPart
  152. local previousTracingPart = getgenv().Ordium.Tracing.AimPart
  153. if type == "Closest Part" then
  154. getgenv().Ordium.SilentAim.AimPart = tostring(Ordium.functions.returnClosestPart(player.Character))
  155. getgenv().Ordium.Tracing.AimPart = tostring(Ordium.functions.returnClosestPart(player.Character))
  156. elseif type == "Closest Point" then
  157. Ordium.functions.returnClosestPoint()
  158. elseif type == "Default" then
  159. getgenv().Ordium.SilentAim.AimPart = previousSilentAimPart
  160. getgenv().Ordium.Tracing.AimPart = previousTracingPart
  161. else
  162. getgenv().Ordium.SilentAim.AimPart = previousSilentAimPart
  163. getgenv().Ordium.Tracing.AimPart = previousTracingPart
  164. end
  165. end
  166.  
  167. Ordium.functions.aimingCheck = function (player)
  168. if getgenv().Ordium.SilentAim.AimingData.CheckKnocked == true and player and player.Character then
  169. if player.Character.BodyEffects["K.O"].Value then
  170. return true
  171. end
  172. end
  173. if getgenv().Ordium.SilentAim.AimingData.CheckGrabbed == true and player and player.Character then
  174. if player.Character:FindFirstChild("GRABBING_CONSTRAINT") then
  175. return true
  176. end
  177. end
  178. return false
  179. end
  180.  
  181.  
  182. local lastRender = 0
  183. local interpolation = 0.01
  184.  
  185. RunService.RenderStepped:Connect(function(delta)
  186. local valueTypes = 1.375
  187. lastRender = lastRender + delta
  188. while lastRender > interpolation do
  189. lastRender = lastRender - interpolation
  190. end
  191. if getgenv().Ordium.Tracing.Enabled and lockedCamTo ~= nil and getgenv().Ordium.Tracing.TracingOptions.Strength == "Hard" then
  192. local Vel = lockedCamTo.Character[getgenv().Ordium.Tracing.AimPart].Velocity / (getgenv().Ordium.Tracing.Prediction * valueTypes)
  193. local Main = CFrame.new(Cam.CFrame.p, lockedCamTo.Character[getgenv().Ordium.Tracing.AimPart].Position + (Vel))
  194. Cam.CFrame = Cam.CFrame:Lerp(Main ,getgenv().Ordium.Tracing.TracingOptions.Smoothness , Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
  195. Ordium.functions.setAimingType(lockedCamTo, getgenv().Ordium.Tracing.TracingOptions.AimingType)
  196. elseif getgenv().Ordium.Tracing.Enabled and lockedCamTo ~= nil and getgenv().Ordium.Tracing.TracingOptions.Strength == "Soft" then
  197. local Vel = lockedCamTo.Character[getgenv().Ordium.Tracing.AimPart].Velocity / (getgenv().Ordium.Tracing.Prediction / valueTypes)
  198. local Main = CFrame.new(Cam.CFrame.p, lockedCamTo.Character[getgenv().Ordium.Tracing.AimPart].Position + (Vel))
  199. Cam.CFrame = Cam.CFrame:Lerp(Main ,getgenv().Ordium.Tracing.TracingOptions.Smoothness , Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
  200. Ordium.functions.setAimingType(lockedCamTo, getgenv().Ordium.Tracing.TracingOptions.AimingType)
  201. else
  202.  
  203. end
  204. end)
  205.  
  206. task.spawn(function ()
  207. while task.wait() do
  208. if Targetting then
  209. Ordium.functions.setAimingType(Targetting, getgenv().Ordium.SilentAim.AimingType)
  210. end
  211. Ordium.functions.update_FOVs()
  212. end
  213. end)
  214.  
  215.  
  216. local __index
  217. __index = hookmetamethod(game,"__index", function(Obj, Property)
  218. if Obj:IsA("Mouse") and Property == "Hit" then
  219. Targetting = Ordium.functions.returnClosestPlayer(getgenv().Ordium.SilentAim.ChanceData.Chance)
  220. if Targetting ~= nil and getgenv().Ordium.SilentAim.Enabled and not Ordium.functions.aimingCheck(Targetting) then
  221. local currentvelocity = Targetting.Character[getgenv().Ordium.SilentAim.AimPart].Velocity
  222. local currentposition = Targetting.Character[getgenv().Ordium.SilentAim.AimPart].CFrame
  223.  
  224. return currentposition + (currentvelocity * getgenv().Ordium.SilentAim.Prediction)
  225. end
  226. end
  227. return __index(Obj, Property)
  228. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement