OR4NG3-FRU1T

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

Jun 21st, 2026
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.98 KB | None | 0 0
  1. local playersService = game:GetService("Players")
  2. local lightingService = game:GetService("Lighting")
  3. local userInputService = game:GetService("UserInputService")
  4. local runService = game:GetService("RunService")
  5. local replicatedStorage = game:GetService("ReplicatedStorage")
  6. local materialService = game:GetService("MaterialService")
  7. local workspaceService = game:GetService("Workspace")
  8. local statsService = game:GetService("Stats")
  9. local textChatService = game:GetService("TextChatService")
  10.  
  11. -- Client references
  12. local clientPlayer = playersService.LocalPlayer
  13. local PlayerGui = clientPlayer:WaitForChild("PlayerGui", 10)
  14.  
  15. -- Load Orion Library
  16. local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/jensonhirst/Orion/main/source')))()
  17.  
  18. -- Create main window
  19. local Window = OrionLib:MakeWindow({
  20. Name = "V1PRBLOCK",
  21. HidePremium = false,
  22. SaveConfig = true,
  23. ConfigFolder = "GlovSakenScript",
  24. IntroEnabled = true,
  25. IntroText = "V1PRBLOCK",
  26. })
  27.  
  28. ----------------------------------------------------------------
  29. -- Sentinel Tab
  30. ----------------------------------------------------------------
  31. local SentinelTab = Window:MakeTab({
  32. Name = "Sentinel",
  33. Icon = "rbxassetid://4483345998",
  34. PremiumOnly = false,
  35. })
  36.  
  37. ----------------------------------------------------------------
  38. -- Guest1337 Section
  39. ----------------------------------------------------------------
  40. SentinelTab:AddLabel("Guest1337")
  41.  
  42. -- Guest variables
  43. local guestAutoBlockAudioOn = true
  44. local guestAutoPunchOn = true
  45. local guestVerifyFacingCheckOn = true
  46. local guestShowVisionRange = true
  47. local guestHitboxDraggingOn = false
  48. local guestHitboxDragDuration = 0.3
  49. local guestDetectionRange = 13.5
  50. local guestDetectionRangeSq = guestDetectionRange * guestDetectionRange
  51. local guestVisionRange = 13.5
  52. local guestVisionAngle = 85
  53. local guestAimPunchActive = true
  54. local guestPunchPrediction = 1.6
  55. local guestAimPunchDuration = 0.7
  56. local guestCenterPart, guestLeftPart, guestRightPart, guestLeftToKillerPart, guestRightToKillerPart, guestLeftToCenterPart, guestCenterToRightPart = nil, nil, nil, nil, nil, nil, nil
  57. local guestBlockCooldown = 0.35
  58. local guestBlockDelay = 0
  59.  
  60. -- Sound IDs that trigger auto-block
  61. local guestAutoBlockTriggerSounds = {
  62. ["102228729296384"] = true, ["140242176732868"] = true, ["112809109188560"] = true, ["136323728355613"] = true,
  63. ["115026634746636"] = true, ["84116622032112"] = true, ["108907358619313"] = true, ["127793641088496"] = true,
  64. ["86174610237192"] = true, ["95079963655241"] = true, ["101199185291628"] = true, ["119942598489800"] = true,
  65. ["84307400688050"] = true, ["113037804008732"] = true, ["105200830849301"] = true, ["75330693422988"] = true,
  66. ["82221759983649"] = true, ["109348678063422"] = true, ["81702359653578"] = true, ["85853080745515"] = true,
  67. ["108610718831698"] = true, ["112395455254818"] = true, ["109431876587852"] = true, ["12222216"] = true,
  68. ["79980897195554"] = true, ["119583605486352"] = true, ["71834552297085"] = true, ["116581754553533"] = true,
  69. ["86833981571073"] = true, ["110372418055226"] = true, ["105840448036441"] = true, ["86494585504534"] = true,
  70. ["80516583309685"] = true, ["131406927389838"] = true, ["89004992452376"] = true, ["117231507259853"] = true,
  71. ["101698569375359"] = true, ["101553872555606"] = true, ["140412278320643"] = true, ["106300477136129"] = true,
  72. ["117173212095661"] = true, ["104910828105172"] = true, ["140194172008986"] = true, ["85544168523099"] = true,
  73. ["114506382930939"] = true, ["99829427721752"] = true, ["120059928759346"] = true, ["104625283622511"] = true,
  74. ["105316545074913"] = true, ["126131675979001"] = true, ["82336352305186"] = true, ["93366464803829"] = true,
  75. ["84069821282466"] = true, ["128856426573270"] = true, ["121954639447247"] = true, ["128195973631079"] = true,
  76. ["124903763333174"] = true, ["94317217837143"] = true, ["98111231282218"] = true, ["119089145505438"] = true,
  77. ["136728245733659"] = true, ["71310583817000"] = true, ["107444859834748"] = true, ["76959687420003"] = true,
  78. ["72425554233832"] = true, ["96594507550917"] = true, ["139996647355899"] = true, ["107345261604889"] = true,
  79. ["127557531826290"] = true, ["108651070773439"] = true, ["74842815979546"] = true,
  80. ["124397369810639"] = true,
  81. ["76467993976301"] = true, ["118493324723683"] = true, ["78298577002481"] = true, ["116527305931161"] = true,
  82. ["5148302439"] = true, ["98675142200448"] = true, ["128367348686124"] = true, ["71805956520207"] = true,
  83. ["125213046326879"] = true, ["84353899757208"] = true, ["103684883268194"] = true,
  84. ["109246041199659"] = true, ["80540530406270"] = true, ["139523195429581"] = true, ["105204810054381"] = true,
  85. }
  86.  
  87. -- Punch animations to track for aim punch
  88. local guestTrackedPunchAnimations = {
  89. ["87259391926321"] = true, ["140703210927645"] = true, ["136007065400978"] = true, ["129843313690921"] = true,
  90. ["86709774283672"] = true, ["108807732150251"] = true, ["138040001965654"] = true, ["86096387000557"] = true,
  91. ["81905101227053"] = true, ["108807732150251"] = true, ["127777649118195"] = true, ["99100240941590"] = true,
  92. ["92831180929659"] = true, ["112081768119093"] = true, ["117587689359268"] = true, ["91830732867282"] = true,
  93. ["91730605416216"] = true, ["100184164753080"] = true,
  94. }
  95.  
  96. -- Target killer usernames for aim punch
  97. local guestAimTargets = {"Slasher", "c00lkidd", "JohnDoe", "1x1x1x1", "Noli", "Sixer", "Nosferatu"}
  98.  
  99. local guestHumanoid, guestHRP = nil, nil
  100. local guestPunchAiming = false
  101. local guestPunchLastTriggerTime = 0
  102. local guestOriginalWS, guestOriginalJP, guestOriginalAutoRotate = nil, nil, nil
  103. local guestAimConnection = nil
  104. local guestSoundHooks = {}
  105. local guestSoundBlockedUntil = {}
  106. local guestLastBlockTime = 0
  107. local guestAutoPunchDelay = 0.3
  108. local guestSoundBlockDuration = 0.5
  109. local guestRemoteEvent = game:GetService("ReplicatedStorage"):WaitForChild("Modules"):WaitForChild("Network"):WaitForChild("RemoteEvent")
  110.  
  111. -- Get valid killer target
  112. local function guestGetValidTarget()
  113. local killersFolder = workspaceService:FindFirstChild("Players") and workspaceService.Players:FindFirstChild("Killers")
  114. if killersFolder then
  115. for _, name in ipairs(guestAimTargets) do
  116. local target = killersFolder:FindFirstChild(name)
  117. if target and target:FindFirstChild("HumanoidRootPart") then
  118. return target.HumanoidRootPart, target:FindFirstChild("Humanoid")
  119. end
  120. end
  121. end
  122. return nil, nil
  123. end
  124.  
  125. local function guestExtractNumericSoundId(sound)
  126. if not sound then return nil end
  127. local sid = tostring(sound.SoundId)
  128. local num = sid:match("%d+")
  129. if num then return num end
  130. local hash = sid:match("[&%?]hash=([^&]+)")
  131. if hash then return "&hash="..hash end
  132. local path = sid:match("rbxasset://sounds/.+")
  133. if path then return path end
  134. return nil
  135. end
  136.  
  137. local function guestGetSoundWorldPosition(sound)
  138. if not sound then return nil end
  139. if sound.Parent and sound.Parent:IsA("BasePart") then
  140. return sound.Parent.Position, sound.Parent
  141. end
  142. if sound.Parent and sound.Parent:IsA("Attachment") and sound.Parent.Parent and sound.Parent.Parent:IsA("BasePart") then
  143. return sound.Parent.Parent.Position, sound.Parent.Parent
  144. end
  145. local found = sound.Parent and sound.Parent:FindFirstChildWhichIsA("BasePart", true)
  146. if found then return found.Position, found end
  147. return nil, nil
  148. end
  149.  
  150. local function guestGetCharacterFromDescendant(inst)
  151. if not inst then return nil end
  152. local model = inst:FindFirstAncestorOfClass("Model")
  153. if model and model:FindFirstChildOfClass("Humanoid") then
  154. return model
  155. end
  156. return nil
  157. end
  158.  
  159. local function guestFireRemoteBlock()
  160. guestRemoteEvent:FireServer(
  161. "UseActorAbility",
  162. { [1] = buffer.fromstring("\3\5\0\0\0Block") }
  163. )
  164. end
  165.  
  166. local function guestFireRemotePunch()
  167. guestRemoteEvent:FireServer(
  168. "UseActorAbility",
  169. { [1] = buffer.fromstring("\3\5\0\0\0Punch") }
  170. )
  171. end
  172.  
  173. local function guestPerformHitboxDrag(killerHrp)
  174. if not guestHitboxDraggingOn or not killerHrp then return end
  175. local myChar = playersService.LocalPlayer.Character
  176. local myHumanoid = myChar and myChar:FindFirstChild("Humanoid")
  177. local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
  178. if not myHumanoid or not myRoot then return end
  179. local startTime = tick()
  180. local dragConnection
  181. dragConnection = runService.Heartbeat:Connect(function()
  182. local elapsed = tick() - startTime
  183. if elapsed >= guestHitboxDragDuration
  184. or not guestHitboxDraggingOn
  185. or not killerHrp.Parent
  186. or not myHumanoid.Parent
  187. then
  188. dragConnection:Disconnect()
  189. dragConnection = nil
  190. local char = playersService.LocalPlayer.Character
  191. local hum = char and char:FindFirstChild("Humanoid")
  192. local hrp = char and char:FindFirstChild("HumanoidRootPart")
  193. if hum and hrp then hum:MoveTo(hrp.Position) end
  194. return
  195. end
  196. myHumanoid:MoveTo(killerHrp.Position)
  197. end)
  198. end
  199.  
  200. local function guestAttemptBlock(char, hrp)
  201. if not guestAutoBlockAudioOn then return end
  202. local t = tick()
  203. if t < guestLastBlockTime + guestBlockCooldown then return end
  204. local myChar = playersService.LocalPlayer.Character
  205. local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
  206. if not myRoot or not hrp then return end
  207. task.delay(guestBlockDelay, function()
  208. local stillValid = myChar and myChar:FindFirstChild("HumanoidRootPart") and hrp.Parent
  209. if not stillValid then return end
  210. guestPerformHitboxDrag(hrp)
  211. guestFireRemoteBlock()
  212. guestLastBlockTime = tick()
  213. if guestAutoPunchOn then
  214. task.delay(guestAutoPunchDelay, guestFireRemotePunch)
  215. end
  216. end)
  217. end
  218.  
  219. local function guestCreateVisionPart()
  220. local part = Instance.new("Part")
  221. part.Size = Vector3.new(1, 1, 1)
  222. part.Shape = Enum.PartType.Ball
  223. part.Anchored = true
  224. part.CanCollide = false
  225. part.Transparency = 0.5
  226. part.Color = Color3.fromRGB(255, 0, 0)
  227. part.Parent = workspaceService
  228. return part
  229. end
  230.  
  231. local function guestCreateConnectionPart()
  232. local part = Instance.new("Part")
  233. part.Size = Vector3.new(0.1, 0.1, 1)
  234. part.Anchored = true
  235. part.CanCollide = false
  236. part.Transparency = 0.3
  237. part.Color = Color3.fromRGB(255, 0, 0)
  238. part.Parent = workspaceService
  239. return part
  240. end
  241.  
  242. local function guestCleanupVisionCone()
  243. if guestCenterPart then guestCenterPart:Destroy(); guestCenterPart = nil end
  244. if guestLeftPart then guestLeftPart:Destroy(); guestLeftPart = nil end
  245. if guestRightPart then guestRightPart:Destroy(); guestRightPart = nil end
  246. if guestLeftToKillerPart then guestLeftToKillerPart:Destroy(); guestLeftToKillerPart = nil end
  247. if guestRightToKillerPart then guestRightToKillerPart:Destroy(); guestRightToKillerPart = nil end
  248. if guestLeftToCenterPart then guestLeftToCenterPart:Destroy(); guestLeftToCenterPart = nil end
  249. if guestCenterToRightPart then guestCenterToRightPart:Destroy(); guestCenterToRightPart = nil end
  250. end
  251.  
  252. local function guestUpdateVisionCone()
  253. if not guestShowVisionRange then
  254. if guestCenterPart then guestCleanupVisionCone() end
  255. return
  256. end
  257. local myChar = playersService.LocalPlayer.Character
  258. local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
  259. if not myRoot then guestCleanupVisionCone(); return end
  260. local killersFolder = workspaceService:FindFirstChild("Players") and workspaceService.Players:FindFirstChild("Killers")
  261. if not killersFolder then guestCleanupVisionCone(); return end
  262. local killerHRP = nil
  263. for _, name in ipairs(guestAimTargets) do
  264. local target = killersFolder:FindFirstChild(name)
  265. if target and target:FindFirstChild("HumanoidRootPart") then
  266. killerHRP = target.HumanoidRootPart; break
  267. end
  268. end
  269. if not killerHRP then guestCleanupVisionCone(); return end
  270. local fwd = killerHRP.CFrame.LookVector
  271. local halfAngleRad = math.rad(guestVisionAngle / 2)
  272. local right = Vector3.new(-fwd.Z, 0, fwd.X).Unit
  273. local leftDir = (fwd * math.cos(halfAngleRad) + right * math.sin(halfAngleRad)).Unit
  274. local rightDir = (fwd * math.cos(halfAngleRad) - right * math.sin(halfAngleRad)).Unit
  275. local centerPos = killerHRP.Position + fwd * guestVisionRange
  276. local leftPos = killerHRP.Position + leftDir * guestVisionRange
  277. local rightPos = killerHRP.Position + rightDir * guestVisionRange
  278. if not guestCenterPart then guestCenterPart = guestCreateVisionPart() end
  279. if not guestLeftPart then guestLeftPart = guestCreateVisionPart() end
  280. if not guestRightPart then guestRightPart = guestCreateVisionPart() end
  281. guestCenterPart.Position = centerPos
  282. guestLeftPart.Position = leftPos
  283. guestRightPart.Position = rightPos
  284. if not guestLeftToKillerPart then guestLeftToKillerPart = guestCreateConnectionPart() end
  285. if not guestRightToKillerPart then guestRightToKillerPart = guestCreateConnectionPart() end
  286. if not guestLeftToCenterPart then guestLeftToCenterPart = guestCreateConnectionPart() end
  287. if not guestCenterToRightPart then guestCenterToRightPart = guestCreateConnectionPart() end
  288. local function updateLine(part, p1, p2)
  289. local mid = (p1 + p2) / 2
  290. local dist = (p2 - p1).Magnitude
  291. part.Size = Vector3.new(0.1, 0.1, dist)
  292. part.CFrame = CFrame.new(mid, p2)
  293. end
  294. updateLine(guestLeftToKillerPart, killerHRP.Position, leftPos)
  295. updateLine(guestRightToKillerPart, killerHRP.Position, rightPos)
  296. updateLine(guestLeftToCenterPart, leftPos, centerPos)
  297. updateLine(guestCenterToRightPart, centerPos, rightPos)
  298. end
  299.  
  300. local function guestAttemptBlockForSound(sound, preId)
  301. if not guestAutoBlockAudioOn then return end
  302. if not sound or not sound:IsA("Sound") then return end
  303. local id = preId or guestExtractNumericSoundId(sound)
  304. if not id or not guestAutoBlockTriggerSounds[id] then return end
  305. local t = tick()
  306. if guestSoundBlockedUntil[sound] and t < guestSoundBlockedUntil[sound] then return end
  307. if t < guestLastBlockTime + guestBlockCooldown then return end
  308. local myChar = playersService.LocalPlayer.Character
  309. local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
  310. if not myRoot then return end
  311. local _, soundPart = guestGetSoundWorldPosition(sound)
  312. if not soundPart then return end
  313. local char = guestGetCharacterFromDescendant(soundPart)
  314. local plr = char and playersService:GetPlayerFromCharacter(char)
  315. if not plr or plr == playersService.LocalPlayer then return end
  316. local hrp = char:FindFirstChild("HumanoidRootPart")
  317. if not hrp then return end
  318. local distSq = (hrp.Position - myRoot.Position).Magnitude^2
  319. local pingComp = 0.2 * guestDetectionRange
  320. if distSq > guestDetectionRangeSq + pingComp then return end
  321. if guestVerifyFacingCheckOn then
  322. local success, result = pcall(function()
  323. local dirToPlayer = (myRoot.Position - hrp.Position).Unit
  324. local dot = hrp.CFrame.LookVector:Dot(dirToPlayer)
  325. local cosAngle = math.cos(math.rad(guestVisionAngle / 2))
  326. local close = distSq < 25
  327. return close or dot >= cosAngle
  328. end)
  329. if not success or not result then return end
  330. end
  331. guestAttemptBlock(char, hrp)
  332. guestSoundBlockedUntil[sound] = t + guestSoundBlockDuration
  333. end
  334.  
  335. local function guestHookSound(sound)
  336. if not sound or not sound:IsA("Sound") or guestSoundHooks[sound] then return end
  337. local preId = guestExtractNumericSoundId(sound)
  338. if not preId then return end
  339. local playedConn = sound.Played:Connect(function()
  340. if guestAutoBlockAudioOn then
  341. task.spawn(guestAttemptBlockForSound, sound, preId)
  342. end
  343. end)
  344. local propConn = sound:GetPropertyChangedSignal("IsPlaying"):Connect(function()
  345. if sound.IsPlaying and guestAutoBlockAudioOn then
  346. task.spawn(guestAttemptBlockForSound, sound, preId)
  347. end
  348. end)
  349. local destroyConn
  350. destroyConn = sound.Destroying:Connect(function()
  351. pcall(function()
  352. if playedConn then playedConn:Disconnect() end
  353. if propConn then propConn:Disconnect() end
  354. if destroyConn then destroyConn:Disconnect() end
  355. end)
  356. guestSoundHooks[sound] = nil
  357. guestSoundBlockedUntil[sound] = nil
  358. end)
  359. guestSoundHooks[sound] = {playedConn, propConn, destroyConn, id = preId}
  360. if sound.IsPlaying then
  361. task.spawn(guestAttemptBlockForSound, sound, preId)
  362. end
  363. end
  364.  
  365. local function guestHookExistingSounds()
  366. local killersFolder = workspaceService:FindFirstChild("Players") and workspaceService.Players:FindFirstChild("Killers")
  367. if killersFolder then
  368. for _, killer in pairs(killersFolder:GetChildren()) do
  369. for _, desc in pairs(killer:GetDescendants()) do
  370. if desc:IsA("Sound") then pcall(guestHookSound, desc) end
  371. end
  372. end
  373. end
  374. end
  375.  
  376. local function guestSetupSoundHooks()
  377. local killersFolder = workspaceService:FindFirstChild("Players") and workspaceService.Players:FindFirstChild("Killers")
  378. if killersFolder then
  379. guestHookExistingSounds()
  380. killersFolder.DescendantAdded:Connect(function(desc)
  381. if desc:IsA("Sound") then pcall(guestHookSound, desc) end
  382. end)
  383. end
  384. end
  385.  
  386. local function guestSetupCharacter(char)
  387. guestHumanoid = char:FindFirstChild("Humanoid")
  388. guestHRP = char:FindFirstChild("HumanoidRootPart")
  389. if guestAimConnection then
  390. guestAimConnection:Disconnect()
  391. guestAimConnection = nil
  392. end
  393. local animator = guestHumanoid and guestHumanoid:FindFirstChildOfClass("Animator")
  394. if animator and guestAimPunchActive then
  395. guestAimConnection = animator.AnimationPlayed:Connect(function(track)
  396. local animId = track.Animation.AnimationId:match("%d+")
  397. if guestAimPunchActive and guestTrackedPunchAnimations[animId] then
  398. guestPunchLastTriggerTime = tick()
  399. guestPunchAiming = true
  400. end
  401. end)
  402. end
  403. end
  404.  
  405. -- Initial setup
  406. guestSetupSoundHooks()
  407.  
  408. playersService.LocalPlayer.CharacterAdded:Connect(function(char)
  409. task.delay(0.5, function()
  410. guestCleanupVisionCone()
  411. guestSetupCharacter(char)
  412. end)
  413. end)
  414.  
  415. if playersService.LocalPlayer.Character then
  416. guestSetupCharacter(playersService.LocalPlayer.Character)
  417. end
  418.  
  419. runService.RenderStepped:Connect(function()
  420. if guestAimPunchActive and guestHumanoid and guestHRP and guestPunchAiming then
  421. local elapsed = tick() - guestPunchLastTriggerTime
  422. if elapsed > guestAimPunchDuration then
  423. guestPunchAiming = false
  424. if guestOriginalWS then
  425. guestHumanoid.WalkSpeed = guestOriginalWS
  426. guestHumanoid.JumpPower = guestOriginalJP
  427. guestHumanoid.AutoRotate = guestOriginalAutoRotate
  428. guestOriginalWS, guestOriginalJP, guestOriginalAutoRotate = nil, nil, nil
  429. end
  430. return
  431. end
  432. if not guestOriginalWS then
  433. guestOriginalWS = guestHumanoid.WalkSpeed
  434. guestOriginalJP = guestHumanoid.JumpPower
  435. guestOriginalAutoRotate = guestHumanoid.AutoRotate
  436. end
  437. guestHumanoid.AutoRotate = false
  438. guestHRP.AssemblyAngularVelocity = Vector3.zero
  439.  
  440. -- FIXED: Capture only the first return assignment safely
  441. local targetHRP = guestGetValidTarget()
  442. if targetHRP and targetHRP:IsA("BasePart") then
  443. local velocity = targetHRP.AssemblyLinearVelocity
  444. local predictPos = velocity.Magnitude > 0.5
  445. and (targetHRP.Position + velocity * (guestPunchPrediction / 60))
  446. or targetHRP.Position
  447. local dir = (predictPos - guestHRP.Position).Unit
  448. local yaw = math.atan2(-dir.X, -dir.Z)
  449. guestHRP.CFrame = CFrame.new(guestHRP.Position) * CFrame.Angles(0, yaw, 0)
  450. end
  451. end
  452. pcall(guestUpdateVisionCone)
  453. end)
  454.  
  455. ----------------------------------------------------------------
  456. -- UI Controls (Orion)
  457. ----------------------------------------------------------------
  458. SentinelTab:AddToggle({
  459. Name = "Auto Block",
  460. Default = false,
  461. Callback = function(state)
  462. guestAutoBlockAudioOn = state
  463. end
  464. })
  465.  
  466. SentinelTab:AddSlider({
  467. Name = "Block Delay",
  468. Min = 0,
  469. Max = 2,
  470. Default = 0,
  471. Color = Color3.fromRGB(255, 255, 255),
  472. Increment = 0.05,
  473. ValueName = "s",
  474. Callback = function(value)
  475. guestBlockDelay = value
  476. end
  477. })
  478.  
  479. SentinelTab:AddSlider({
  480. Name = "Auto Block Radius",
  481. Min = 1,
  482. Max = 20,
  483. Default = 15,
  484. Color = Color3.fromRGB(255, 255, 255),
  485. Increment = 1,
  486. ValueName = "studs",
  487. Callback = function(value)
  488. guestDetectionRange = value
  489. guestDetectionRangeSq = value * value
  490. end
  491. })
  492.  
  493. SentinelTab:AddLabel("───────────────────")
  494.  
  495. SentinelTab:AddToggle({
  496. Name = "Hitbox Dragging (HDT)",
  497. Default = false,
  498. Callback = function(state)
  499. guestHitboxDraggingOn = state
  500. end
  501. })
  502.  
  503. SentinelTab:AddSlider({
  504. Name = "Drag Duration",
  505. Min = 0.05,
  506. Max = 1,
  507. Default = 0.3,
  508. Color = Color3.fromRGB(255, 255, 255),
  509. Increment = 0.05,
  510. ValueName = "s",
  511. Callback = function(value)
  512. guestHitboxDragDuration = value
  513. end
  514. })
  515.  
  516. SentinelTab:AddToggle({
  517. Name = "Verify Facing Check",
  518. Default = false,
  519. Callback = function(state)
  520. guestVerifyFacingCheckOn = state
  521. end
  522. })
  523.  
  524. SentinelTab:AddSlider({
  525. Name = "Vision Range",
  526. Min = 1,
  527. Max = 20,
  528. Default = 15,
  529. Color = Color3.fromRGB(255, 255, 255),
  530. Increment = 1,
  531. ValueName = "studs",
  532. Callback = function(value)
  533. guestVisionRange = value
  534. end
  535. })
  536.  
  537. SentinelTab:AddSlider({
  538. Name = "Vision Angle",
  539. Min = 1,
  540. Max = 200,
  541. Default = 90,
  542. Color = Color3.fromRGB(255, 255, 255),
  543. Increment = 1,
  544. ValueName = "°",
  545. Callback = function(value)
  546. guestVisionAngle = value
  547. end
  548. })
  549.  
  550. SentinelTab:AddToggle({
  551. Name = "Show Vision Range",
  552. Default = false,
  553. Callback = function(state)
  554. guestShowVisionRange = state
  555. if not state then guestCleanupVisionCone() end
  556. end
  557. })
  558.  
  559. SentinelTab:AddLabel("───────────────────")
  560.  
  561. SentinelTab:AddToggle({
  562. Name = "Auto Punch",
  563. Default = false,
  564. Callback = function(state)
  565. guestAutoPunchOn = state
  566. end
  567. })
  568.  
  569. SentinelTab:AddToggle({
  570. Name = "Aim Punch",
  571. Default = false,
  572. Callback = function(state)
  573. guestAimPunchActive = state
  574. if state and playersService.LocalPlayer.Character then
  575. guestSetupCharacter(playersService.LocalPlayer.Character)
  576. end
  577. end
  578. })
  579.  
  580. SentinelTab:AddSlider({
  581. Name = "Punch Prediction",
  582. Min = 0,
  583. Max = 10,
  584. Default = 4,
  585. Color = Color3.fromRGB(255, 255, 255),
  586. Increment = 1,
  587. ValueName = "",
  588. Callback = function(value)
  589. guestPunchPrediction = value
  590. end
  591. })
  592.  
  593. ----------------------------------------------------------------
  594. -- Interface Tab
  595. ----------------------------------------------------------------
  596. local InterfaceTab = Window:MakeTab({
  597. Name = "Interface",
  598. Icon = "rbxassetid://4483345998",
  599. PremiumOnly = false,
  600. })
  601.  
  602. InterfaceTab:AddLabel("UI Functions")
  603.  
  604. InterfaceTab:AddButton({
  605. Name = "Close UI",
  606. Callback = function()
  607. OrionLib:Destroy()
  608. end
  609. })
  610.  
  611. ----------------------------------------------------------------
  612. -- Init
  613. ----------------------------------------------------------------
  614. OrionLib:Init()
Advertisement
Add Comment
Please, Sign In to add comment