Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- 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
- local Players = game:GetService("Players")
- local RunService = game:GetService("RunService")
- local GuiService = game:GetService("StarterGui")
- local TweenService = game:GetService("TweenService")
- local UserInputService = game:GetService("UserInputService")
- local lp = Players.LocalPlayer
- -- =====================================================================
- -- ⚙️ CONFIGURATION & SCALING MATH
- -- =====================================================================
- local CONFIG = {
- VOID_RADIUS = 25,
- VFX_INTENSITY = 1.0,
- THEME_COLOR = Color3.fromRGB(255, 30, 45),
- BG_COLOR = Color3.fromRGB(12, 12, 12),
- BORDER_COLOR = Color3.fromRGB(45, 10, 15),
- }
- if lp.PlayerGui:FindFirstChild("VoidHub") then
- lp.PlayerGui.VoidHub:Destroy()
- end
- local isMobile = UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled
- -- Math-Calculated Exact Pixel Sizing for Zero Clipping & Symmetrical Padding
- local PW = isMobile and 280 or 260
- local PH = isMobile and 288 or 272
- local gui = Instance.new("ScreenGui")
- gui.Name = "VoidHub"
- gui.ResetOnSpawn = false
- gui.IgnoreGuiInset = true
- gui.DisplayOrder = 999
- gui.Parent = lp.PlayerGui
- -- ── MAIN PANEL ────────────────────────────────────────────────────────
- local panel = Instance.new("Frame")
- panel.Size = UDim2.new(0, PW, 0, PH)
- panel.Position = UDim2.new(0.5, -PW/2, 0.5, -PH/2)
- panel.BackgroundColor3 = CONFIG.BG_COLOR
- panel.BorderSizePixel = 0
- panel.Active = true
- panel.Draggable = not isMobile
- panel.ClipsDescendants = true
- panel.Parent = gui
- local panelStroke = Instance.new("UIStroke", panel)
- panelStroke.Color = CONFIG.BORDER_COLOR
- panelStroke.Thickness = 1
- -- Mobile Drag Logic
- if isMobile then
- local drag, ds, sp = false, nil, nil
- panel.InputBegan:Connect(function(i)
- if i.UserInputType == Enum.UserInputType.Touch then drag=true; ds=i.Position; sp=panel.Position end
- end)
- panel.InputChanged:Connect(function(i)
- if drag and i.UserInputType == Enum.UserInputType.Touch then
- local d = i.Position - ds
- panel.Position = UDim2.new(sp.X.Scale, sp.X.Offset+d.X, sp.Y.Scale, sp.Y.Offset+d.Y)
- end
- end)
- panel.InputEnded:Connect(function(i)
- if i.UserInputType == Enum.UserInputType.Touch then drag=false end
- end)
- end
- -- Precision Grid Background
- for i=0,8 do
- for _,axis in ipairs({"H","V"}) do
- local f = Instance.new("Frame")
- f.BorderSizePixel = 0; f.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
- f.BackgroundTransparency = 0.7; f.Parent = panel
- if axis == "H" then
- f.Size = UDim2.new(1, 0, 0, 1); f.Position = UDim2.new(0, 0, i/8, 0)
- else
- f.Size = UDim2.new(0, 1, 1, 0); f.Position = UDim2.new(i/8, 0, 0, 0)
- end
- end
- end
- -- ── TOP HEADER ────────────────────────────────────────────────────────
- local header = Instance.new("Frame")
- header.Size = UDim2.new(1, 0, 0, 44); header.BackgroundColor3 = Color3.fromRGB(8, 8, 8)
- header.BorderSizePixel = 0; header.ZIndex = 5; header.Parent = panel
- local hLine = Instance.new("Frame")
- hLine.Size = UDim2.new(1, 0, 0, 1); hLine.Position = UDim2.new(0, 0, 1, -1)
- hLine.BackgroundColor3 = CONFIG.THEME_COLOR; hLine.BorderSizePixel = 0; hLine.ZIndex = 6; hLine.Parent = header
- local titleLbl = Instance.new("TextLabel")
- titleLbl.Size = UDim2.new(1, 0, 1, 0); titleLbl.BackgroundTransparency = 1
- titleLbl.Text = "V O I D"; titleLbl.Font = Enum.Font.GothamBold
- titleLbl.TextSize = isMobile and 16 or 15; titleLbl.TextColor3 = Color3.fromRGB(255, 255, 255)
- titleLbl.TextXAlignment = Enum.TextXAlignment.Center; titleLbl.ZIndex = 6; titleLbl.Parent = header
- local settingsBtn = Instance.new("TextButton")
- settingsBtn.Size = UDim2.new(0, 30, 0, 30); settingsBtn.Position = UDim2.new(1, -8, 0.5, 0)
- settingsBtn.AnchorPoint = Vector2.new(1, 0.5); settingsBtn.BackgroundTransparency = 1
- settingsBtn.Text = "≡"; settingsBtn.Font = Enum.Font.Code
- settingsBtn.TextSize = 22; settingsBtn.TextColor3 = Color3.fromRGB(150, 150, 150)
- settingsBtn.ZIndex = 8; settingsBtn.Parent = header
- -- ── BODY ──────────────────────────────────────────────────────────────
- local body = Instance.new("Frame")
- body.Size = UDim2.new(1, 0, 1, -44); body.Position = UDim2.new(0, 0, 0, 44)
- body.BackgroundTransparency = 1; body.ZIndex = 2; body.Parent = panel
- local bPad = Instance.new("UIPadding")
- bPad.PaddingLeft = UDim.new(0, 12); bPad.PaddingRight = UDim.new(0, 12)
- bPad.PaddingTop = UDim.new(0, 10); bPad.PaddingBottom = UDim.new(0, 10)
- bPad.Parent = body
- local bList = Instance.new("UIListLayout")
- bList.SortOrder = Enum.SortOrder.LayoutOrder; bList.Padding = UDim.new(0, 8)
- bList.Parent = body
- -- Status Bar
- local statusBar = Instance.new("Frame")
- statusBar.Size = UDim2.new(1, 0, 0, isMobile and 30 or 26)
- statusBar.BackgroundColor3 = Color3.fromRGB(6, 6, 6); statusBar.BorderSizePixel = 0
- statusBar.LayoutOrder = 1; statusBar.ZIndex = 3; statusBar.Parent = body
- Instance.new("UIStroke", statusBar).Color = Color3.fromRGB(35, 35, 35)
- local statusDot = Instance.new("Frame")
- statusDot.Size = UDim2.new(0, 6, 0, 6); statusDot.Position = UDim2.new(0, 10, 0.5, -3)
- statusDot.BackgroundColor3 = Color3.fromRGB(45, 45, 45); statusDot.BorderSizePixel = 0
- statusDot.ZIndex = 4; statusDot.Parent = statusBar
- Instance.new("UICorner", statusDot).CornerRadius = UDim.new(1, 0)
- local statusLbl = Instance.new("TextLabel")
- statusLbl.Size = UDim2.new(1, -26, 1, 0); statusLbl.Position = UDim2.new(0, 24, 0, 0)
- statusLbl.BackgroundTransparency = 1; statusLbl.Text = "SCANNING..."
- statusLbl.Font = Enum.Font.Code; statusLbl.TextSize = isMobile and 11 or 10
- statusLbl.TextColor3 = Color3.fromRGB(100, 100, 100); statusLbl.TextXAlignment = Enum.TextXAlignment.Left
- statusLbl.ZIndex = 4; statusLbl.Parent = statusBar
- -- Info Row
- local infoRow = Instance.new("Frame")
- infoRow.Size = UDim2.new(1, 0, 0, 14); infoRow.BackgroundTransparency = 1
- infoRow.LayoutOrder = 2; infoRow.Parent = body
- local function mkInfo(txt, xScale, align)
- local l = Instance.new("TextLabel")
- l.Size = UDim2.new(0.5, 0, 1, 0); l.Position = UDim2.new(xScale, 0, 0, 0)
- l.BackgroundTransparency = 1; l.Text = txt; l.Font = Enum.Font.Code; l.TextSize = 9
- l.TextColor3 = Color3.fromRGB(140, 140, 140); l.TextXAlignment = align; l.Parent = infoRow
- return l
- end
- local radiusLbl = mkInfo("RADIUS · " .. CONFIG.VOID_RADIUS, 0, Enum.TextXAlignment.Left)
- local targetsLbl = mkInfo("TARGETS · 0", 0.5, Enum.TextXAlignment.Right)
- local div = Instance.new("Frame")
- div.Size = UDim2.new(1, 0, 0, 1); div.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
- div.BorderSizePixel = 0; div.LayoutOrder = 3; div.Parent = body
- -- ── SETTINGS POPUP (Redesigned & Pixel-Perfect) ───────────────────────
- local settingsOverlay = Instance.new("TextButton")
- settingsOverlay.Size = UDim2.new(1, 0, 1, 0); settingsOverlay.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
- settingsOverlay.BackgroundTransparency = 1; settingsOverlay.AutoButtonColor = false
- settingsOverlay.Text = ""; settingsOverlay.Visible = false
- settingsOverlay.ZIndex = 50; settingsOverlay.Parent = panel
- -- Fixed Pixel Sizing (MW: 220px, MH: 130px) for sharp rendering without float sub-pixels
- local MW, MH = 220, 130
- local modal = Instance.new("CanvasGroup") -- CanvasGroup makes fading 100x cleaner
- modal.Size = UDim2.new(0, MW, 0, MH); modal.Position = UDim2.new(0.5, 0, 0.5, 10)
- modal.AnchorPoint = Vector2.new(0.5, 0.5); modal.BackgroundColor3 = Color3.fromRGB(16, 16, 16)
- modal.BorderSizePixel = 0; modal.GroupTransparency = 1; modal.ZIndex = 51; modal.Parent = settingsOverlay
- Instance.new("UICorner", modal).CornerRadius = UDim.new(0, 6)
- Instance.new("UIStroke", modal).Color = CONFIG.THEME_COLOR
- -- Header
- local mHeader = Instance.new("Frame")
- mHeader.Size = UDim2.new(1, 0, 0, 30); mHeader.BackgroundTransparency = 1; mHeader.ZIndex = 52; mHeader.Parent = modal
- local mTitle = Instance.new("TextLabel")
- mTitle.Size = UDim2.new(1, -30, 1, 0); mTitle.Position = UDim2.new(0, 12, 0, 0)
- mTitle.BackgroundTransparency = 1; mTitle.Text = "SETTINGS"; mTitle.Font = Enum.Font.GothamBold
- mTitle.TextSize = 12; mTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
- mTitle.TextXAlignment = Enum.TextXAlignment.Left; mTitle.ZIndex = 53; mTitle.Parent = mHeader
- local closeBtn = Instance.new("TextButton")
- closeBtn.Size = UDim2.new(0, 30, 0, 30); closeBtn.Position = UDim2.new(1, -6, 0.5, 0)
- closeBtn.AnchorPoint = Vector2.new(1, 0.5); closeBtn.BackgroundTransparency = 1
- closeBtn.Text = "✕"; closeBtn.Font = Enum.Font.GothamBold; closeBtn.TextSize = 14
- closeBtn.TextColor3 = CONFIG.THEME_COLOR; closeBtn.ZIndex = 55; closeBtn.Parent = mHeader
- local mContent = Instance.new("Frame")
- mContent.Size = UDim2.new(1, 0, 1, -30); mContent.Position = UDim2.new(0, 0, 0, 30)
- mContent.BackgroundTransparency = 1; mContent.ZIndex = 52; mContent.Parent = modal
- -- Mathematically centered list spacing
- local mPad = Instance.new("UIPadding")
- mPad.PaddingTop = UDim.new(0, 16)
- mPad.Parent = mContent
- local modalList = Instance.new("UIListLayout")
- modalList.SortOrder = Enum.SortOrder.LayoutOrder; modalList.Padding = UDim.new(0, 8)
- modalList.HorizontalAlignment = Enum.HorizontalAlignment.Center; modalList.Parent = mContent
- local function createSettingRow(labelText, valText, onMinus, onPlus)
- local row = Instance.new("Frame")
- row.Size = UDim2.new(0, 196, 0, 30); row.BackgroundColor3 = Color3.fromRGB(22, 22, 22)
- row.BorderSizePixel = 0; row.ZIndex = 52; row.Parent = mContent
- Instance.new("UICorner", row).CornerRadius = UDim.new(0, 4)
- Instance.new("UIStroke", row).Color = Color3.fromRGB(40, 40, 40)
- local lbl = Instance.new("TextLabel")
- lbl.Size = UDim2.new(0, 100, 1, 0); lbl.Position = UDim2.new(0, 10, 0, 0)
- lbl.BackgroundTransparency = 1; lbl.Text = labelText; lbl.Font = Enum.Font.Code
- lbl.TextSize = 10; lbl.TextColor3 = Color3.fromRGB(180, 180, 180)
- lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.ZIndex = 53; lbl.Parent = row
- -- Math offsets from the right edge (-6 for +, -34 for Label, -68 for -) creates perfect 4px gaps
- local vLbl = Instance.new("TextLabel")
- vLbl.Size = UDim2.new(0, 30, 1, 0); vLbl.Position = UDim2.new(1, -34, 0.5, 0)
- vLbl.AnchorPoint = Vector2.new(1, 0.5)
- vLbl.BackgroundTransparency = 1; vLbl.Text = valText; vLbl.Font = Enum.Font.Code
- vLbl.TextSize = 11; vLbl.TextColor3 = CONFIG.THEME_COLOR; vLbl.ZIndex = 53; vLbl.Parent = row
- local function mkMiniBtn(txt, xOff)
- local b = Instance.new("TextButton")
- b.Size = UDim2.new(0, 24, 0, 24); b.Position = UDim2.new(1, xOff, 0.5, 0)
- b.AnchorPoint = Vector2.new(1, 0.5); b.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
- b.BorderSizePixel = 0; b.Text = txt; b.Font = Enum.Font.Code; b.TextSize = 14
- b.TextColor3 = Color3.fromRGB(255, 255, 255); b.ZIndex = 54; b.Parent = row
- Instance.new("UICorner", b).CornerRadius = UDim.new(0, 4)
- return b
- end
- local plus = mkMiniBtn("+", -6)
- local minus = mkMiniBtn("-", -68)
- minus.MouseButton1Click:Connect(function() onMinus(vLbl) end)
- plus.MouseButton1Click:Connect(function() onPlus(vLbl) end)
- end
- createSettingRow("RADAR RADIUS", tostring(CONFIG.VOID_RADIUS),
- 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,
- 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
- )
- createSettingRow("VFX INTENSITY", string.format("%.1f", CONFIG.VFX_INTENSITY),
- function(lbl) CONFIG.VFX_INTENSITY = math.max(0, CONFIG.VFX_INTENSITY - 0.5); lbl.Text = string.format("%.1f", CONFIG.VFX_INTENSITY) end,
- function(lbl) CONFIG.VFX_INTENSITY = math.min(3, CONFIG.VFX_INTENSITY + 0.5); lbl.Text = string.format("%.1f", CONFIG.VFX_INTENSITY) end
- )
- local function toggleSettings()
- if settingsOverlay.Visible then
- TweenService:Create(settingsOverlay, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
- TweenService:Create(modal, TweenInfo.new(0.2), {GroupTransparency = 1, Position = UDim2.new(0.5, 0, 0.5, 10)}):Play()
- task.wait(0.2); settingsOverlay.Visible = false
- else
- settingsOverlay.Visible = true
- TweenService:Create(settingsOverlay, TweenInfo.new(0.25), {BackgroundTransparency = 0.5}):Play()
- 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()
- end
- end
- settingsBtn.MouseButton1Click:Connect(toggleSettings)
- closeBtn.MouseButton1Click:Connect(toggleSettings)
- -- ── TRUE 3D UI VFX ENGINE ─────────────────────────────────────────────
- local particleEngine = Instance.new("Frame")
- particleEngine.Size = UDim2.new(1, 0, 1, 0); particleEngine.BackgroundTransparency = 1
- particleEngine.ZIndex = 15; particleEngine.Parent = panel
- local active3DParticles = {}
- local FOV = 300
- RunService.RenderStepped:Connect(function(dt)
- for i = #active3DParticles, 1, -1 do
- local p = active3DParticles[i]
- p.life = p.life - dt
- if p.life <= 0 or CONFIG.VFX_INTENSITY <= 0 then
- p.frame:Destroy()
- table.remove(active3DParticles, i)
- continue
- end
- p.vy = p.vy + (90 * dt)
- p.x = p.x + (p.vx * dt)
- p.y = p.y + (p.vy * dt)
- p.z = p.z + (p.vz * dt)
- local scale = FOV / (FOV + p.z)
- local screenX = (PW/2) + (p.x * scale)
- local screenY = (PH/2) + (p.y * scale)
- local size = math.max(0, p.baseSize * scale)
- p.frame.Position = UDim2.new(0, screenX, 0, screenY)
- p.frame.Size = UDim2.new(0, size, 0, size)
- p.frame.Rotation = p.frame.Rotation + (p.spin * dt)
- p.frame.BackgroundTransparency = 1 - (p.life / p.maxLife)
- if p.z < -FOV + 50 then p.frame.BackgroundTransparency = 1 end
- end
- end)
- local function emit3DParticles(count)
- if CONFIG.VFX_INTENSITY <= 0 then return end
- local amt = math.floor(count * CONFIG.VFX_INTENSITY)
- for i = 1, amt do
- local f = Instance.new("Frame")
- f.BackgroundColor3 = CONFIG.THEME_COLOR; f.BorderSizePixel = 0
- f.AnchorPoint = Vector2.new(0.5, 0.5); f.ZIndex = 16
- f.Parent = particleEngine
- local theta = math.random() * math.pi * 2
- local phi = math.acos(math.random() * 2 - 1)
- local speed = math.random(100, 350)
- table.insert(active3DParticles, {
- x = 0, y = 0, z = math.random(-50, 150),
- vx = speed * math.sin(phi) * math.cos(theta),
- vy = speed * math.cos(phi) - 100,
- vz = speed * math.sin(phi) * math.sin(theta),
- spin = math.random(-360, 360),
- baseSize = math.random(3, 7),
- life = math.random(60, 120) / 100,
- maxLife = 1.2,
- frame = f
- })
- end
- end
- -- ── BUTTON FACTORY ────────────────────────────────────────────────────
- local BTN_H = isMobile and 46 or 42
- local function makeBtn(text, sub, order)
- local btn = Instance.new("TextButton")
- btn.Size = UDim2.new(1, 0, 0, BTN_H); btn.BackgroundColor3 = Color3.fromRGB(14, 14, 14)
- btn.BorderSizePixel = 0; btn.Text = ""; btn.AutoButtonColor = false
- btn.LayoutOrder = order; btn.ClipsDescendants = true; btn.Parent = body
- Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 3)
- local stroke = Instance.new("UIStroke", btn)
- stroke.Color = Color3.fromRGB(30, 30, 30); stroke.Thickness = 1
- local accent = Instance.new("Frame")
- accent.Size = UDim2.new(0, 3, 1, 0); accent.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
- accent.BorderSizePixel = 0; accent.ZIndex = 3; accent.Parent = btn
- local main = Instance.new("TextLabel")
- -- Left margin 16. Right margin 104 ensures 8px gap between text label boundaries.
- main.Size = UDim2.new(1, -120, 1, 0); main.Position = UDim2.new(0, 16, 0, 0)
- main.BackgroundTransparency = 1; main.Text = text; main.Font = Enum.Font.GothamSemibold
- main.TextSize = isMobile and 14 or 13; main.TextColor3 = Color3.fromRGB(220, 220, 220)
- main.TextXAlignment = Enum.TextXAlignment.Left; main.ZIndex = 3; main.Parent = btn
- local subLbl = Instance.new("TextLabel")
- -- Width 80, placed exactly 16px from the right boundary for perfect symmetry with Left alignment
- subLbl.Size = UDim2.new(0, 80, 1, 0); subLbl.Position = UDim2.new(1, -96, 0, 0)
- subLbl.BackgroundTransparency = 1; subLbl.Text = sub; subLbl.Font = Enum.Font.Code
- subLbl.TextSize = 9; subLbl.TextColor3 = Color3.fromRGB(100, 100, 100)
- subLbl.TextXAlignment = Enum.TextXAlignment.Right; subLbl.ZIndex = 3; subLbl.Parent = btn
- local function onHover()
- TweenService:Create(btn, TweenInfo.new(.15), {BackgroundColor3 = Color3.fromRGB(20, 20, 20)}):Play()
- TweenService:Create(accent, TweenInfo.new(.15), {BackgroundColor3 = CONFIG.THEME_COLOR}):Play()
- TweenService:Create(stroke, TweenInfo.new(.15), {Color = CONFIG.BORDER_COLOR}):Play()
- TweenService:Create(main, TweenInfo.new(.15), {TextColor3 = Color3.fromRGB(255, 255, 255)}):Play()
- end
- local function onLeave()
- TweenService:Create(btn, TweenInfo.new(.15), {BackgroundColor3 = Color3.fromRGB(14, 14, 14)}):Play()
- TweenService:Create(accent, TweenInfo.new(.15), {BackgroundColor3 = Color3.fromRGB(50, 50, 50)}):Play()
- TweenService:Create(stroke, TweenInfo.new(.15), {Color = Color3.fromRGB(30, 30, 30)}):Play()
- TweenService:Create(main, TweenInfo.new(.15), {TextColor3 = Color3.fromRGB(220, 220, 220)}):Play()
- end
- btn.MouseEnter:Connect(onHover); btn.MouseLeave:Connect(onLeave)
- return btn, subLbl
- end
- local rocketBtn, _ = makeBtn("Rocket", "SMOOTH LIFT", 4)
- local voidBtn, _ = makeBtn("Void Sender", "NaN FLING", 5)
- local antiBtn, antiSub = makeBtn("Anti Fling", "DISABLED", 6)
- -- ── RADAR SCANNER ─────────────────────────────────────────────────────
- local function getRoot() return lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") end
- local function getHum() return lp.Character and lp.Character:FindFirstChildOfClass("Humanoid") end
- local lastTargetCount = 0
- RunService.Heartbeat:Connect(function()
- local root = getRoot()
- if not root then return end
- local found = 0
- for _, p in ipairs(Players:GetPlayers()) do
- if p ~= lp and p.Character then
- local pr = p.Character:FindFirstChild("HumanoidRootPart")
- if pr and (pr.Position - root.Position).Magnitude <= CONFIG.VOID_RADIUS then found += 1 end
- end
- end
- targetsLbl.Text = "TARGETS · " .. found
- if found > 0 then
- statusLbl.Text = "TARGET DETECTED · " .. found; statusLbl.TextColor3 = CONFIG.THEME_COLOR
- statusDot.BackgroundColor3 = CONFIG.THEME_COLOR
- if found > lastTargetCount then emit3DParticles(10) end
- else
- statusLbl.Text = "SCANNING..."; statusLbl.TextColor3 = Color3.fromRGB(100, 100, 100)
- statusDot.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
- end
- lastTargetCount = found
- end)
- local function safeTeleport(root, hum, action)
- local savedCF = root.CFrame
- local savedWS, savedJP, savedPS = hum.WalkSpeed, hum.JumpPower, hum.PlatformStand
- hum.PlatformStand = true; hum.WalkSpeed = 0; hum.JumpPower = 0
- action()
- task.delay(4.5, function()
- local r, h = getRoot(), getHum()
- if h then h.PlatformStand = savedPS; h.WalkSpeed = savedWS; h.JumpPower = savedJP end
- if r then
- r.AssemblyLinearVelocity = Vector3.zero
- r.AssemblyAngularVelocity = Vector3.zero
- r.CFrame = savedCF
- end
- end)
- end
- -- ── EXECUTION LOGIC (Rocket & NaN) ────────────────────────────────────
- local function execute(mode)
- emit3DParticles(40)
- local root, hum = getRoot(), getHum()
- local target = nil
- local minD = CONFIG.VOID_RADIUS
- if root then
- for _, p in ipairs(Players:GetPlayers()) do
- if p ~= lp and p.Character then
- local pr = p.Character:FindFirstChild("HumanoidRootPart")
- if pr then
- local d = (pr.Position - root.Position).Magnitude
- if d < minD then minD, target = d, p end
- end
- end
- end
- end
- if not root or not target then return end
- if mode == "Rocket" then
- safeTeleport(root, hum, function()
- local conn; local elapsed = 0
- local tRoot = target.Character:FindFirstChild("HumanoidRootPart")
- if not tRoot then return end
- local startY = tRoot.Position.Y - 3.5
- conn = RunService.Heartbeat:Connect(function(dt)
- elapsed = elapsed + dt
- local r, t = getRoot(), target.Character and target.Character:FindFirstChild("HumanoidRootPart")
- if not r or not t then conn:Disconnect(); return end
- local liftSpeed = 3.5
- local currentY = startY + (elapsed * liftSpeed)
- r.CFrame = CFrame.new(t.Position.X, currentY, t.Position.Z)
- r.AssemblyLinearVelocity = Vector3.new(0, liftSpeed, 0)
- pcall(sethiddenproperty, r, "PhysicsRepRootPart", t)
- end)
- task.delay(4, function()
- conn:Disconnect()
- if getRoot() then getRoot().AssemblyLinearVelocity = Vector3.zero end
- end)
- end)
- elseif mode == "NaN" then
- safeTeleport(root, hum, function()
- local nanVec = Vector3.new(0/0, 0/0, 0/0)
- local conn
- conn = RunService.Heartbeat:Connect(function()
- local r, t = getRoot(), target.Character and target.Character:FindFirstChild("HumanoidRootPart")
- if not r or not t then conn:Disconnect(); return end
- r.CFrame = t.CFrame
- r.AssemblyLinearVelocity, r.AssemblyAngularVelocity = nanVec, nanVec
- pcall(function() hum:Move(nanVec) end)
- pcall(sethiddenproperty, r, "PhysicsRepRootPart", t)
- end)
- task.delay(1.5, function() conn:Disconnect() end)
- end)
- end
- end
- rocketBtn.MouseButton1Click:Connect(function() execute("Rocket") end)
- voidBtn.MouseButton1Click:Connect(function() execute("NaN") end)
- -- ── FSOCIETY ANTI-FLING ENGINE ────────────────────────────────────────
- local physOn = PhysicalProperties.new(0.7, 0.3, 0.5)
- local physOff = PhysicalProperties.new(0, 0, 0)
- local afAlive = false
- local afConn = nil
- local flagged = {}
- local timers = {}
- local function setCollision(c, on)
- if not c then return end
- for _, d in ipairs(c:GetDescendants()) do
- if d:IsA("BasePart") then
- d.CanCollide = on
- d.CustomPhysicalProperties = on and physOn or physOff
- if not on then
- d.AssemblyLinearVelocity = Vector3.zero
- d.AssemblyAngularVelocity = Vector3.zero
- end
- end
- end
- end
- local function toggleAntiFling()
- afAlive = not afAlive
- if afAlive then
- antiSub.Text = "ACTIVE"
- antiSub.TextColor3 = CONFIG.THEME_COLOR
- local THRESH = 67
- local DURATION = 0.5
- afConn = RunService.RenderStepped:Connect(function(dt)
- if not afAlive then return end
- for _, p in ipairs(Players:GetPlayers()) do
- if p == lp then continue end
- local pc = p.Character
- local pr = pc and pc:FindFirstChild("HumanoidRootPart")
- if not pr then continue end
- local beingFlung = false
- for _, o in ipairs(Players:GetPlayers()) do
- if o ~= p then
- local or2 = o.Character and o.Character:FindFirstChild("HumanoidRootPart")
- if or2 and or2.AssemblyLinearVelocity.Magnitude > THRESH then
- beingFlung = true; break
- end
- end
- end
- timers[p] = pr.AssemblyLinearVelocity.Magnitude > THRESH and not beingFlung
- and (timers[p] or 0) + dt or 0
- if timers[p] >= DURATION and not flagged[p] then
- flagged[p] = true
- setCollision(pc, false)
- emit3DParticles(25) -- Visual flair when catching a flinger
- end
- if flagged[p] then
- for _, d in ipairs(pc:GetDescendants()) do
- if d:IsA("BasePart") then
- d.AssemblyLinearVelocity = Vector3.zero
- d.AssemblyAngularVelocity = Vector3.zero
- end
- end
- end
- end
- end)
- else
- antiSub.Text = "DISABLED"
- antiSub.TextColor3 = Color3.fromRGB(100, 100, 100)
- if afConn then afConn:Disconnect(); afConn = nil end
- for p, _ in pairs(flagged) do
- if p.Character then setCollision(p.Character, true) end
- end
- flagged = {}
- timers = {}
- end
- end
- antiBtn.MouseButton1Click:Connect(toggleAntiFling)
- -- Chat commands mapped to Anti-Fling functions
- local function findPlayer(input)
- input = tostring(input or ""):lower()
- for _, p in ipairs(Players:GetPlayers()) do
- if p.Name:lower():sub(1, #input) == input
- or (p.DisplayName or p.Name):lower():sub(1, #input) == input then
- return p
- end
- end
- end
- lp.Chatted:Connect(function(msg)
- msg = msg:lower()
- if msg:sub(1, 12) == "disableanti " then
- local f = findPlayer(msg:sub(13))
- if f and flagged[f] and f.Character then
- setCollision(f.Character, true); flagged[f] = nil
- end
- elseif msg:sub(1, 4) == "!bl " then
- local f = findPlayer(msg:sub(5))
- if f and not flagged[f] and f.Character then
- setCollision(f.Character, false); flagged[f] = true
- end
- elseif msg == "disableanti" then
- if afAlive then toggleAntiFling() end
- elseif msg == "enableanti" then
- if not afAlive then toggleAntiFling() end
- end
- end)
- -- ── INTRO ANIMATION ───────────────────────────────────────────────────
- panel.BackgroundTransparency = 1
- panel.Position = UDim2.new(0.5, -PW/2, 0.5, -PH/2 - 30)
- TweenService:Create(panel, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
- BackgroundTransparency = 0, Position = UDim2.new(0.5, -PW/2, 0.5, -PH/2)
- }):Play()
Advertisement
Add Comment
Please, Sign In to add comment