Josiahiscool73

void sender

May 10th, 2026 (edited)
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.06 KB | None | 0 0
  1. -- made with ai so it might be shit but either way its outdated doesnt work anymore but it flinged people by NaN which set there physics to NaN which killed them instantly and sometimes killed hackers flying to
  2.  
  3. local Players = game:GetService("Players")
  4. local RunService = game:GetService("RunService")
  5. local GuiService = game:GetService("StarterGui")
  6. local TweenService = game:GetService("TweenService")
  7. local UserInputService = game:GetService("UserInputService")
  8. local lp = Players.LocalPlayer
  9.  
  10. -- =====================================================================
  11. -- ⚙️ CONFIGURATION & SCALING MATH
  12. -- =====================================================================
  13. local CONFIG = {
  14. VOID_RADIUS = 25,
  15. VFX_INTENSITY = 1.0,
  16. THEME_COLOR = Color3.fromRGB(255, 30, 45),
  17. BG_COLOR = Color3.fromRGB(12, 12, 12),
  18. BORDER_COLOR = Color3.fromRGB(45, 10, 15),
  19. }
  20.  
  21. if lp.PlayerGui:FindFirstChild("VoidHub") then
  22. lp.PlayerGui.VoidHub:Destroy()
  23. end
  24.  
  25. local isMobile = UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled
  26.  
  27. -- Math-Calculated Exact Pixel Sizing for Zero Clipping & Symmetrical Padding
  28. local PW = isMobile and 280 or 260
  29. local PH = isMobile and 288 or 272
  30.  
  31. local gui = Instance.new("ScreenGui")
  32. gui.Name = "VoidHub"
  33. gui.ResetOnSpawn = false
  34. gui.IgnoreGuiInset = true
  35. gui.DisplayOrder = 999
  36. gui.Parent = lp.PlayerGui
  37.  
  38. -- ── MAIN PANEL ────────────────────────────────────────────────────────
  39. local panel = Instance.new("Frame")
  40. panel.Size = UDim2.new(0, PW, 0, PH)
  41. panel.Position = UDim2.new(0.5, -PW/2, 0.5, -PH/2)
  42. panel.BackgroundColor3 = CONFIG.BG_COLOR
  43. panel.BorderSizePixel = 0
  44. panel.Active = true
  45. panel.Draggable = not isMobile
  46. panel.ClipsDescendants = true
  47. panel.Parent = gui
  48.  
  49. local panelStroke = Instance.new("UIStroke", panel)
  50. panelStroke.Color = CONFIG.BORDER_COLOR
  51. panelStroke.Thickness = 1
  52.  
  53. -- Mobile Drag Logic
  54. if isMobile then
  55. local drag, ds, sp = false, nil, nil
  56. panel.InputBegan:Connect(function(i)
  57. if i.UserInputType == Enum.UserInputType.Touch then drag=true; ds=i.Position; sp=panel.Position end
  58. end)
  59. panel.InputChanged:Connect(function(i)
  60. if drag and i.UserInputType == Enum.UserInputType.Touch then
  61. local d = i.Position - ds
  62. panel.Position = UDim2.new(sp.X.Scale, sp.X.Offset+d.X, sp.Y.Scale, sp.Y.Offset+d.Y)
  63. end
  64. end)
  65. panel.InputEnded:Connect(function(i)
  66. if i.UserInputType == Enum.UserInputType.Touch then drag=false end
  67. end)
  68. end
  69.  
  70. -- Precision Grid Background
  71. for i=0,8 do
  72. for _,axis in ipairs({"H","V"}) do
  73. local f = Instance.new("Frame")
  74. f.BorderSizePixel = 0; f.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
  75. f.BackgroundTransparency = 0.7; f.Parent = panel
  76. if axis == "H" then
  77. f.Size = UDim2.new(1, 0, 0, 1); f.Position = UDim2.new(0, 0, i/8, 0)
  78. else
  79. f.Size = UDim2.new(0, 1, 1, 0); f.Position = UDim2.new(i/8, 0, 0, 0)
  80. end
  81. end
  82. end
  83.  
  84. -- ── TOP HEADER ────────────────────────────────────────────────────────
  85. local header = Instance.new("Frame")
  86. header.Size = UDim2.new(1, 0, 0, 44); header.BackgroundColor3 = Color3.fromRGB(8, 8, 8)
  87. header.BorderSizePixel = 0; header.ZIndex = 5; header.Parent = panel
  88.  
  89. local hLine = Instance.new("Frame")
  90. hLine.Size = UDim2.new(1, 0, 0, 1); hLine.Position = UDim2.new(0, 0, 1, -1)
  91. hLine.BackgroundColor3 = CONFIG.THEME_COLOR; hLine.BorderSizePixel = 0; hLine.ZIndex = 6; hLine.Parent = header
  92.  
  93. local titleLbl = Instance.new("TextLabel")
  94. titleLbl.Size = UDim2.new(1, 0, 1, 0); titleLbl.BackgroundTransparency = 1
  95. titleLbl.Text = "V O I D"; titleLbl.Font = Enum.Font.GothamBold
  96. titleLbl.TextSize = isMobile and 16 or 15; titleLbl.TextColor3 = Color3.fromRGB(255, 255, 255)
  97. titleLbl.TextXAlignment = Enum.TextXAlignment.Center; titleLbl.ZIndex = 6; titleLbl.Parent = header
  98.  
  99. local settingsBtn = Instance.new("TextButton")
  100. settingsBtn.Size = UDim2.new(0, 30, 0, 30); settingsBtn.Position = UDim2.new(1, -8, 0.5, 0)
  101. settingsBtn.AnchorPoint = Vector2.new(1, 0.5); settingsBtn.BackgroundTransparency = 1
  102. settingsBtn.Text = "≡"; settingsBtn.Font = Enum.Font.Code
  103. settingsBtn.TextSize = 22; settingsBtn.TextColor3 = Color3.fromRGB(150, 150, 150)
  104. settingsBtn.ZIndex = 8; settingsBtn.Parent = header
  105.  
  106. -- ── BODY ──────────────────────────────────────────────────────────────
  107. local body = Instance.new("Frame")
  108. body.Size = UDim2.new(1, 0, 1, -44); body.Position = UDim2.new(0, 0, 0, 44)
  109. body.BackgroundTransparency = 1; body.ZIndex = 2; body.Parent = panel
  110.  
  111. local bPad = Instance.new("UIPadding")
  112. bPad.PaddingLeft = UDim.new(0, 12); bPad.PaddingRight = UDim.new(0, 12)
  113. bPad.PaddingTop = UDim.new(0, 10); bPad.PaddingBottom = UDim.new(0, 10)
  114. bPad.Parent = body
  115.  
  116. local bList = Instance.new("UIListLayout")
  117. bList.SortOrder = Enum.SortOrder.LayoutOrder; bList.Padding = UDim.new(0, 8)
  118. bList.Parent = body
  119.  
  120. -- Status Bar
  121. local statusBar = Instance.new("Frame")
  122. statusBar.Size = UDim2.new(1, 0, 0, isMobile and 30 or 26)
  123. statusBar.BackgroundColor3 = Color3.fromRGB(6, 6, 6); statusBar.BorderSizePixel = 0
  124. statusBar.LayoutOrder = 1; statusBar.ZIndex = 3; statusBar.Parent = body
  125. Instance.new("UIStroke", statusBar).Color = Color3.fromRGB(35, 35, 35)
  126.  
  127. local statusDot = Instance.new("Frame")
  128. statusDot.Size = UDim2.new(0, 6, 0, 6); statusDot.Position = UDim2.new(0, 10, 0.5, -3)
  129. statusDot.BackgroundColor3 = Color3.fromRGB(45, 45, 45); statusDot.BorderSizePixel = 0
  130. statusDot.ZIndex = 4; statusDot.Parent = statusBar
  131. Instance.new("UICorner", statusDot).CornerRadius = UDim.new(1, 0)
  132.  
  133. local statusLbl = Instance.new("TextLabel")
  134. statusLbl.Size = UDim2.new(1, -26, 1, 0); statusLbl.Position = UDim2.new(0, 24, 0, 0)
  135. statusLbl.BackgroundTransparency = 1; statusLbl.Text = "SCANNING..."
  136. statusLbl.Font = Enum.Font.Code; statusLbl.TextSize = isMobile and 11 or 10
  137. statusLbl.TextColor3 = Color3.fromRGB(100, 100, 100); statusLbl.TextXAlignment = Enum.TextXAlignment.Left
  138. statusLbl.ZIndex = 4; statusLbl.Parent = statusBar
  139.  
  140. -- Info Row
  141. local infoRow = Instance.new("Frame")
  142. infoRow.Size = UDim2.new(1, 0, 0, 14); infoRow.BackgroundTransparency = 1
  143. infoRow.LayoutOrder = 2; infoRow.Parent = body
  144.  
  145. local function mkInfo(txt, xScale, align)
  146. local l = Instance.new("TextLabel")
  147. l.Size = UDim2.new(0.5, 0, 1, 0); l.Position = UDim2.new(xScale, 0, 0, 0)
  148. l.BackgroundTransparency = 1; l.Text = txt; l.Font = Enum.Font.Code; l.TextSize = 9
  149. l.TextColor3 = Color3.fromRGB(140, 140, 140); l.TextXAlignment = align; l.Parent = infoRow
  150. return l
  151. end
  152. local radiusLbl = mkInfo("RADIUS · " .. CONFIG.VOID_RADIUS, 0, Enum.TextXAlignment.Left)
  153. local targetsLbl = mkInfo("TARGETS · 0", 0.5, Enum.TextXAlignment.Right)
  154.  
  155. local div = Instance.new("Frame")
  156. div.Size = UDim2.new(1, 0, 0, 1); div.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
  157. div.BorderSizePixel = 0; div.LayoutOrder = 3; div.Parent = body
  158.  
  159.  
  160. -- ── SETTINGS POPUP (Redesigned & Pixel-Perfect) ───────────────────────
  161. local settingsOverlay = Instance.new("TextButton")
  162. settingsOverlay.Size = UDim2.new(1, 0, 1, 0); settingsOverlay.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  163. settingsOverlay.BackgroundTransparency = 1; settingsOverlay.AutoButtonColor = false
  164. settingsOverlay.Text = ""; settingsOverlay.Visible = false
  165. settingsOverlay.ZIndex = 50; settingsOverlay.Parent = panel
  166.  
  167. -- Fixed Pixel Sizing (MW: 220px, MH: 130px) for sharp rendering without float sub-pixels
  168. local MW, MH = 220, 130
  169. local modal = Instance.new("CanvasGroup") -- CanvasGroup makes fading 100x cleaner
  170. modal.Size = UDim2.new(0, MW, 0, MH); modal.Position = UDim2.new(0.5, 0, 0.5, 10)
  171. modal.AnchorPoint = Vector2.new(0.5, 0.5); modal.BackgroundColor3 = Color3.fromRGB(16, 16, 16)
  172. modal.BorderSizePixel = 0; modal.GroupTransparency = 1; modal.ZIndex = 51; modal.Parent = settingsOverlay
  173. Instance.new("UICorner", modal).CornerRadius = UDim.new(0, 6)
  174. Instance.new("UIStroke", modal).Color = CONFIG.THEME_COLOR
  175.  
  176. -- Header
  177. local mHeader = Instance.new("Frame")
  178. mHeader.Size = UDim2.new(1, 0, 0, 30); mHeader.BackgroundTransparency = 1; mHeader.ZIndex = 52; mHeader.Parent = modal
  179.  
  180. local mTitle = Instance.new("TextLabel")
  181. mTitle.Size = UDim2.new(1, -30, 1, 0); mTitle.Position = UDim2.new(0, 12, 0, 0)
  182. mTitle.BackgroundTransparency = 1; mTitle.Text = "SETTINGS"; mTitle.Font = Enum.Font.GothamBold
  183. mTitle.TextSize = 12; mTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
  184. mTitle.TextXAlignment = Enum.TextXAlignment.Left; mTitle.ZIndex = 53; mTitle.Parent = mHeader
  185.  
  186. local closeBtn = Instance.new("TextButton")
  187. closeBtn.Size = UDim2.new(0, 30, 0, 30); closeBtn.Position = UDim2.new(1, -6, 0.5, 0)
  188. closeBtn.AnchorPoint = Vector2.new(1, 0.5); closeBtn.BackgroundTransparency = 1
  189. closeBtn.Text = "✕"; closeBtn.Font = Enum.Font.GothamBold; closeBtn.TextSize = 14
  190. closeBtn.TextColor3 = CONFIG.THEME_COLOR; closeBtn.ZIndex = 55; closeBtn.Parent = mHeader
  191.  
  192. local mContent = Instance.new("Frame")
  193. mContent.Size = UDim2.new(1, 0, 1, -30); mContent.Position = UDim2.new(0, 0, 0, 30)
  194. mContent.BackgroundTransparency = 1; mContent.ZIndex = 52; mContent.Parent = modal
  195.  
  196. -- Mathematically centered list spacing
  197. local mPad = Instance.new("UIPadding")
  198. mPad.PaddingTop = UDim.new(0, 16)
  199. mPad.Parent = mContent
  200.  
  201. local modalList = Instance.new("UIListLayout")
  202. modalList.SortOrder = Enum.SortOrder.LayoutOrder; modalList.Padding = UDim.new(0, 8)
  203. modalList.HorizontalAlignment = Enum.HorizontalAlignment.Center; modalList.Parent = mContent
  204.  
  205. local function createSettingRow(labelText, valText, onMinus, onPlus)
  206. local row = Instance.new("Frame")
  207. row.Size = UDim2.new(0, 196, 0, 30); row.BackgroundColor3 = Color3.fromRGB(22, 22, 22)
  208. row.BorderSizePixel = 0; row.ZIndex = 52; row.Parent = mContent
  209. Instance.new("UICorner", row).CornerRadius = UDim.new(0, 4)
  210. Instance.new("UIStroke", row).Color = Color3.fromRGB(40, 40, 40)
  211.  
  212. local lbl = Instance.new("TextLabel")
  213. lbl.Size = UDim2.new(0, 100, 1, 0); lbl.Position = UDim2.new(0, 10, 0, 0)
  214. lbl.BackgroundTransparency = 1; lbl.Text = labelText; lbl.Font = Enum.Font.Code
  215. lbl.TextSize = 10; lbl.TextColor3 = Color3.fromRGB(180, 180, 180)
  216. lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.ZIndex = 53; lbl.Parent = row
  217.  
  218. -- Math offsets from the right edge (-6 for +, -34 for Label, -68 for -) creates perfect 4px gaps
  219. local vLbl = Instance.new("TextLabel")
  220. vLbl.Size = UDim2.new(0, 30, 1, 0); vLbl.Position = UDim2.new(1, -34, 0.5, 0)
  221. vLbl.AnchorPoint = Vector2.new(1, 0.5)
  222. vLbl.BackgroundTransparency = 1; vLbl.Text = valText; vLbl.Font = Enum.Font.Code
  223. vLbl.TextSize = 11; vLbl.TextColor3 = CONFIG.THEME_COLOR; vLbl.ZIndex = 53; vLbl.Parent = row
  224.  
  225. local function mkMiniBtn(txt, xOff)
  226. local b = Instance.new("TextButton")
  227. b.Size = UDim2.new(0, 24, 0, 24); b.Position = UDim2.new(1, xOff, 0.5, 0)
  228. b.AnchorPoint = Vector2.new(1, 0.5); b.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
  229. b.BorderSizePixel = 0; b.Text = txt; b.Font = Enum.Font.Code; b.TextSize = 14
  230. b.TextColor3 = Color3.fromRGB(255, 255, 255); b.ZIndex = 54; b.Parent = row
  231. Instance.new("UICorner", b).CornerRadius = UDim.new(0, 4)
  232. return b
  233. end
  234.  
  235. local plus = mkMiniBtn("+", -6)
  236. local minus = mkMiniBtn("-", -68)
  237.  
  238. minus.MouseButton1Click:Connect(function() onMinus(vLbl) end)
  239. plus.MouseButton1Click:Connect(function() onPlus(vLbl) end)
  240. end
  241.  
  242. createSettingRow("RADAR RADIUS", tostring(CONFIG.VOID_RADIUS),
  243. function(lbl) CONFIG.VOID_RADIUS = math.max(5, CONFIG.VOID_RADIUS - 5); lbl.Text = tostring(CONFIG.VOID_RADIUS); radiusLbl.Text = "RADIUS · "..CONFIG.VOID_RADIUS end,
  244. function(lbl) CONFIG.VOID_RADIUS = math.min(100, CONFIG.VOID_RADIUS + 5); lbl.Text = tostring(CONFIG.VOID_RADIUS); radiusLbl.Text = "RADIUS · "..CONFIG.VOID_RADIUS end
  245. )
  246. createSettingRow("VFX INTENSITY", string.format("%.1f", CONFIG.VFX_INTENSITY),
  247. function(lbl) CONFIG.VFX_INTENSITY = math.max(0, CONFIG.VFX_INTENSITY - 0.5); lbl.Text = string.format("%.1f", CONFIG.VFX_INTENSITY) end,
  248. function(lbl) CONFIG.VFX_INTENSITY = math.min(3, CONFIG.VFX_INTENSITY + 0.5); lbl.Text = string.format("%.1f", CONFIG.VFX_INTENSITY) end
  249. )
  250.  
  251. local function toggleSettings()
  252. if settingsOverlay.Visible then
  253. TweenService:Create(settingsOverlay, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
  254. TweenService:Create(modal, TweenInfo.new(0.2), {GroupTransparency = 1, Position = UDim2.new(0.5, 0, 0.5, 10)}):Play()
  255. task.wait(0.2); settingsOverlay.Visible = false
  256. else
  257. settingsOverlay.Visible = true
  258. TweenService:Create(settingsOverlay, TweenInfo.new(0.25), {BackgroundTransparency = 0.5}):Play()
  259. TweenService:Create(modal, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {GroupTransparency = 0, Position = UDim2.new(0.5, 0, 0.5, 0)}):Play()
  260. end
  261. end
  262. settingsBtn.MouseButton1Click:Connect(toggleSettings)
  263. closeBtn.MouseButton1Click:Connect(toggleSettings)
  264.  
  265.  
  266. -- ── TRUE 3D UI VFX ENGINE ─────────────────────────────────────────────
  267. local particleEngine = Instance.new("Frame")
  268. particleEngine.Size = UDim2.new(1, 0, 1, 0); particleEngine.BackgroundTransparency = 1
  269. particleEngine.ZIndex = 15; particleEngine.Parent = panel
  270.  
  271. local active3DParticles = {}
  272. local FOV = 300
  273.  
  274. RunService.RenderStepped:Connect(function(dt)
  275. for i = #active3DParticles, 1, -1 do
  276. local p = active3DParticles[i]
  277. p.life = p.life - dt
  278.  
  279. if p.life <= 0 or CONFIG.VFX_INTENSITY <= 0 then
  280. p.frame:Destroy()
  281. table.remove(active3DParticles, i)
  282. continue
  283. end
  284.  
  285. p.vy = p.vy + (90 * dt)
  286. p.x = p.x + (p.vx * dt)
  287. p.y = p.y + (p.vy * dt)
  288. p.z = p.z + (p.vz * dt)
  289.  
  290. local scale = FOV / (FOV + p.z)
  291. local screenX = (PW/2) + (p.x * scale)
  292. local screenY = (PH/2) + (p.y * scale)
  293. local size = math.max(0, p.baseSize * scale)
  294.  
  295. p.frame.Position = UDim2.new(0, screenX, 0, screenY)
  296. p.frame.Size = UDim2.new(0, size, 0, size)
  297. p.frame.Rotation = p.frame.Rotation + (p.spin * dt)
  298. p.frame.BackgroundTransparency = 1 - (p.life / p.maxLife)
  299.  
  300. if p.z < -FOV + 50 then p.frame.BackgroundTransparency = 1 end
  301. end
  302. end)
  303.  
  304. local function emit3DParticles(count)
  305. if CONFIG.VFX_INTENSITY <= 0 then return end
  306. local amt = math.floor(count * CONFIG.VFX_INTENSITY)
  307.  
  308. for i = 1, amt do
  309. local f = Instance.new("Frame")
  310. f.BackgroundColor3 = CONFIG.THEME_COLOR; f.BorderSizePixel = 0
  311. f.AnchorPoint = Vector2.new(0.5, 0.5); f.ZIndex = 16
  312. f.Parent = particleEngine
  313.  
  314. local theta = math.random() * math.pi * 2
  315. local phi = math.acos(math.random() * 2 - 1)
  316. local speed = math.random(100, 350)
  317.  
  318. table.insert(active3DParticles, {
  319. x = 0, y = 0, z = math.random(-50, 150),
  320. vx = speed * math.sin(phi) * math.cos(theta),
  321. vy = speed * math.cos(phi) - 100,
  322. vz = speed * math.sin(phi) * math.sin(theta),
  323. spin = math.random(-360, 360),
  324. baseSize = math.random(3, 7),
  325. life = math.random(60, 120) / 100,
  326. maxLife = 1.2,
  327. frame = f
  328. })
  329. end
  330. end
  331.  
  332. -- ── BUTTON FACTORY ────────────────────────────────────────────────────
  333. local BTN_H = isMobile and 46 or 42
  334.  
  335. local function makeBtn(text, sub, order)
  336. local btn = Instance.new("TextButton")
  337. btn.Size = UDim2.new(1, 0, 0, BTN_H); btn.BackgroundColor3 = Color3.fromRGB(14, 14, 14)
  338. btn.BorderSizePixel = 0; btn.Text = ""; btn.AutoButtonColor = false
  339. btn.LayoutOrder = order; btn.ClipsDescendants = true; btn.Parent = body
  340.  
  341. Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 3)
  342. local stroke = Instance.new("UIStroke", btn)
  343. stroke.Color = Color3.fromRGB(30, 30, 30); stroke.Thickness = 1
  344.  
  345. local accent = Instance.new("Frame")
  346. accent.Size = UDim2.new(0, 3, 1, 0); accent.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  347. accent.BorderSizePixel = 0; accent.ZIndex = 3; accent.Parent = btn
  348.  
  349. local main = Instance.new("TextLabel")
  350. -- Left margin 16. Right margin 104 ensures 8px gap between text label boundaries.
  351. main.Size = UDim2.new(1, -120, 1, 0); main.Position = UDim2.new(0, 16, 0, 0)
  352. main.BackgroundTransparency = 1; main.Text = text; main.Font = Enum.Font.GothamSemibold
  353. main.TextSize = isMobile and 14 or 13; main.TextColor3 = Color3.fromRGB(220, 220, 220)
  354. main.TextXAlignment = Enum.TextXAlignment.Left; main.ZIndex = 3; main.Parent = btn
  355.  
  356. local subLbl = Instance.new("TextLabel")
  357. -- Width 80, placed exactly 16px from the right boundary for perfect symmetry with Left alignment
  358. subLbl.Size = UDim2.new(0, 80, 1, 0); subLbl.Position = UDim2.new(1, -96, 0, 0)
  359. subLbl.BackgroundTransparency = 1; subLbl.Text = sub; subLbl.Font = Enum.Font.Code
  360. subLbl.TextSize = 9; subLbl.TextColor3 = Color3.fromRGB(100, 100, 100)
  361. subLbl.TextXAlignment = Enum.TextXAlignment.Right; subLbl.ZIndex = 3; subLbl.Parent = btn
  362.  
  363. local function onHover()
  364. TweenService:Create(btn, TweenInfo.new(.15), {BackgroundColor3 = Color3.fromRGB(20, 20, 20)}):Play()
  365. TweenService:Create(accent, TweenInfo.new(.15), {BackgroundColor3 = CONFIG.THEME_COLOR}):Play()
  366. TweenService:Create(stroke, TweenInfo.new(.15), {Color = CONFIG.BORDER_COLOR}):Play()
  367. TweenService:Create(main, TweenInfo.new(.15), {TextColor3 = Color3.fromRGB(255, 255, 255)}):Play()
  368. end
  369. local function onLeave()
  370. TweenService:Create(btn, TweenInfo.new(.15), {BackgroundColor3 = Color3.fromRGB(14, 14, 14)}):Play()
  371. TweenService:Create(accent, TweenInfo.new(.15), {BackgroundColor3 = Color3.fromRGB(50, 50, 50)}):Play()
  372. TweenService:Create(stroke, TweenInfo.new(.15), {Color = Color3.fromRGB(30, 30, 30)}):Play()
  373. TweenService:Create(main, TweenInfo.new(.15), {TextColor3 = Color3.fromRGB(220, 220, 220)}):Play()
  374. end
  375.  
  376. btn.MouseEnter:Connect(onHover); btn.MouseLeave:Connect(onLeave)
  377.  
  378. return btn, subLbl
  379. end
  380.  
  381. local rocketBtn, _ = makeBtn("Rocket", "SMOOTH LIFT", 4)
  382. local voidBtn, _ = makeBtn("Void Sender", "NaN FLING", 5)
  383. local antiBtn, antiSub = makeBtn("Anti Fling", "DISABLED", 6)
  384.  
  385. -- ── RADAR SCANNER ─────────────────────────────────────────────────────
  386. local function getRoot() return lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") end
  387. local function getHum() return lp.Character and lp.Character:FindFirstChildOfClass("Humanoid") end
  388.  
  389. local lastTargetCount = 0
  390. RunService.Heartbeat:Connect(function()
  391. local root = getRoot()
  392. if not root then return end
  393. local found = 0
  394. for _, p in ipairs(Players:GetPlayers()) do
  395. if p ~= lp and p.Character then
  396. local pr = p.Character:FindFirstChild("HumanoidRootPart")
  397. if pr and (pr.Position - root.Position).Magnitude <= CONFIG.VOID_RADIUS then found += 1 end
  398. end
  399. end
  400. targetsLbl.Text = "TARGETS · " .. found
  401. if found > 0 then
  402. statusLbl.Text = "TARGET DETECTED · " .. found; statusLbl.TextColor3 = CONFIG.THEME_COLOR
  403. statusDot.BackgroundColor3 = CONFIG.THEME_COLOR
  404. if found > lastTargetCount then emit3DParticles(10) end
  405. else
  406. statusLbl.Text = "SCANNING..."; statusLbl.TextColor3 = Color3.fromRGB(100, 100, 100)
  407. statusDot.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
  408. end
  409. lastTargetCount = found
  410. end)
  411.  
  412. local function safeTeleport(root, hum, action)
  413. local savedCF = root.CFrame
  414. local savedWS, savedJP, savedPS = hum.WalkSpeed, hum.JumpPower, hum.PlatformStand
  415. hum.PlatformStand = true; hum.WalkSpeed = 0; hum.JumpPower = 0
  416.  
  417. action()
  418.  
  419. task.delay(4.5, function()
  420. local r, h = getRoot(), getHum()
  421. if h then h.PlatformStand = savedPS; h.WalkSpeed = savedWS; h.JumpPower = savedJP end
  422. if r then
  423. r.AssemblyLinearVelocity = Vector3.zero
  424. r.AssemblyAngularVelocity = Vector3.zero
  425. r.CFrame = savedCF
  426. end
  427. end)
  428. end
  429.  
  430. -- ── EXECUTION LOGIC (Rocket & NaN) ────────────────────────────────────
  431. local function execute(mode)
  432. emit3DParticles(40)
  433.  
  434. local root, hum = getRoot(), getHum()
  435. local target = nil
  436. local minD = CONFIG.VOID_RADIUS
  437.  
  438. if root then
  439. for _, p in ipairs(Players:GetPlayers()) do
  440. if p ~= lp and p.Character then
  441. local pr = p.Character:FindFirstChild("HumanoidRootPart")
  442. if pr then
  443. local d = (pr.Position - root.Position).Magnitude
  444. if d < minD then minD, target = d, p end
  445. end
  446. end
  447. end
  448. end
  449.  
  450. if not root or not target then return end
  451.  
  452. if mode == "Rocket" then
  453. safeTeleport(root, hum, function()
  454. local conn; local elapsed = 0
  455. local tRoot = target.Character:FindFirstChild("HumanoidRootPart")
  456. if not tRoot then return end
  457. local startY = tRoot.Position.Y - 3.5
  458.  
  459. conn = RunService.Heartbeat:Connect(function(dt)
  460. elapsed = elapsed + dt
  461. local r, t = getRoot(), target.Character and target.Character:FindFirstChild("HumanoidRootPart")
  462. if not r or not t then conn:Disconnect(); return end
  463.  
  464. local liftSpeed = 3.5
  465. local currentY = startY + (elapsed * liftSpeed)
  466.  
  467. r.CFrame = CFrame.new(t.Position.X, currentY, t.Position.Z)
  468. r.AssemblyLinearVelocity = Vector3.new(0, liftSpeed, 0)
  469. pcall(sethiddenproperty, r, "PhysicsRepRootPart", t)
  470. end)
  471. task.delay(4, function()
  472. conn:Disconnect()
  473. if getRoot() then getRoot().AssemblyLinearVelocity = Vector3.zero end
  474. end)
  475. end)
  476.  
  477. elseif mode == "NaN" then
  478. safeTeleport(root, hum, function()
  479. local nanVec = Vector3.new(0/0, 0/0, 0/0)
  480. local conn
  481. conn = RunService.Heartbeat:Connect(function()
  482. local r, t = getRoot(), target.Character and target.Character:FindFirstChild("HumanoidRootPart")
  483. if not r or not t then conn:Disconnect(); return end
  484. r.CFrame = t.CFrame
  485. r.AssemblyLinearVelocity, r.AssemblyAngularVelocity = nanVec, nanVec
  486. pcall(function() hum:Move(nanVec) end)
  487. pcall(sethiddenproperty, r, "PhysicsRepRootPart", t)
  488. end)
  489. task.delay(1.5, function() conn:Disconnect() end)
  490. end)
  491. end
  492. end
  493.  
  494. rocketBtn.MouseButton1Click:Connect(function() execute("Rocket") end)
  495. voidBtn.MouseButton1Click:Connect(function() execute("NaN") end)
  496.  
  497. -- ── FSOCIETY ANTI-FLING ENGINE ────────────────────────────────────────
  498. local physOn = PhysicalProperties.new(0.7, 0.3, 0.5)
  499. local physOff = PhysicalProperties.new(0, 0, 0)
  500. local afAlive = false
  501. local afConn = nil
  502. local flagged = {}
  503. local timers = {}
  504.  
  505. local function setCollision(c, on)
  506. if not c then return end
  507. for _, d in ipairs(c:GetDescendants()) do
  508. if d:IsA("BasePart") then
  509. d.CanCollide = on
  510. d.CustomPhysicalProperties = on and physOn or physOff
  511. if not on then
  512. d.AssemblyLinearVelocity = Vector3.zero
  513. d.AssemblyAngularVelocity = Vector3.zero
  514. end
  515. end
  516. end
  517. end
  518.  
  519. local function toggleAntiFling()
  520. afAlive = not afAlive
  521. if afAlive then
  522. antiSub.Text = "ACTIVE"
  523. antiSub.TextColor3 = CONFIG.THEME_COLOR
  524.  
  525. local THRESH = 67
  526. local DURATION = 0.5
  527.  
  528. afConn = RunService.RenderStepped:Connect(function(dt)
  529. if not afAlive then return end
  530. for _, p in ipairs(Players:GetPlayers()) do
  531. if p == lp then continue end
  532. local pc = p.Character
  533. local pr = pc and pc:FindFirstChild("HumanoidRootPart")
  534. if not pr then continue end
  535.  
  536. local beingFlung = false
  537. for _, o in ipairs(Players:GetPlayers()) do
  538. if o ~= p then
  539. local or2 = o.Character and o.Character:FindFirstChild("HumanoidRootPart")
  540. if or2 and or2.AssemblyLinearVelocity.Magnitude > THRESH then
  541. beingFlung = true; break
  542. end
  543. end
  544. end
  545.  
  546. timers[p] = pr.AssemblyLinearVelocity.Magnitude > THRESH and not beingFlung
  547. and (timers[p] or 0) + dt or 0
  548.  
  549. if timers[p] >= DURATION and not flagged[p] then
  550. flagged[p] = true
  551. setCollision(pc, false)
  552. emit3DParticles(25) -- Visual flair when catching a flinger
  553. end
  554.  
  555. if flagged[p] then
  556. for _, d in ipairs(pc:GetDescendants()) do
  557. if d:IsA("BasePart") then
  558. d.AssemblyLinearVelocity = Vector3.zero
  559. d.AssemblyAngularVelocity = Vector3.zero
  560. end
  561. end
  562. end
  563. end
  564. end)
  565. else
  566. antiSub.Text = "DISABLED"
  567. antiSub.TextColor3 = Color3.fromRGB(100, 100, 100)
  568. if afConn then afConn:Disconnect(); afConn = nil end
  569. for p, _ in pairs(flagged) do
  570. if p.Character then setCollision(p.Character, true) end
  571. end
  572. flagged = {}
  573. timers = {}
  574. end
  575. end
  576.  
  577. antiBtn.MouseButton1Click:Connect(toggleAntiFling)
  578.  
  579. -- Chat commands mapped to Anti-Fling functions
  580. local function findPlayer(input)
  581. input = tostring(input or ""):lower()
  582. for _, p in ipairs(Players:GetPlayers()) do
  583. if p.Name:lower():sub(1, #input) == input
  584. or (p.DisplayName or p.Name):lower():sub(1, #input) == input then
  585. return p
  586. end
  587. end
  588. end
  589.  
  590. lp.Chatted:Connect(function(msg)
  591. msg = msg:lower()
  592. if msg:sub(1, 12) == "disableanti " then
  593. local f = findPlayer(msg:sub(13))
  594. if f and flagged[f] and f.Character then
  595. setCollision(f.Character, true); flagged[f] = nil
  596. end
  597. elseif msg:sub(1, 4) == "!bl " then
  598. local f = findPlayer(msg:sub(5))
  599. if f and not flagged[f] and f.Character then
  600. setCollision(f.Character, false); flagged[f] = true
  601. end
  602. elseif msg == "disableanti" then
  603. if afAlive then toggleAntiFling() end
  604. elseif msg == "enableanti" then
  605. if not afAlive then toggleAntiFling() end
  606. end
  607. end)
  608.  
  609. -- ── INTRO ANIMATION ───────────────────────────────────────────────────
  610. panel.BackgroundTransparency = 1
  611. panel.Position = UDim2.new(0.5, -PW/2, 0.5, -PH/2 - 30)
  612. TweenService:Create(panel, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
  613. BackgroundTransparency = 0, Position = UDim2.new(0.5, -PW/2, 0.5, -PH/2)
  614. }):Play()
Advertisement
Add Comment
Please, Sign In to add comment