OR4NG3-FRU1T

V1rpShot script but i change the library from WindUI into Orion Library (NOT MY SCRIPT)

Jun 19th, 2026
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.11 KB | None | 0 0
  1. local Players = game:GetService("Players")
  2. local RunService = game:GetService("RunService")
  3. local Stats = game:GetService("Stats")
  4. local Workspace = game:GetService("Workspace")
  5. local TextChatService = game:GetService("TextChatService")
  6. local UserInputService = game:GetService("UserInputService")
  7.  
  8. local LocalPlayer = Players.LocalPlayer
  9.  
  10. local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/jensonhirst/Orion/main/source')))()
  11.  
  12. local Window = OrionLib:MakeWindow({
  13. Name = "V1rpShot",
  14. HidePremium = false,
  15. SaveConfig = true,
  16. ConfigFolder = "ChanceScript",
  17. IntroEnabled = true,
  18. IntroText = "Chance Aimbot",
  19. })
  20.  
  21. -- ════════════════════════════════════════
  22. -- STATE
  23. -- ════════════════════════════════════════
  24.  
  25. local aimEnabled = false
  26. local predMode = "Velocity"
  27. local predValue = 0.5
  28. local aimBehavior = "Normal"
  29. local spinDuration = 0.5
  30. local msgOnAim = false
  31. local msgText = ""
  32. local customAnim = false
  33. local customAnimID = ""
  34. local antiBait = true
  35. local smoothSpeed = 14
  36. local heightAim = true
  37. local holdToAim = true
  38. local aimKey = Enum.KeyCode.Q
  39. local holdingAimKey = false
  40.  
  41. -- ════════════════════════════════════════
  42. -- KILLER SPEED TABLE
  43. -- ════════════════════════════════════════
  44.  
  45. local killerSpeeds = {
  46. Slasher = { walk = 9, run = 28 },
  47. c00lkidd = { walk = 7.75, run = 28 },
  48. JohnDoe = { walk = 9, run = 27.25 },
  49. ["1x1x1x1"] = { walk = 8.5, run = 27 },
  50. Noli = { walk = 7.5, run = 27.5 },
  51. Guest666 = { walk = 9, run = 27 },
  52. Nosferatu = { walk = 7.25, run = 27.5 },
  53. Doombringer = { walk = 8, run = 27 },
  54. JaneDoe = { walk = 9, run = 27 },
  55. Builderman = { walk = 8.5, run = 27.5 },
  56. Dusekkar = { walk = 8, run = 27.5 },
  57. }
  58.  
  59. -- ════════════════════════════════════════
  60. -- CHARACTER REFS
  61. -- ════════════════════════════════════════
  62.  
  63. local Humanoid, HRP
  64. local function setChar(char)
  65. Humanoid = char:WaitForChild("Humanoid")
  66. HRP = char:WaitForChild("HumanoidRootPart")
  67. end
  68. if LocalPlayer.Character then setChar(LocalPlayer.Character) end
  69. LocalPlayer.CharacterAdded:Connect(setChar)
  70.  
  71. -- ════════════════════════════════════════
  72. -- TARGET SELECTION
  73. -- ════════════════════════════════════════
  74.  
  75. local function getNearest()
  76. if not HRP then return end
  77. local folder = Workspace:FindFirstChild("Players")
  78. folder = folder and folder:FindFirstChild("Killers")
  79. if not folder then return end
  80. local closest, dist = nil, math.huge
  81. for _, m in ipairs(folder:GetChildren()) do
  82. local r = m:FindFirstChild("HumanoidRootPart")
  83. local h = m:FindFirstChildOfClass("Humanoid")
  84. if r and h and h.Health > 0 then
  85. local d = (r.Position - HRP.Position).Magnitude
  86. if d < dist then dist = d; closest = r end
  87. end
  88. end
  89. return closest
  90. end
  91.  
  92. -- ════════════════════════════════════════
  93. -- MOTION TRACKER
  94. -- ════════════════════════════════════════
  95.  
  96. local motionData = {}
  97.  
  98. local function getMotion(hrp)
  99. local now = tick()
  100. local pos = hrp.Position
  101. local data = motionData[hrp]
  102. if not data then
  103. motionData[hrp] = { lastPos = pos, lastTime = now,
  104. velocity = Vector3.zero, accel = Vector3.zero }
  105. return Vector3.zero, Vector3.zero
  106. end
  107. local dt = now - data.lastTime
  108. if dt <= 0 then return data.velocity, data.accel end
  109. local vel = (pos - data.lastPos) / dt
  110. local accel = (vel - data.velocity) / dt
  111. data.lastPos = pos
  112. data.lastTime = now
  113. data.accel = accel
  114. data.velocity = vel
  115. return vel, accel
  116. end
  117.  
  118. -- ════════════════════════════════════════
  119. -- PING
  120. -- ════════════════════════════════════════
  121.  
  122. local pingSamples = {}
  123. local function getPing()
  124. local ok, stat = pcall(function()
  125. return Stats.Network.ServerStatsItem["Data Ping"]:GetValue()
  126. end)
  127. local raw = (ok and stat or 100) / 1000
  128. table.insert(pingSamples, raw)
  129. if #pingSamples > 5 then table.remove(pingSamples, 1) end
  130. local sum = 0
  131. for _, v in ipairs(pingSamples) do sum = sum + v end
  132. return sum / #pingSamples
  133. end
  134.  
  135. -- ════════════════════════════════════════
  136. -- PREDICTION
  137. -- ════════════════════════════════════════
  138.  
  139. local function predict(hrp)
  140. local vel, accel = getMotion(hrp)
  141. local pos = hrp.Position
  142. local speed = vel.Magnitude
  143.  
  144. if antiBait then
  145. local model = hrp.Parent
  146. if model and killerSpeeds[model.Name] then
  147. local maxSpeed = killerSpeeds[model.Name].run + 2
  148. if speed > maxSpeed then
  149. vel = vel.Unit * maxSpeed
  150. speed = maxSpeed
  151. end
  152. end
  153. end
  154.  
  155. local ping = getPing()
  156. local dist = HRP and (hrp.Position - HRP.Position).Magnitude or 0
  157. local distScale = dist * 0.003
  158.  
  159. local lead
  160. if predMode == "Velocity" then
  161. lead = predValue + distScale
  162. elseif predMode == "Ping" then
  163. lead = ping * predValue + distScale
  164. elseif predMode == "Look" then
  165. return pos + hrp.CFrame.LookVector * (speed * predValue)
  166. elseif predMode == "LookPing" then
  167. return pos + hrp.CFrame.LookVector * (speed * ping)
  168. else
  169. lead = predValue
  170. end
  171.  
  172. if HRP and speed > 1 then
  173. local toKiller = (hrp.Position - HRP.Position).Unit
  174. local strafe = math.abs(vel.Unit:Dot(
  175. Vector3.new(-toKiller.Z, 0, toKiller.X)))
  176. if strafe > 0.5 then lead = lead + strafe * 0.06 end
  177. end
  178.  
  179. if speed < 0.5 then return pos end
  180.  
  181. local accelContrib = accel * lead * lead * 0.5
  182. local accelMag = accelContrib.Magnitude
  183. if accelMag > speed * 0.4 then
  184. accelContrib = accelContrib.Unit * (speed * 0.4)
  185. end
  186.  
  187. return pos + vel * lead + accelContrib
  188. end
  189.  
  190. -- ════════════════════════════════════════
  191. -- ANIMATION TRIGGERS
  192. -- ════════════════════════════════════════
  193.  
  194. local aiming = false
  195. local startTime = 0
  196. local duration = 1.7
  197.  
  198. local triggers = {
  199. ["133607163653602"] = true,
  200. ["133491532453922"] = true,
  201. ["131189930305001"] = true,
  202. ["111384272984267"] = true,
  203. ["103601716322988"] = true,
  204. ["76649505662612"] = true,
  205. }
  206.  
  207. local function hookAnimator(char)
  208. local hum = char:WaitForChild("Humanoid")
  209. local animator = hum:WaitForChild("Animator")
  210. animator.AnimationPlayed:Connect(function(track)
  211. if not aimEnabled or holdToAim then return end
  212. local id = track.Animation.AnimationId:match("%d+")
  213. if id and triggers[id] then
  214. aiming = true
  215. startTime = tick()
  216. if msgOnAim and msgText ~= "" then
  217. local ch = TextChatService.TextChannels.RBXGeneral
  218. if ch then pcall(ch.SendAsync, ch, msgText) end
  219. end
  220. if customAnim and tonumber(customAnimID) then
  221. local a = Instance.new("Animation")
  222. a.AnimationId = "rbxassetid://" .. customAnimID
  223. hum.Animator:LoadAnimation(a):Play()
  224. end
  225. end
  226. end)
  227. end
  228.  
  229. if LocalPlayer.Character then hookAnimator(LocalPlayer.Character) end
  230. LocalPlayer.CharacterAdded:Connect(hookAnimator)
  231.  
  232. -- ════════════════════════════════════════
  233. -- PC KEYBIND
  234. -- ════════════════════════════════════════
  235.  
  236. UserInputService.InputBegan:Connect(function(input, gpe)
  237. if gpe then return end
  238. if holdToAim and input.KeyCode == aimKey then
  239. holdingAimKey = true
  240. aiming = true
  241. startTime = tick()
  242. end
  243. end)
  244.  
  245. UserInputService.InputEnded:Connect(function(input)
  246. if holdToAim and input.KeyCode == aimKey then
  247. holdingAimKey = false
  248. aiming = false
  249. end
  250. end)
  251.  
  252. -- ════════════════════════════════════════
  253. -- RENDER LOOP
  254. -- ════════════════════════════════════════
  255.  
  256. RunService.RenderStepped:Connect(function(dt)
  257. if not aimEnabled or not HRP then return end
  258. if holdToAim then
  259. if not holdingAimKey then return end
  260. else
  261. if not aiming then return end
  262. if tick() - startTime > duration then aiming = false; return end
  263. end
  264.  
  265. local target = getNearest()
  266. if not target then return end
  267. local pos = predict(target)
  268. if not pos then return end
  269.  
  270. local aimPos
  271. if heightAim then
  272. aimPos = pos
  273. else
  274. aimPos = Vector3.new(pos.X, HRP.Position.Y, pos.Z)
  275. end
  276.  
  277. if aimBehavior == "360" then
  278. local prog = (tick() - startTime) / spinDuration
  279. if prog < 1 then
  280. local spunCF = CFrame.new(HRP.Position)
  281. * CFrame.Angles(0, math.rad(360 * prog), 0)
  282. HRP.CFrame = spunCF
  283. return
  284. end
  285. end
  286.  
  287. local goalCF = CFrame.lookAt(HRP.Position, aimPos)
  288. local isMoving = HRP.AssemblyLinearVelocity.Magnitude > 0.5
  289. local speed = isMoving and math.max(smoothSpeed, 20) or smoothSpeed
  290. local alpha = 1 - math.exp(-speed * dt)
  291. HRP.CFrame = HRP.CFrame:Lerp(goalCF, alpha)
  292. end)
  293.  
  294. -- ════════════════════════════════════════
  295. -- UI - CHANCE TAB
  296. -- ════════════════════════════════════════
  297.  
  298. local ChanceTab = Window:MakeTab({
  299. Name = "Chance",
  300. Icon = "rbxassetid://4483345998",
  301. PremiumOnly = false,
  302. })
  303.  
  304. ChanceTab:AddLabel("Aimbot")
  305.  
  306. ChanceTab:AddToggle({
  307. Name = "Enable Aimbot",
  308. Default = false,
  309. Callback = function(v) aimEnabled = v end,
  310. })
  311.  
  312. ChanceTab:AddDropdown({
  313. Name = "Prediction Mode",
  314. Default = "Velocity",
  315. Options = { "Velocity", "Ping", "Look", "LookPing" },
  316. Callback = function(v) predMode = v end,
  317. })
  318.  
  319. ChanceTab:AddTextbox({
  320. Name = "Prediction Value",
  321. Default = "0.5",
  322. TextDisappear = true,
  323. Callback = function(v)
  324. local n = tonumber(v)
  325. if n then predValue = n end
  326. end,
  327. })
  328.  
  329. ChanceTab:AddSlider({
  330. Name = "Smooth Speed",
  331. Min = 1,
  332. Max = 30,
  333. Default = 14,
  334. Color = Color3.fromRGB(255, 255, 255),
  335. Increment = 1,
  336. ValueName = "",
  337. Callback = function(v) smoothSpeed = v end,
  338. })
  339.  
  340. ChanceTab:AddToggle({
  341. Name = "Height-Aware Aim",
  342. Default = true,
  343. Callback = function(v) heightAim = v end,
  344. })
  345.  
  346. ChanceTab:AddDropdown({
  347. Name = "Aim Behavior",
  348. Default = "Normal",
  349. Options = { "Normal", "360" },
  350. Callback = function(v) aimBehavior = v end,
  351. })
  352.  
  353. ChanceTab:AddTextbox({
  354. Name = "Spin Duration",
  355. Default = "0.5",
  356. TextDisappear = true,
  357. Callback = function(v)
  358. local n = tonumber(v)
  359. if n then spinDuration = n end
  360. end,
  361. })
  362.  
  363. ChanceTab:AddToggle({
  364. Name = "Anti Bait",
  365. Default = true,
  366. Callback = function(v) antiBait = v end,
  367. })
  368.  
  369. ChanceTab:AddToggle({
  370. Name = "Message When Aim",
  371. Default = false,
  372. Callback = function(v) msgOnAim = v end,
  373. })
  374.  
  375. ChanceTab:AddTextbox({
  376. Name = "Message Text",
  377. Default = "",
  378. TextDisappear = true,
  379. Callback = function(v) msgText = v end,
  380. })
  381.  
  382. ChanceTab:AddButton({
  383. Name = "Ping Aim Preset",
  384. Callback = function()
  385. aimEnabled = true
  386. predMode = "Ping"
  387. predValue = 1.5
  388. print("[Chance] Preset Applied: Ping mode, value 1.5")
  389. end,
  390. })
  391.  
  392. ChanceTab:AddButton({
  393. Name = "Owner's Setting Opinion",
  394. Callback = function()
  395. print("[Chance] 0.5 works best for 90-120 ping | Same for ping 1.5 | High ping: 0.4 velocity | Else: 1.3 ping")
  396. end,
  397. })
  398.  
  399. ChanceTab:AddButton({
  400. Name = "Tester's Setting Opinion",
  401. Callback = function()
  402. print("[Chance] 60 ping: 0.1-0.2 | 120 ping: ~0.5 | 200-300 ping: don't use")
  403. end,
  404. })
  405.  
  406. -- PC / Input
  407. ChanceTab:AddLabel("PC / Input")
  408.  
  409. ChanceTab:AddToggle({
  410. Name = "Hold-to-Aim",
  411. Default = true,
  412. Callback = function(v) holdToAim = v end,
  413. })
  414.  
  415. ChanceTab:AddDropdown({
  416. Name = "Aim Key",
  417. Default = "Q",
  418. Options = { "Q", "E", "R", "T", "F", "G", "X", "C", "V" },
  419. Callback = function(v)
  420. aimKey = Enum.KeyCode[v]
  421. end,
  422. })
  423.  
  424. -- Misc
  425. ChanceTab:AddLabel("Misc")
  426.  
  427. ChanceTab:AddToggle({
  428. Name = "Custom Shoot Anim",
  429. Default = false,
  430. Callback = function(v) customAnim = v end,
  431. })
  432.  
  433. ChanceTab:AddTextbox({
  434. Name = "Animation ID",
  435. Default = "",
  436. TextDisappear = true,
  437. Callback = function(v) customAnimID = v end,
  438. })
  439.  
  440. -- ════════════════════════════════════════
  441. -- UI - CREDITS TAB
  442. -- ════════════════════════════════════════
  443.  
  444. local CreditsTab = Window:MakeTab({
  445. Name = "Credits",
  446. Icon = "rbxassetid://4483345998",
  447. PremiumOnly = false,
  448. })
  449.  
  450. CreditsTab:AddLabel("Script Credits")
  451. CreditsTab:AddLabel("Credits to eternal.hope_ on Discord for helping test the script!")
  452.  
  453. -- ════════════════════════════════════════
  454. -- INIT
  455. -- ════════════════════════════════════════
  456.  
  457. OrionLib:Init()
Advertisement
Add Comment
Please, Sign In to add comment