Advertisement
ViperSoftware

Viper.gg State of Anarchy 3.0

Nov 30th, 2024
2,262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.40 KB | None | 0 0
  1. -- Load OrionLib
  2. local OrionLib = loadstring(game:HttpGet("https://raw.githubusercontent.com/shlexware/Orion/main/source"))()
  3.  
  4. -- Create the GUI Window
  5. local Window = OrionLib:MakeWindow({
  6. Name = "Viper.gg SOA",
  7. HidePremium = false,
  8. SaveConfig = true,
  9. ConfigFolder = "OrionTest"
  10. })
  11.  
  12. -- Create Tabs
  13. local MainTab = Window:MakeTab({Name = "Main", Icon = "rbxassetid://4483345998", PremiumOnly = false})
  14. local VisualsTab = Window:MakeTab({Name = "Visuals", Icon = "rbxassetid://4483345998", PremiumOnly = false})
  15. local PlayerTab = Window:MakeTab({Name = "Player", Icon = "rbxassetid://4483345998", PremiumOnly = false})
  16. local SettingsTab = Window:MakeTab({Name = "Settings", Icon = "rbxassetid://4483345998", PremiumOnly = false})
  17.  
  18. -- Add Sections
  19. local ESPSection = VisualsTab:AddSection({Name = "ESP"})
  20. local HitboxSection = VisualsTab:AddSection({Name = "Hitbox Expander"})
  21.  
  22. -- Variables
  23. local ESPEnabled = false
  24. local ESPObjects = {}
  25.  
  26. -- Function to Create ESP for a Player
  27. local function createESP(player)
  28. -- Make sure the player has a character
  29. local function setupCharacter(character)
  30. if not character:FindFirstChild("HumanoidRootPart") or not character:FindFirstChild("Humanoid") then
  31. -- Wait for essential parts to load
  32. character:WaitForChild("HumanoidRootPart")
  33. character:WaitForChild("Humanoid")
  34. end
  35.  
  36. -- ESP Object
  37. local ESP = {}
  38.  
  39. -- Box Outline
  40. ESP.Box = Drawing.new("Square")
  41. ESP.Box.Color = Color3.fromRGB(255, 0, 0) -- Red for enemies
  42. ESP.Box.Thickness = 2
  43. ESP.Box.Transparency = 1
  44. ESP.Box.Filled = false
  45.  
  46. -- Player Name
  47. ESP.Name = Drawing.new("Text")
  48. ESP.Name.Text = player.Name
  49. ESP.Name.Color = Color3.fromRGB(255, 255, 255)
  50. ESP.Name.Size = 14
  51. ESP.Name.Outline = true
  52.  
  53. -- Health Text
  54. ESP.Health = Drawing.new("Text")
  55. ESP.Health.Color = Color3.fromRGB(0, 255, 0) -- Green
  56. ESP.Health.Size = 12
  57. ESP.Health.Outline = true
  58.  
  59. -- Distance Text
  60. ESP.Distance = Drawing.new("Text")
  61. ESP.Distance.Color = Color3.fromRGB(255, 255, 0) -- Yellow
  62. ESP.Distance.Size = 12
  63. ESP.Distance.Outline = true
  64.  
  65. -- Add ESP to the table
  66. ESPObjects[player] = ESP
  67.  
  68. -- Update ESP on RenderStepped
  69. local updateConnection
  70. updateConnection = game:GetService("RunService").RenderStepped:Connect(function()
  71. -- Remove ESP if the player is no longer valid
  72. if not ESPEnabled or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") or not player.Character:FindFirstChild("Humanoid") or player.Character.Humanoid.Health <= 0 then
  73. if ESPObjects[player] then
  74. ESPObjects[player].Box:Remove()
  75. ESPObjects[player].Name:Remove()
  76. ESPObjects[player].Health:Remove()
  77. ESPObjects[player].Distance:Remove()
  78. ESPObjects[player] = nil
  79. end
  80. updateConnection:Disconnect() -- Disconnect the update loop
  81. return
  82. end
  83.  
  84. -- Update ESP positions and visibility
  85. local rootPart = character:FindFirstChild("HumanoidRootPart")
  86. local humanoid = character:FindFirstChild("Humanoid")
  87. local screenPos, onScreen = workspace.CurrentCamera:WorldToViewportPoint(rootPart.Position)
  88. if onScreen then
  89. -- Update Box Position and Size
  90. local size = (workspace.CurrentCamera:WorldToViewportPoint(rootPart.Position + Vector3.new(3, 3, 0)) - workspace.CurrentCamera:WorldToViewportPoint(rootPart.Position - Vector3.new(3, 3, 0))).X
  91. ESP.Box.Size = Vector2.new(size, size * 2)
  92. ESP.Box.Position = Vector2.new(screenPos.X - size / 2, screenPos.Y - size)
  93.  
  94. -- Update Text Positions with spacing
  95. ESP.Name.Position = Vector2.new(screenPos.X, screenPos.Y - size - 20) -- Name is at the top
  96. ESP.Health.Position = Vector2.new(screenPos.X, screenPos.Y - size - 5) -- Health is below Name
  97. ESP.Distance.Position = Vector2.new(screenPos.X, screenPos.Y + size + 5) -- Distance is below the Box
  98.  
  99. -- Update Text Values
  100. ESP.Health.Text = "Health: " .. math.floor(humanoid.Health)
  101. ESP.Distance.Text = "Distance: " .. math.floor((rootPart.Position - game.Players.LocalPlayer.Character.HumanoidRootPart.Position).Magnitude) .. " studs"
  102.  
  103. -- Show ESP
  104. ESP.Box.Visible = true
  105. ESP.Name.Visible = true
  106. ESP.Health.Visible = true
  107. ESP.Distance.Visible = true
  108. else
  109. -- Hide ESP
  110. ESP.Box.Visible = false
  111. ESP.Name.Visible = false
  112. ESP.Health.Visible = false
  113. ESP.Distance.Visible = false
  114. end
  115. end)
  116. end
  117.  
  118. -- Handle case where player already has a character
  119. if player.Character then
  120. setupCharacter(player.Character)
  121. end
  122.  
  123. -- Listen for the player's character being added
  124. player.CharacterAdded:Connect(setupCharacter)
  125. end
  126.  
  127. -- Function to Clear ESP for All Players
  128. local function clearESP()
  129. for _, esp in pairs(ESPObjects) do
  130. if esp.Box then esp.Box:Remove() end
  131. if esp.Name then esp.Name:Remove() end
  132. if esp.Health then esp.Health:Remove() end
  133. if esp.Distance then esp.Distance:Remove() end
  134. end
  135. ESPObjects = {}
  136. end
  137.  
  138. -- Function to Toggle ESP
  139. local function toggleESP(state)
  140. ESPEnabled = state
  141. if ESPEnabled then
  142. -- Create ESP for existing players
  143. for _, player in pairs(game:GetService("Players"):GetPlayers()) do
  144. if player ~= game.Players.LocalPlayer then
  145. createESP(player)
  146. end
  147. end
  148.  
  149. -- Listen for new players
  150. game:GetService("Players").PlayerAdded:Connect(function(player)
  151. createESP(player)
  152. end)
  153.  
  154. -- Handle players leaving
  155. game:GetService("Players").PlayerRemoving:Connect(function(player)
  156. if ESPObjects[player] then
  157. ESPObjects[player].Box:Remove()
  158. ESPObjects[player].Name:Remove()
  159. ESPObjects[player].Health:Remove()
  160. ESPObjects[player].Distance:Remove()
  161. ESPObjects[player] = nil
  162. end
  163. end)
  164. else
  165. clearESP()
  166. end
  167. end
  168.  
  169. -- GUI Integration
  170. ESPSection:AddToggle({
  171. Name = "Enable ESP",
  172. Default = false,
  173. Callback = function(state)
  174. toggleESP(state)
  175. end
  176. })
  177.  
  178.  
  179.  
  180. -- Variables
  181. local AimbotEnabled = false
  182. local FOV = 100 -- Default FOV size
  183. local Smoothness = 0.2 -- Default smoothness
  184. local AimbotKey = Enum.UserInputType.MouseButton2 -- Default key (Right Mouse Button)
  185. local HoldingKey = false -- Tracks whether the key is being held
  186. local BulletSpeed = 500 -- Default bullet speed (studs/second), adjust as needed for the game
  187. local FOVCircle
  188.  
  189. -- Function to Create FOV Circle
  190. local function createFOVCircle()
  191. FOVCircle = Drawing.new("Circle")
  192. FOVCircle.Color = Color3.fromRGB(255, 255, 0) -- Yellow FOV Circle
  193. FOVCircle.Thickness = 2
  194. FOVCircle.Transparency = 1
  195. FOVCircle.Radius = FOV
  196. FOVCircle.Filled = false
  197. FOVCircle.Visible = false -- Start as hidden
  198. end
  199.  
  200. createFOVCircle()
  201.  
  202. -- Function to Predict Target's Position
  203. local function predictTargetPosition(target, distance)
  204. local velocity = target.Velocity or Vector3.zero -- Use target's velocity or default to zero
  205. local travelTime = distance / BulletSpeed -- Calculate bullet travel time
  206. return target.Position + (velocity * travelTime) -- Predicted position
  207. end
  208.  
  209. -- Function to Find Closest Target
  210. local function getClosestTarget()
  211. local closestTarget = nil
  212. local closestDistance = FOV
  213. local localPlayer = game.Players.LocalPlayer
  214. local camera = workspace.CurrentCamera
  215.  
  216. for _, player in pairs(game:GetService("Players"):GetPlayers()) do
  217. if player ~= localPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character:FindFirstChild("Humanoid") then
  218. local rootPart = player.Character.HumanoidRootPart
  219. local screenPos, onScreen = camera:WorldToViewportPoint(rootPart.Position)
  220. local mousePos = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2) -- Center of screen
  221. local distance = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude
  222.  
  223. if onScreen and distance < closestDistance and player.Character.Humanoid.Health > 0 then
  224. closestDistance = distance
  225. closestTarget = rootPart
  226. end
  227. end
  228. end
  229.  
  230. return closestTarget, closestDistance
  231. end
  232.  
  233. -- Smooth Aiming Function
  234. local function smoothAim(target, predictedPosition)
  235. local camera = workspace.CurrentCamera
  236. local mousePos = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2) -- Center of screen
  237. local targetScreenPos = camera:WorldToViewportPoint(predictedPosition)
  238.  
  239. local aimPos = Vector2.new(targetScreenPos.X, targetScreenPos.Y)
  240. local newAimPos = mousePos:Lerp(aimPos, Smoothness)
  241.  
  242. mousemoverel(newAimPos.X - mousePos.X, newAimPos.Y - mousePos.Y)
  243. end
  244.  
  245. -- Aimbot Update Function
  246. game:GetService("RunService").RenderStepped:Connect(function()
  247. if AimbotEnabled and HoldingKey then
  248. FOVCircle.Visible = true
  249. FOVCircle.Position = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y / 2)
  250.  
  251. local target, distance = getClosestTarget()
  252. if target then
  253. local predictedPosition = predictTargetPosition(target, distance)
  254. smoothAim(target, predictedPosition)
  255. end
  256. else
  257. FOVCircle.Visible = false
  258. end
  259. end)
  260.  
  261. -- Key Input Handling
  262. game:GetService("UserInputService").InputBegan:Connect(function(input, gameProcessed)
  263. if input.UserInputType == AimbotKey and not gameProcessed then
  264. HoldingKey = true
  265. end
  266. end)
  267.  
  268. game:GetService("UserInputService").InputEnded:Connect(function(input, gameProcessed)
  269. if input.UserInputType == AimbotKey and not gameProcessed then
  270. HoldingKey = false
  271. end
  272. end)
  273.  
  274. -- GUI Integration
  275. local AimbotSection = MainTab:AddSection({Name = "Aimbot"})
  276.  
  277. AimbotSection:AddToggle({
  278. Name = "Enable Aimbot",
  279. Default = false,
  280. Callback = function(state)
  281. AimbotEnabled = state
  282. end
  283. })
  284.  
  285. AimbotSection:AddSlider({
  286. Name = "FOV Size",
  287. Min = 50,
  288. Max = 500,
  289. Default = 100,
  290. Color = Color3.fromRGB(255, 255, 0),
  291. Increment = 1,
  292. ValueName = "FOV",
  293. Callback = function(value)
  294. FOV = value
  295. FOVCircle.Radius = FOV
  296. end
  297. })
  298.  
  299. AimbotSection:AddSlider({
  300. Name = "Smoothness",
  301. Min = 0.1,
  302. Max = 1,
  303. Default = 0.2,
  304. Color = Color3.fromRGB(255, 255, 255),
  305. Increment = 0.01,
  306. ValueName = "Smoothness",
  307. Callback = function(value)
  308. Smoothness = value
  309. end
  310. })
  311.  
  312. AimbotSection:AddSlider({
  313. Name = "Bullet Speed",
  314. Min = 100,
  315. Max = 1000,
  316. Default = 500,
  317. Increment = 10,
  318. ValueName = "Speed",
  319. Callback = function(value)
  320. BulletSpeed = value
  321. end
  322. })
  323.  
  324. AimbotSection:AddDropdown({
  325. Name = "Aimbot Key",
  326. Default = "Right Mouse Button",
  327. Options = {"Right Mouse Button", "Left Shift", "E", "Q"},
  328. Callback = function(selected)
  329. if selected == "Right Mouse Button" then
  330. AimbotKey = Enum.UserInputType.MouseButton2
  331. elseif selected == "Left Shift" then
  332. AimbotKey = Enum.KeyCode.LeftShift
  333. elseif selected == "E" then
  334. AimbotKey = Enum.KeyCode.E
  335. elseif selected == "Q" then
  336. AimbotKey = Enum.KeyCode.Q
  337. end
  338. end
  339. })
  340.  
  341.  
  342. -- Function to Enable Fly
  343. local function enableFly()
  344. Character = game.Players.LocalPlayer.Character
  345. if not Character or not Character:FindFirstChild("HumanoidRootPart") then return end
  346. Humanoid = Character:FindFirstChild("Humanoid")
  347.  
  348. -- Prevent character from falling
  349. Humanoid.PlatformStand = true
  350.  
  351. -- Disable collisions
  352. for _, part in pairs(Character:GetDescendants()) do
  353. if part:IsA("BasePart") then
  354. part.CanCollide = false
  355. end
  356. end
  357.  
  358. -- Create BodyGyro and BodyVelocity
  359. BodyGyro = Instance.new("BodyGyro")
  360. BodyGyro.P = 9e4
  361. BodyGyro.CFrame = Character.HumanoidRootPart.CFrame
  362. BodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
  363. BodyGyro.Parent = Character.HumanoidRootPart
  364.  
  365. BodyVelocity = Instance.new("BodyVelocity")
  366. BodyVelocity.Velocity = Vector3.zero
  367. BodyVelocity.MaxForce = Vector3.new(9e9, 9e9, 9e9)
  368. BodyVelocity.Parent = Character.HumanoidRootPart
  369.  
  370. FlyEnabled = true
  371. end
  372.  
  373. -- Function to Disable Fly
  374. local function disableFly()
  375. if not FlyEnabled then return end
  376.  
  377. -- Restore character state
  378. if BodyGyro then BodyGyro:Destroy() end
  379. if BodyVelocity then BodyVelocity:Destroy() end
  380. if Humanoid then Humanoid.PlatformStand = false end
  381.  
  382. -- Re-enable collisions
  383. for _, part in pairs(Character:GetDescendants()) do
  384. if part:IsA("BasePart") then
  385. part.CanCollide = true
  386. end
  387. end
  388.  
  389. FlyEnabled = false
  390. end
  391.  
  392. -- Handle Fly Movement
  393. game:GetService("RunService").Stepped:Connect(function()
  394. if FlyEnabled and Character and Character:FindFirstChild("HumanoidRootPart") then
  395. local moveDirection = Vector3.zero
  396. local camera = workspace.CurrentCamera
  397.  
  398. -- Move with W, A, S, D
  399. if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.W) then
  400. moveDirection += camera.CFrame.LookVector
  401. end
  402. if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.S) then
  403. moveDirection -= camera.CFrame.LookVector
  404. end
  405. if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.A) then
  406. moveDirection -= camera.CFrame.RightVector
  407. end
  408. if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.D) then
  409. moveDirection += camera.CFrame.RightVector
  410. end
  411.  
  412. -- Elevate with Space and Shift
  413. if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.Space) then
  414. moveDirection += Vector3.new(0, 1, 0)
  415. end
  416. if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.LeftShift) then
  417. moveDirection -= Vector3.new(0, 1, 0)
  418. end
  419.  
  420. -- Apply Movement
  421. if moveDirection.Magnitude > 0 then
  422. BodyGyro.CFrame = camera.CFrame
  423. BodyVelocity.Velocity = moveDirection.Unit * FlySpeed
  424. else
  425. BodyVelocity.Velocity = Vector3.zero
  426. end
  427. end
  428. end)
  429.  
  430. -- GUI Integration
  431. local MovementSection = PlayerTab:AddSection({Name = "Movement"})
  432.  
  433. -- Fly Toggle
  434. MovementSection:AddToggle({
  435. Name = "Enable Fly",
  436. Default = false,
  437. Callback = function(state)
  438. if state then
  439. enableFly()
  440. else
  441. disableFly()
  442. end
  443. end
  444. })
  445.  
  446. -- Fly Speed Slider
  447. MovementSection:AddSlider({
  448. Name = "Fly Speed",
  449. Min = 10,
  450. Max = 200,
  451. Default = 50,
  452. Color = Color3.fromRGB(255, 255, 255),
  453. Increment = 1,
  454. ValueName = "Speed",
  455. Callback = function(value)
  456. FlySpeed = value
  457. end
  458. })
  459.  
  460. -- Zoom Logic
  461. local CameraKey = Enum.KeyCode.LeftControl -- Default zoom key
  462. local ZoomLevel = 30 -- Default zoom level
  463. local NormalZoom = 70 -- Default normal FOV
  464. local IsZooming = false -- Tracks whether the zoom key is held
  465.  
  466. -- Function to Continuously Enforce Zoom
  467. local function enforceZoom()
  468. while IsZooming do
  469. workspace.CurrentCamera.FieldOfView = ZoomLevel
  470. wait() -- Prevents freezing the game
  471. end
  472. workspace.CurrentCamera.FieldOfView = NormalZoom -- Reset FOV when zoom ends
  473. end
  474.  
  475. -- Key Input Handling
  476. game:GetService("UserInputService").InputBegan:Connect(function(input, gameProcessed)
  477. if input.KeyCode == CameraKey and not gameProcessed then
  478. IsZooming = true
  479. enforceZoom()
  480. end
  481. end)
  482.  
  483. game:GetService("UserInputService").InputEnded:Connect(function(input, gameProcessed)
  484. if input.KeyCode == CameraKey and not gameProcessed then
  485. IsZooming = false
  486. end
  487. end)
  488.  
  489. -- GUI Integration for Zoom Control
  490. local CameraSection = SettingsTab:AddSection({Name = "Camera Control"})
  491.  
  492. CameraSection:AddDropdown({
  493. Name = "Zoom Key",
  494. Default = "Left Control",
  495. Options = {"Left Control", "Right Control", "Z", "X"},
  496. Callback = function(selected)
  497. if selected == "Left Control" then
  498. CameraKey = Enum.KeyCode.LeftControl
  499. elseif selected == "Right Control" then
  500. CameraKey = Enum.KeyCode.RightControl
  501. elseif selected == "Z" then
  502. CameraKey = Enum.KeyCode.Z
  503. elseif selected == "X" then
  504. CameraKey = Enum.KeyCode.X
  505. end
  506. end
  507. })
  508.  
  509. CameraSection:AddSlider({
  510. Name = "Zoom Level",
  511. Min = 10,
  512. Max = 100,
  513. Default = 30,
  514. Color = Color3.fromRGB(255, 255, 255),
  515. Increment = 1,
  516. ValueName = "Zoom",
  517. Callback = function(value)
  518. ZoomLevel = value
  519. end
  520. })
  521.  
  522. CameraSection:AddSlider({
  523. Name = "Normal Zoom",
  524. Min = 60,
  525. Max = 120,
  526. Default = 70,
  527. Color = Color3.fromRGB(255, 255, 255),
  528. Increment = 1,
  529. ValueName = "FOV",
  530. Callback = function(value)
  531. NormalZoom = value
  532. end
  533. })
  534.  
  535. local TriggerbotEnabled = false
  536. local Debounce = false -- Prevents spamming
  537. local DebounceTime = 0.1 -- Time between clicks (in seconds)
  538.  
  539. -- Function to Check for Valid Target
  540. local function isValidTarget(target)
  541. if not target or not target.Parent then return false end
  542. local character = target.Parent
  543. local humanoid = character:FindFirstChild("Humanoid")
  544. local rootPart = character:FindFirstChild("HumanoidRootPart")
  545.  
  546. if humanoid and rootPart and humanoid.Health > 0 then
  547. local camera = workspace.CurrentCamera
  548. local screenPos, onScreen = camera:WorldToViewportPoint(rootPart.Position)
  549. return onScreen -- Ensure the target is visible on the screen
  550. end
  551.  
  552. return false
  553. end
  554.  
  555. -- Function to Trigger Fire
  556. local function triggerFire()
  557. if Debounce then return end
  558. Debounce = true
  559.  
  560. local mouse = game.Players.LocalPlayer:GetMouse()
  561. local target = mouse.Target
  562.  
  563. if isValidTarget(target) then
  564. mouse1click() -- Simulates a left mouse button click
  565. end
  566.  
  567. -- Debounce cooldown
  568. task.wait(DebounceTime)
  569. Debounce = false
  570. end
  571.  
  572. -- Continuous Update for Triggerbot
  573. game:GetService("RunService").RenderStepped:Connect(function()
  574. if TriggerbotEnabled then
  575. local mouse = game.Players.LocalPlayer:GetMouse()
  576. if mouse.Target and isValidTarget(mouse.Target) then
  577. triggerFire()
  578. end
  579. end
  580. end)
  581.  
  582. -- GUI Integration for Triggerbot
  583. local TriggerbotSection = MainTab:AddSection({Name = "Triggerbot"})
  584.  
  585. TriggerbotSection:AddToggle({
  586. Name = "Enable Triggerbot",
  587. Default = false,
  588. Callback = function(state)
  589. TriggerbotEnabled = state
  590. end
  591. })
  592.  
  593. TriggerbotSection:AddSlider({
  594. Name = "Trigger Cooldown",
  595. Min = 0.05,
  596. Max = 1,
  597. Default = 0.1,
  598. Increment = 0.01,
  599. ValueName = "Seconds",
  600. Callback = function(value)
  601. DebounceTime = value
  602. end
  603. })
  604.  
  605. -- Hitbox Expander Variables
  606. local HitboxEnabled = false
  607. local HitboxSizeMultiplier = Vector3.new(5, 5, 5) -- Default multiplier
  608. local HitboxTransparency = 0.5 -- Default transparency
  609. local OriginalSizes = {} -- Store original sizes
  610.  
  611. -- Function to Expand Hitboxes for a Player
  612. local function expandHitboxes(player)
  613. if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
  614. for _, part in ipairs(player.Character:GetChildren()) do
  615. if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
  616. if not OriginalSizes[part] then
  617. OriginalSizes[part] = part.Size -- Save original size
  618. end
  619. part.Size = OriginalSizes[part] * HitboxSizeMultiplier
  620. part.Transparency = HitboxTransparency
  621. part.CanCollide = false -- Optional: prevent collision issues
  622. end
  623. end
  624. end
  625. end
  626.  
  627. -- Function to Restore Hitboxes for a Player
  628. local function restoreHitboxes(player)
  629. if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
  630. for _, part in ipairs(player.Character:GetChildren()) do
  631. if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
  632. if OriginalSizes[part] then
  633. part.Size = OriginalSizes[part]
  634. part.Transparency = 0 -- Reset transparency
  635. part.CanCollide = true
  636. end
  637. end
  638. end
  639. end
  640. end
  641.  
  642. -- Function to Toggle Hitbox Expander for All Players
  643. local function toggleHitboxExpander(state)
  644. HitboxEnabled = state
  645. if HitboxEnabled then
  646. for _, player in pairs(game.Players:GetPlayers()) do
  647. if player ~= game.Players.LocalPlayer then
  648. expandHitboxes(player)
  649. end
  650. end
  651.  
  652. -- Listen for new players joining
  653. game.Players.PlayerAdded:Connect(function(player)
  654. player.CharacterAdded:Connect(function()
  655. expandHitboxes(player)
  656. end)
  657. end)
  658. else
  659. for _, player in pairs(game.Players:GetPlayers()) do
  660. if player ~= game.Players.LocalPlayer then
  661. restoreHitboxes(player)
  662. end
  663. end
  664. end
  665. end
  666.  
  667. HitboxSection:AddToggle({
  668. Name = "Enable Hitbox Expander",
  669. Default = false,
  670. Callback = function(state)
  671. toggleHitboxExpander(state)
  672. end
  673. })
  674.  
  675. HitboxSection:AddSlider({
  676. Name = "Hitbox Size Multiplier",
  677. Min = 1,
  678. Max = 10,
  679. Default = 5,
  680. Increment = 0.1,
  681. Callback = function(value)
  682. HitboxSizeMultiplier = Vector3.new(value, value, value)
  683. if HitboxEnabled then
  684. for _, player in pairs(game.Players:GetPlayers()) do
  685. if player ~= game.Players.LocalPlayer then
  686. expandHitboxes(player)
  687. end
  688. end
  689. end
  690. end
  691. })
  692.  
  693. HitboxSection:AddSlider({
  694. Name = "Hitbox Transparency",
  695. Min = 0,
  696. Max = 1,
  697. Default = 0.5,
  698. Increment = 0.1,
  699. Callback = function(value)
  700. HitboxTransparency = value
  701. if HitboxEnabled then
  702. for _, player in pairs(game.Players:GetPlayers()) do
  703. if player ~= game.Players.LocalPlayer and player.Character then
  704. for _, part in ipairs(player.Character:GetChildren()) do
  705. if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
  706. part.Transparency = HitboxTransparency
  707. end
  708. end
  709. end
  710. end
  711. end
  712. end
  713. })
  714.  
  715. --Chams
  716. local ChamsEnabled = false
  717. local Highlights = {} -- Store highlights for each player
  718.  
  719. -- Function to Add Chams to a Player
  720. local function addChams(player)
  721. if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
  722. -- Check if the Highlight already exists
  723. if not Highlights[player] then
  724. local highlight = Instance.new("Highlight")
  725. highlight.FillColor = Color3.fromRGB(255, 0, 0) -- Default Red
  726. highlight.FillTransparency = 0.5 -- Semi-transparent fill
  727. highlight.OutlineColor = Color3.fromRGB(255, 255, 255) -- Default White
  728. highlight.OutlineTransparency = 0 -- Fully visible outline
  729. highlight.Adornee = player.Character -- Attach to player's character
  730. highlight.Parent = game:GetService("CoreGui") -- Parent it to CoreGui for visibility
  731. Highlights[player] = highlight
  732. end
  733. end
  734. end
  735.  
  736. -- Function to Remove Chams from a Player
  737. local function removeChams(player)
  738. if Highlights[player] then
  739. Highlights[player]:Destroy()
  740. Highlights[player] = nil
  741. end
  742. end
  743.  
  744. -- Function to Toggle Chams for All Players
  745. local function toggleChams(state)
  746. ChamsEnabled = state
  747. if ChamsEnabled then
  748. for _, player in pairs(game.Players:GetPlayers()) do
  749. if player ~= game.Players.LocalPlayer then
  750. addChams(player)
  751. end
  752. end
  753.  
  754. -- Handle new players joining
  755. game.Players.PlayerAdded:Connect(function(player)
  756. addChams(player)
  757. end)
  758.  
  759. -- Handle players leaving
  760. game.Players.PlayerRemoving:Connect(function(player)
  761. removeChams(player)
  762. end)
  763. else
  764. -- Disable Chams for all players
  765. for _, player in pairs(Highlights) do
  766. removeChams(player)
  767. end
  768. end
  769. end
  770.  
  771. -- GUI Integration for Chams
  772. local ChamsSection = VisualsTab:AddSection({Name = "Chams"})
  773.  
  774. ChamsSection:AddToggle({
  775. Name = "Enable Chams",
  776. Default = false,
  777. Callback = function(state)
  778. toggleChams(state)
  779. end
  780. })
  781.  
  782. ChamsSection:AddColorPicker({
  783. Name = "Fill Color",
  784. Default = Color3.fromRGB(255, 0, 0),
  785. Callback = function(color)
  786. for _, highlight in pairs(Highlights) do
  787. highlight.FillColor = color
  788. end
  789. end
  790. })
  791.  
  792. ChamsSection:AddColorPicker({
  793. Name = "Outline Color",
  794. Default = Color3.fromRGB(255, 255, 255),
  795. Callback = function(color)
  796. for _, highlight in pairs(Highlights) do
  797. highlight.OutlineColor = color
  798. end
  799. end
  800. })
  801.  
  802. ChamsSection:AddSlider({
  803. Name = "Fill Transparency",
  804. Min = 0,
  805. Max = 1,
  806. Default = 0.5,
  807. Increment = 0.01,
  808. Callback = function(value)
  809. for _, highlight in pairs(Highlights) do
  810. highlight.FillTransparency = value
  811. end
  812. end
  813. })
  814.  
  815. ChamsSection:AddSlider({
  816. Name = "Outline Transparency",
  817. Min = 0,
  818. Max = 1,
  819. Default = 0,
  820. Increment = 0.01,
  821. Callback = function(value)
  822. for _, highlight in pairs(Highlights) do
  823. highlight.OutlineTransparency = value
  824. end
  825. end
  826. })
  827.  
  828.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement