Advertisement
DrogbaLeHbb

a

Jan 18th, 2025
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.44 KB | None | 0 0
  1. -- Quantum Services
  2. local UserInputService = game:GetService("UserInputService")
  3. local StarterGui = game:GetService("StarterGui")
  4. local Players = game:GetService("Players")
  5. local RunService = game:GetService("RunService")
  6. local Workspace = game:GetService("Workspace")
  7. local CollectionService = game:GetService("CollectionService")
  8.  
  9. -- Quantum Variables
  10. local player = Players.LocalPlayer
  11. local balls = {}
  12. local reach = 10
  13. local magnetStrength = 0
  14. local reachCircle = nil
  15. local refreshInterval = 1 -- Refresh every 1 second
  16. local lastRefreshTime = tick()
  17.  
  18. -- Function to add tags to all valid balls
  19. local function tagBalls()
  20. for _, v in pairs(Workspace:GetDescendants()) do
  21. if v:IsA("BasePart") and (v.Name == "TPS" or v.Name == "ESA" or v.Name == "MRS" or v.Name == "PRS" or v.Name == "MPS") then
  22. if not CollectionService:HasTag(v, "QuantumBall") then
  23. CollectionService:AddTag(v, "QuantumBall")
  24. end
  25. end
  26. end
  27. end
  28.  
  29. -- Function to refresh the list of balls efficiently
  30. local function refreshBalls()
  31. if tick() - lastRefreshTime < refreshInterval then return end
  32. lastRefreshTime = tick()
  33.  
  34. -- Clear the old ball list
  35. balls = {}
  36.  
  37. -- Gather all tagged balls
  38. for _, ball in pairs(CollectionService:GetTagged("QuantumBall")) do
  39. if ball:IsA("BasePart") and ball.Parent then
  40. table.insert(balls, ball)
  41. end
  42. end
  43. end
  44.  
  45. -- Initial tagging and refresh of balls
  46. tagBalls()
  47. refreshBalls()
  48.  
  49. -- Function to create a visible reach circle with rainbow effect
  50. local function createReachCircle()
  51. if not reachCircle then
  52. reachCircle = Instance.new("Part", Workspace)
  53. reachCircle.Shape = Enum.PartType.Ball
  54. reachCircle.Anchored = true
  55. reachCircle.CanCollide = false
  56. reachCircle.Transparency = 0.8
  57. reachCircle.Material = Enum.Material.ForceField
  58. end
  59.  
  60. reachCircle.Size = Vector3.new(reach * 2, reach * 2, reach * 2)
  61.  
  62. -- Update circle's position and apply rainbow effect
  63. RunService.RenderStepped:Connect(function()
  64. if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
  65. reachCircle.Position = player.Character.HumanoidRootPart.Position
  66.  
  67. -- Apply rainbow color effect
  68. local hue = tick() % 5 / 5 -- Cyclic hue value
  69. reachCircle.Color = Color3.fromHSV(hue, 1, 1)
  70. end
  71. end)
  72. end
  73.  
  74. -- Function to create GUI for reach and magnet strength adjustment
  75. local function createReachGUI()
  76. local screenGui = Instance.new("ScreenGui")
  77. screenGui.Name = "QuantumReachGUI"
  78. screenGui.ResetOnSpawn = false
  79. screenGui.Parent = player:WaitForChild("PlayerGui")
  80.  
  81. -- Reach Frame
  82. local reachFrame = Instance.new("Frame", screenGui)
  83. reachFrame.Size = UDim2.new(0.2, 0, 0.1, 0)
  84. reachFrame.Position = UDim2.new(0.01, 0, 0.01, 0)
  85. reachFrame.BackgroundColor3 = Color3.new(0, 0, 0)
  86. reachFrame.BackgroundTransparency = 0.5
  87. reachFrame.BorderSizePixel = 0
  88.  
  89. local reachCorner = Instance.new("UICorner", reachFrame)
  90. reachCorner.CornerRadius = UDim.new(0.1, 0)
  91.  
  92. local reachLabel = Instance.new("TextLabel", reachFrame)
  93. reachLabel.Size = UDim2.new(1, 0, 0.5, 0)
  94. reachLabel.Text = "Quantum Reach: " .. reach
  95. reachLabel.Font = Enum.Font.SourceSansBold
  96. reachLabel.TextScaled = true
  97. reachLabel.TextColor3 = Color3.new(1, 1, 1)
  98. reachLabel.BackgroundTransparency = 1
  99.  
  100. local decrementReachButton = Instance.new("TextButton", reachFrame)
  101. decrementReachButton.Size = UDim2.new(0.5, 0, 0.5, 0)
  102. decrementReachButton.Position = UDim2.new(0, 0, 0.5, 0)
  103. decrementReachButton.Text = "-"
  104. decrementReachButton.Font = Enum.Font.SourceSansBold
  105. decrementReachButton.TextScaled = true
  106. decrementReachButton.TextColor3 = Color3.new(1, 1, 1)
  107. decrementReachButton.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
  108.  
  109. local incrementReachButton = Instance.new("TextButton", reachFrame)
  110. incrementReachButton.Size = UDim2.new(0.5, 0, 0.5, 0)
  111. incrementReachButton.Position = UDim2.new(0.5, 0, 0.5, 0)
  112. incrementReachButton.Text = "+"
  113. incrementReachButton.Font = Enum.Font.SourceSansBold
  114. incrementReachButton.TextScaled = true
  115. incrementReachButton.TextColor3 = Color3.new(1, 1, 1)
  116. incrementReachButton.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
  117.  
  118. -- Magnet Frame
  119. local magnetFrame = Instance.new("Frame", screenGui)
  120. magnetFrame.Size = UDim2.new(0.2, 0, 0.1, 0)
  121. magnetFrame.Position = UDim2.new(0.01, 0, 0.12, 0)
  122. magnetFrame.BackgroundColor3 = Color3.new(0, 0, 0)
  123. magnetFrame.BackgroundTransparency = 0.5
  124. magnetFrame.BorderSizePixel = 0
  125.  
  126. local magnetCorner = Instance.new("UICorner", magnetFrame)
  127. magnetCorner.CornerRadius = UDim.new(0.1, 0)
  128.  
  129. local magnetLabel = Instance.new("TextLabel", magnetFrame)
  130. magnetLabel.Size = UDim2.new(1, 0, 0.5, 0)
  131. magnetLabel.Text = "Magnet Strength: " .. magnetStrength
  132. magnetLabel.Font = Enum.Font.SourceSansBold
  133. magnetLabel.TextScaled = true
  134. magnetLabel.TextColor3 = Color3.new(1, 1, 1)
  135. magnetLabel.BackgroundTransparency = 1
  136.  
  137. local decrementMagnetButton = Instance.new("TextButton", magnetFrame)
  138. decrementMagnetButton.Size = UDim2.new(0.5, 0, 0.5, 0)
  139. decrementMagnetButton.Position = UDim2.new(0, 0, 0.5, 0)
  140. decrementMagnetButton.Text = "-"
  141. decrementMagnetButton.Font = Enum.Font.SourceSansBold
  142. decrementMagnetButton.TextScaled = true
  143. decrementMagnetButton.TextColor3 = Color3.new(1, 1, 1)
  144. decrementMagnetButton.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
  145.  
  146. local incrementMagnetButton = Instance.new("TextButton", magnetFrame)
  147. incrementMagnetButton.Size = UDim2.new(0.5, 0, 0.5, 0)
  148. incrementMagnetButton.Position = UDim2.new(0.5, 0, 0.5, 0)
  149. incrementMagnetButton.Text = "+"
  150. incrementMagnetButton.Font = Enum.Font.SourceSansBold
  151. incrementMagnetButton.TextScaled = true
  152. incrementMagnetButton.TextColor3 = Color3.new(1, 1, 1)
  153. incrementMagnetButton.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
  154.  
  155. -- Adjust Reach with Hold
  156. local function adjustReach(change)
  157. reach = math.max(1, reach + change)
  158. reachLabel.Text = "Quantum Reach: " .. reach
  159. createReachCircle()
  160. end
  161.  
  162. local function onButtonHold(button, change)
  163. local holding = false
  164. button.MouseButton1Down:Connect(function()
  165. holding = true
  166. while holding do
  167. adjustReach(change)
  168. wait(0.1) -- Adjusts speed of change when holding down
  169. end
  170. end)
  171.  
  172. button.MouseButton1Up:Connect(function()
  173. holding = false
  174. end)
  175. end
  176.  
  177. onButtonHold(decrementReachButton, -1)
  178. onButtonHold(incrementReachButton, 1)
  179.  
  180. -- Adjust Magnet Strength with Hold
  181. local function adjustMagnet(change)
  182. magnetStrength = magnetStrength + change
  183. magnetLabel.Text = "Magnet Strength: " .. magnetStrength
  184. end
  185.  
  186. local function onMagnetHold(button, change)
  187. local holding = false
  188. button.MouseButton1Down:Connect(function()
  189. holding = true
  190. while holding do
  191. adjustMagnet(change)
  192. wait(0.1) -- Adjusts speed of change when holding down
  193. end
  194. end)
  195.  
  196. button.MouseButton1Up:Connect(function()
  197. holding = false
  198. end)
  199. end
  200.  
  201. onMagnetHold(decrementMagnetButton, -1)
  202. onMagnetHold(incrementMagnetButton, 1)
  203. end
  204.  
  205. -- Function to handle touch for a specific body part
  206. local function handleBodyPartTouch(bodyPart)
  207. local character = player.Character
  208. if not character or not character:FindFirstChild("HumanoidRootPart") then
  209. return -- Character or HumanoidRootPart doesn't exist yet
  210. end
  211.  
  212. -- Attempt to find the body part dynamically
  213. local targetPart = character:FindFirstChild(bodyPart)
  214. or character:FindFirstChild(bodyPart .. "Upper")
  215. or character:FindFirstChild(bodyPart .. "Lower")
  216.  
  217. if targetPart then
  218. for _, v in pairs(targetPart:GetDescendants()) do
  219. if v:IsA("TouchTransmitter") and v.Parent then
  220. for _, ball in pairs(balls) do
  221. if (ball.Position - targetPart.Position).magnitude < reach then
  222. firetouchinterest(ball, v.Parent, 0)
  223. firetouchinterest(ball, v.Parent, 1)
  224. break
  225. end
  226. end
  227. end
  228. end
  229. end
  230. end
  231.  
  232. -- Function to ensure a second touch for a specific body part
  233. local function ensureSecondTouch(bodyPart)
  234. RunService.RenderStepped:Connect(function()
  235. for _, v in pairs(player.Character[bodyPart]:GetDescendants()) do
  236. if v:IsA("TouchTransmitter") and v.Parent then
  237. for _, ball in pairs(balls) do
  238. if (ball.Position - player.Character[bodyPart].Position).magnitude < reach then
  239. firetouchinterest(ball, v.Parent, 0)
  240. firetouchinterest(ball, v.Parent, 1)
  241. break
  242. end
  243. end
  244. end
  245. end
  246. end)
  247. end
  248.  
  249. -- Create initial reach circle and GUI
  250. createReachCircle()
  251. createReachGUI()
  252.  
  253. -- Apply magnetic effect to balls
  254. RunService.RenderStepped:Connect(function()
  255. for _, ball in pairs(balls) do
  256. if ball and ball.Parent and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
  257. local distance = (ball.Position - player.Character.HumanoidRootPart.Position).magnitude
  258. if distance < reach then
  259. local direction = (player.Character.HumanoidRootPart.Position - ball.Position).unit
  260. ball.Velocity = ball.Velocity + direction * magnetStrength
  261. end
  262. end
  263. end
  264. end)
  265.  
  266. -- Refresh balls and ensure touch functionality
  267. while true do
  268. tagBalls()
  269. refreshBalls()
  270. handleBodyPartTouch("Right Leg")
  271. handleBodyPartTouch("Left Leg")
  272. handleBodyPartTouch("Torso")
  273. handleBodyPartTouch("Head")
  274. handleBodyPartTouch("Right Arm")
  275. handleBodyPartTouch("Left Arm")
  276. wait(0.1)
  277. end
  278.  
  279. -- Ensure second touch for all body parts
  280. ensureSecondTouch("Right Leg")
  281. ensureSecondTouch("Left Leg")
  282. ensureSecondTouch("Torso")
  283. ensureSecondTouch("Head")
  284. ensureSecondTouch("Right Arm")
  285. ensureSecondTouch("Left Arm")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement