OMN1 EXECUTOR DEVELOPER MODE KEYLESS
Key RequiredUniversal

OMN1 EXECUTOR DEVELOPER MODE KEYLESS

Universal ScriptOMN1XD3VOMN1XD3V 39 views 372 executesUpdated Jul 9, 2026
Unrated
00
Lua Script•2855 lines (150550 chars)
-- =======================================================
-- OMN1X-D3V 
-- Omni executor for developer
-- ADVANCED TOOLS HUB | MAX EFFECTS | DISASTER SYSTEM | MULTI-LANG | NPC AI SPAMMER | DEV CORE
-- OPTIMIZED FOR DELTA EXECUTOR (MOBILE & PS5 CONTROLLER HAPTICS)
-- ENGLISH DEFAULT | NEON GREEN THEME | UBUNTU FONT | EXPANDED DEV FEATURES
-- =======================================================

local UIS = game:GetService("UserInputService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local TeleportService = game:GetService("TeleportService")
local Lighting = game:GetService("Lighting")
local Stats = game:GetService("Stats")
local HapticService = game:GetService("HapticService")
local ChatService = game:GetService("Chat")
local MaterialService = pcall(function() return game:GetService("MaterialService") end) and game:GetService("MaterialService") or nil
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local CoreGui = pcall(function() return game:GetService("CoreGui") end) and game:GetService("CoreGui") or LocalPlayer:WaitForChild("PlayerGui")

local GUI_NAME = "OMN1_X_D3V3L0P3R_M0D3"
if CoreGui:FindFirstChild(GUI_NAME) then CoreGui[GUI_NAME]:Destroy() end

local ScreenGui = Instance.new("ScreenGui", CoreGui)
ScreenGui.Name = GUI_NAME
ScreenGui.ResetOnSpawn = false

-- ==========================================
-- REALISTIC HAPTIC SYSTEM (V4 - PS5 HAPTIC FEEDBACK)
-- ==========================================
local function TriggerHaptic(intensity, duration)
    pcall(function()
        local h = math.clamp(intensity * 3.0, 0, 1)
        local motors = {
            Enum.VibrationMotor.Large, 
            Enum.VibrationMotor.Small, 
            Enum.VibrationMotor.RightTrigger, 
            Enum.VibrationMotor.LeftTrigger,
            Enum.VibrationMotor.RightHand,
            Enum.VibrationMotor.LeftHand
        }
        for _, motor in ipairs(motors) do
            if HapticService:IsMotorSupported(Enum.UserInputType.Gamepad1, motor) then
                task.spawn(function()
                    HapticService:SetMotor(Enum.UserInputType.Gamepad1, motor, h)
                    task.wait(duration * 0.4)
                    HapticService:SetMotor(Enum.UserInputType.Gamepad1, motor, h * 0.5)
                    task.wait(duration * 0.6)
                    pcall(function() HapticService:SetMotor(Enum.UserInputType.Gamepad1, motor, 0) end)
                end)
            end
        end

        if type(vibrate) == "function" then 
            if duration > 0.5 then
                task.spawn(function()
                    for i = 1, math.floor(duration * 4) do vibrate(300); task.wait(0.15) end
                end)
            else
                vibrate(math.floor(duration * 1500)) 
            end
        end
    end)
end

-- ==========================================
-- UI AUDIO & EFFECTS SYSTEM
-- ==========================================
local ClickSound = Instance.new("Sound", ScreenGui)
ClickSound.SoundId = "rbxassetid://4744743285"; ClickSound.Volume = 0.8
local function PlayClick() pcall(function() ClickSound:Play(); TriggerHaptic(0.4, 0.05) end) end

local HoverSound = Instance.new("Sound", ScreenGui)
HoverSound.SoundId = "rbxassetid://130785190"; HoverSound.Volume = 0.3; HoverSound.PlaybackSpeed = 1.5
local function PlayHover() pcall(function() HoverSound:Play() end) end

local XPSound = Instance.new("Sound", ScreenGui)
XPSound.SoundId = "rbxassetid://907230424"; XPSound.Volume = 0.8
pcall(function() XPSound:Play() end)

local function PlayWorldSound(id, volume, pitch)
    local s = Instance.new("Sound", workspace)
    s.SoundId = "rbxassetid://" .. tostring(id)
    s.Volume = volume or 1; s.PlaybackSpeed = pitch or 1
    s.RollOffMaxDistance = 500
    s:Play(); game.Debris:AddItem(s, 5)
end

-- ==========================================
-- REALISTIC LIGHTING & PARTICLE EFFECTS
-- ==========================================
local function EmitRealisticEffect(part, color)
    local light = Instance.new("PointLight", part)
    light.Color = color; light.Range = 60; light.Brightness = 20; light.Shadows = true
    
    local particle = Instance.new("ParticleEmitter", part)
    particle.Color = ColorSequence.new(color)
    particle.Size = NumberSequence.new({NumberSequenceKeypoint.new(0, 3.5), NumberSequenceKeypoint.new(0.5, 6), NumberSequenceKeypoint.new(1, 0)})
    particle.Rate = 1000; particle.Speed = NumberRange.new(30, 60)
    particle.Lifetime = NumberRange.new(0.5, 2.5)
    particle.LightEmission = 1; particle.ZOffset = 1; particle.Drag = 2; particle.SpreadAngle = Vector2.new(180, 180)
    
    task.delay(0.8, function() particle.Enabled = false end)
    game.Debris:AddItem(light, 3)
    game.Debris:AddItem(particle, 3)
end

-- ==========================================
-- THEME & BASE UI (MODERN CLEAN NEON THEME)
-- ==========================================
local GlassBg = Color3.fromRGB(15, 15, 20) 
local GlassTrans = 0.1 
local ElementBg = Color3.fromRGB(25, 25, 35) 
local Accent = Color3.fromRGB(57, 255, 20) -- NEON GREEN
local TextColor = Color3.fromRGB(240, 240, 240) 
local PremiumFont = Enum.Font.Ubuntu -- HIGHLY READABLE DEV FONT

-- ==========================================
-- MULTI-LANGUAGE SYSTEM (EN & DE & JP)
-- ==========================================
local CurrentLang = "EN" 
local TranslatableElements = {}

local Translations = {
    ["DE"] = {
        Btn_Tools = "📦 Alle Tools schnell holen", Title_Main = "OMN1X-D3V", Tab_Graphics = "Unreal Grafiken", Tab_Move = "Bewegung", Tab_Player = "Instinkt & Spieler", Tab_World = "Welt & Scanner", Tab_Tools = "Werkzeug-Hub", Tab_Weather = "Wetter & Katastrophen", Tab_ESP = "ESP & System", Tab_Troll = "Kampf & Troll", Tab_Server = "Server Info", Tab_Stats = "Charakter-Werte", Tab_Extra = "Zusätzliche Tools", Tab_Aimbot = "Aimbot & Kampf", Tab_Env = "Umgebung & Optimierung", Tab_AudioRealism = "Körpersinne & Haptik", Tab_NPC = "NPC KI & Begleiter", Tab_Vehicle = "Fahrzeuge", Tab_Fun = "Spaß & Minispiele", Tab_Teleport = "Teleportation", Tab_Pets = "Haustiere", Btn_Astral = "👻 AN/AUS Astralprojektion", Tab_Passcode = "Terminal-Passcode", Tab_Dev = "Entwickler-Kern", Tab_Network = "Netzwerk & Remotes", Tab_Bypass = "Bypasses & Sicherheit", Tab_Scripting = "Skriptausführung", Tab_Physics = "Physik-Entwickler", Tab_Symbiote = "Venom & Symbiote"
    },
    ["EN"] = {
        Btn_Tools = "📦 Get All Tools Fast", Title_Main = "OMN1X-D3V", Tab_Graphics = "Unreal Graphics", Tab_Move = "Movement", Tab_Player = "Instinct & Player", Tab_World = "World & Scanner", Tab_Tools = "Tools Hub", Tab_Weather = "Weather & Disasters", Tab_ESP = "ESP & System", Tab_Troll = "Combat & Troll", Tab_Server = "Server Info", Tab_Stats = "Character Stats", Tab_Extra = "Extra Utilities", Tab_Aimbot = "Aimbot & Combat", Tab_Env = "Environment & Optimization", Tab_AudioRealism = "Body Senses & Haptics", Tab_NPC = "NPC AI & Followers", Tab_Vehicle = "Vehicles", Tab_Fun = "Fun & Minigames", Tab_Teleport = "Teleportation", Tab_Pets = "Pets", Btn_Astral = "👻 ON/OFF Astral Projection", Tab_Passcode = "Terminal Passcode", Tab_Dev = "Developer Core", Tab_Network = "Network & Remotes", Tab_Bypass = "Bypasses & Security", Tab_Scripting = "Script Exec Core", Tab_Physics = "Physics Dev", Tab_Symbiote = "Symbiote & Venom"
    },
    ["JP"] = {
        Btn_Tools = "📦 すべてのツールを取得", Title_Main = "OMN1X-D3V", Tab_Graphics = "アンリアル グラフィックス", Tab_Move = "移動", Tab_Player = "本能とプレイヤー", Tab_World = "世界とスキャン", Tab_Tools = "ツール", Tab_Weather = "天気と災害", Tab_ESP = "ESPとシステム", Tab_Troll = "戦闘とトロール", Tab_Server = "サーバー情報", Tab_Stats = "ステータス", Tab_Extra = "ユーティリティ", Tab_Aimbot = "エイムボットと戦闘", Tab_Env = "環境と最適化", Tab_AudioRealism = "体感とハプティクス", Tab_NPC = "NPC AI とフォロワー", Tab_Vehicle = "乗り物", Tab_Fun = "楽しい", Tab_Teleport = "テレポート", Tab_Pets = "ペット", Btn_Astral = "👻 幽体離脱 ON/OFF", Tab_Passcode = "パスコード", Tab_Dev = "開発者コア", Tab_Network = "ネットワークとリモート", Tab_Bypass = "バイパスとセキュリティ", Tab_Scripting = "スクリプト実行", Tab_Physics = "物理学開発", Tab_Symbiote = "共生体とヴェノム"
    }
}

local function UpdateLanguage()
    for obj, key in pairs(TranslatableElements) do
        if obj:IsA("TextLabel") or obj:IsA("TextButton") then
            if Translations[CurrentLang][key] then
                if obj.RichText then obj.Text = Translations[CurrentLang][key]
                else obj.Text = string.gsub(Translations[CurrentLang][key], "<[^>]+>", "") end
            end
        end
    end
end

-- ==========================================
-- SPLASH SCREEN
-- ==========================================
local SplashFrame = Instance.new("Frame", ScreenGui)
SplashFrame.Size = UDim2.new(0, 550, 0, 300)
SplashFrame.Position = UDim2.new(0.5, -275, 0.5, -150)
SplashFrame.BackgroundColor3 = GlassBg
SplashFrame.BackgroundTransparency = 0.1
SplashFrame.ZIndex = 1000
Instance.new("UICorner", SplashFrame).CornerRadius = UDim.new(0, 15)
Instance.new("UIStroke", SplashFrame).Color = Accent
Instance.new("UIStroke", SplashFrame).Thickness = 2

local SplashText = Instance.new("TextLabel", SplashFrame)
SplashText.Size = UDim2.new(1, 0, 1, -80)
SplashText.Position = UDim2.new(0, 0, 0.5, 40)
SplashText.BackgroundTransparency = 1
SplashText.Text = "OMN1X-D3V"
SplashText.Rotation = -5
SplashText.TextColor3 = Accent
SplashText.Font = PremiumFont
SplashText.TextSize = 45
SplashText.ZIndex = 1001

local SplashWatermark = Instance.new("TextLabel", SplashFrame)
SplashWatermark.Size = UDim2.new(1, 0, 0, 40)
SplashWatermark.Position = UDim2.new(0, 0, 1, -80)
SplashWatermark.BackgroundTransparency = 1
SplashWatermark.Text = "Omni executor for developers\nOptimized & Upgraded Core"
SplashWatermark.TextColor3 = TextColor
SplashWatermark.Font = PremiumFont
SplashWatermark.TextSize = 15
SplashWatermark.ZIndex = 1001

local LoadingBg = Instance.new("Frame", SplashFrame)
LoadingBg.Size = UDim2.new(0.8, 0, 0, 6)
LoadingBg.Position = UDim2.new(0.1, 0, 1, -30)
LoadingBg.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
LoadingBg.ZIndex = 1001
Instance.new("UICorner", LoadingBg).CornerRadius = UDim.new(1, 0)

local LoadingBar = Instance.new("Frame", LoadingBg)
LoadingBar.Size = UDim2.new(0, 0, 1, 0)
LoadingBar.BackgroundColor3 = Accent
LoadingBar.ZIndex = 1002
Instance.new("UICorner", LoadingBar).CornerRadius = UDim.new(1, 0)

TweenService:Create(SplashText, TweenInfo.new(1.2, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Position = UDim2.new(0, 0, 0, -20)}):Play()
TweenService:Create(LoadingBar, TweenInfo.new(2.0, Enum.EasingStyle.Linear), {Size = UDim2.new(1, 0, 1, 0)}):Play()
TriggerHaptic(1.0, 2.0) 

-- ==========================================
-- MAIN GUI FRAME
-- ==========================================
local MainFrame = Instance.new("Frame", ScreenGui)
MainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
MainFrame.Size = UDim2.new(0, 950, 0, 650)
MainFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
MainFrame.BackgroundColor3 = GlassBg
MainFrame.BackgroundTransparency = GlassTrans
MainFrame.Active = true
MainFrame.Draggable = false
MainFrame.ClipsDescendants = true
MainFrame.Visible = false
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 12)
local MainStroke = Instance.new("UIStroke", MainFrame)
MainStroke.Color = Accent
MainStroke.Thickness = 2
MainStroke.Transparency = 0.2

local Watermark = Instance.new("TextLabel", MainFrame)
Watermark.Size = UDim2.new(1, -20, 0, 20)
Watermark.Position = UDim2.new(0, 10, 1, -20)
Watermark.BackgroundTransparency = 1
Watermark.Text = "Omni Executor | OMN1X-D3V | dev by Lehoanganh"
Watermark.TextColor3 = Accent
Watermark.Font = PremiumFont
Watermark.TextSize = 12
Watermark.TextXAlignment = Enum.TextXAlignment.Left

-- ==========================================
-- MAC CONTROLS & LANGUAGE SWITCHER
-- ==========================================
local TopBar = Instance.new("Frame", MainFrame)
TopBar.Size = UDim2.new(1, 0, 0, 40)
TopBar.BackgroundTransparency = 1
TopBar.ZIndex = 10

local Title = Instance.new("TextLabel", TopBar)
Title.Size = UDim2.new(1, -300, 1, 0)
Title.Position = UDim2.new(0, 15, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = Translations[CurrentLang]["Title_Main"]
TranslatableElements[Title] = "Title_Main"
Title.RichText = true
Title.TextColor3 = Accent
Title.Font = PremiumFont
Title.TextSize = 20
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.ZIndex = 5

local LangBtn = Instance.new("TextButton", TopBar)
LangBtn.Size = UDim2.new(0, 120, 0, 24)
LangBtn.Position = UDim2.new(1, -230, 0.5, -12)
LangBtn.BackgroundColor3 = ElementBg
LangBtn.TextColor3 = Accent
LangBtn.Font = PremiumFont
LangBtn.TextSize = 13
LangBtn.Text = "[ LANG: " .. CurrentLang .. " ]"
Instance.new("UICorner", LangBtn).CornerRadius = UDim.new(0, 6)
Instance.new("UIStroke", LangBtn).Color = Accent
LangBtn.MouseButton1Click:Connect(function()
    PlayClick()
    if CurrentLang == "EN" then CurrentLang = "DE"
    elseif CurrentLang == "DE" then CurrentLang = "JP"
    else CurrentLang = "EN" end
    LangBtn.Text = "[ LANG: " .. CurrentLang .. " ]"
    UpdateLanguage()
end)

local MacBtns = Instance.new("Frame", TopBar)
MacBtns.Size = UDim2.new(0, 100, 1, 0)
MacBtns.Position = UDim2.new(1, -95, 0, 0)
MacBtns.BackgroundTransparency = 1
MacBtns.ZIndex = 15

local function CreateMacBtn(color, textStr, posOffset, parent)
    local btn = Instance.new("TextButton", parent)
    btn.Size = UDim2.new(0, 18, 0, 18)
    btn.Position = UDim2.new(0, posOffset, 0.5, -9)
    btn.BackgroundColor3 = color
    btn.Text = textStr
    btn.TextColor3 = Color3.fromRGB(0, 0, 0)
    btn.Font = PremiumFont
    btn.TextSize = 12
    btn.MouseEnter:Connect(PlayHover)
    Instance.new("UICorner", btn).CornerRadius = UDim.new(1, 0)
    btn.ZIndex = 20
    return btn
end

local MinBtn = CreateMacBtn(Color3.fromRGB(255, 190, 40), "-", 0, MacBtns)
local MaxBtn = CreateMacBtn(Color3.fromRGB(40, 200, 60), "O", 28, MacBtns)
local CloseBtn = CreateMacBtn(Color3.fromRGB(255, 90, 80), "X", 56, MacBtns)

local FloatingIcon = Instance.new("TextButton", ScreenGui)
FloatingIcon.Size = UDim2.new(0, 200, 0, 50)
FloatingIcon.Position = UDim2.new(0, 20, 0, 20)
FloatingIcon.BackgroundColor3 = GlassBg
FloatingIcon.Text = ">_ OMN1-X M0D3"
FloatingIcon.TextColor3 = Accent
FloatingIcon.Font = PremiumFont
FloatingIcon.TextSize = 16
FloatingIcon.Visible = false
FloatingIcon.MouseEnter:Connect(PlayHover)
Instance.new("UICorner", FloatingIcon).CornerRadius = UDim.new(1, 0)
local FloatStroke = Instance.new("UIStroke", FloatingIcon)
FloatStroke.Color = Accent; FloatStroke.Thickness = 2

local function MakeDraggable(topbarobject, object)
    local Dragging, DragInput, DragStart, StartPosition = false, nil, nil, nil
    topbarobject.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            Dragging = true; DragStart = input.Position; StartPosition = object.Position
            input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then Dragging = false end end)
        end
    end)
    topbarobject.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then DragInput = input end
    end)
    UIS.InputChanged:Connect(function(input)
        if input == DragInput and Dragging then
            local delta = input.Position - DragStart
            object.Position = UDim2.new(StartPosition.X.Scale, StartPosition.X.Offset + delta.X, StartPosition.Y.Scale, StartPosition.Y.Offset + delta.Y)
        end
    end)
end
MakeDraggable(TopBar, MainFrame)
MakeDraggable(FloatingIcon, FloatingIcon)

local NormalSize = UDim2.new(0, 950, 0, 650)
CloseBtn.MouseButton1Click:Connect(function() PlayClick(); TweenService:Create(MainFrame, TweenInfo.new(0.3), {Size = UDim2.new(0, 0, 0, 0)}):Play(); task.wait(0.3); ScreenGui:Destroy() end)
MinBtn.MouseButton1Click:Connect(function() PlayClick(); local tw = TweenService:Create(MainFrame, TweenInfo.new(0.3), {Size = UDim2.new(0, 0, 0, 0)}); tw:Play(); tw.Completed:Wait(); MainFrame.Visible = false; FloatingIcon.Visible = true end)
FloatingIcon.MouseButton1Click:Connect(function() PlayClick(); MainFrame.Size = UDim2.new(0, 0, 0, 0); MainFrame.Visible = true; FloatingIcon.Visible = false; TweenService:Create(MainFrame, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = NormalSize}):Play() end)

local isFullScreen = false
MaxBtn.MouseButton1Click:Connect(function() PlayClick(); isFullScreen = not isFullScreen; TweenService:Create(MainFrame, TweenInfo.new(0.3), {Size = isFullScreen and UDim2.new(1, 0, 1, 0) or NormalSize}):Play() end)

-- ==========================================
-- LAYOUT SYSTEM
-- ==========================================
local Sidebar = Instance.new("ScrollingFrame", MainFrame)
Sidebar.Size = UDim2.new(0, 200, 1, -60); Sidebar.Position = UDim2.new(0, 10, 0, 45)
Sidebar.BackgroundTransparency = 1; Sidebar.ScrollBarThickness = 0
local SidebarLayout = Instance.new("UIListLayout", Sidebar); SidebarLayout.Padding = UDim.new(0, 8)

local ContentArea = Instance.new("Frame", MainFrame)
ContentArea.Size = UDim2.new(1, -230, 1, -60); ContentArea.Position = UDim2.new(0, 220, 0, 45)
ContentArea.BackgroundTransparency = 1

local Tabs = {}
local function CreateTab(nameKey, icon, isHidden)
    local TabBtn = Instance.new("TextButton", Sidebar)
    TabBtn.Size = UDim2.new(1, 0, 0, 40); TabBtn.BackgroundTransparency = 1
    TabBtn.TextColor3 = Color3.fromRGB(150, 150, 150); TabBtn.Font = PremiumFont; TabBtn.TextSize = 14; TabBtn.TextXAlignment = Enum.TextXAlignment.Left
    
    local txt = Translations[CurrentLang][nameKey] or nameKey
    TabBtn.Text = "  " .. icon .. "  " .. txt
    TranslatableElements[TabBtn] = nameKey
    TabBtn.MouseEnter:Connect(PlayHover)

    if isHidden then TabBtn.Visible = false end

    local Scroll = Instance.new("ScrollingFrame", ContentArea)
    Scroll.Size = UDim2.new(1, 0, 1, 0); Scroll.BackgroundTransparency = 1
    Scroll.ScrollBarThickness = 3; Scroll.ScrollBarImageColor3 = Accent; Scroll.Visible = false
    local Layout = Instance.new("UIListLayout", Scroll); Layout.Padding = UDim.new(0, 10)
    Layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() Scroll.CanvasSize = UDim2.new(0, 0, 0, Layout.AbsoluteContentSize.Y + 20) end)

    TabBtn.MouseButton1Click:Connect(function()
        PlayClick()
        for _, t in pairs(Tabs) do t.Btn.TextColor3 = Color3.fromRGB(150, 150, 150) t.Page.Visible = false end
        TabBtn.TextColor3 = Accent; Scroll.Visible = true
    end)
    table.insert(Tabs, {Btn = TabBtn, Page = Scroll, Icon = icon})
    if #Tabs == 1 and not isHidden then TabBtn.TextColor3 = Accent; Scroll.Visible = true end
    
    local originalTrans = TranslatableElements[TabBtn]
    TranslatableElements[TabBtn] = nil 
    local function CustomTabUpdate()
        if Translations[CurrentLang][originalTrans] then TabBtn.Text = "  " .. icon .. "  " .. Translations[CurrentLang][originalTrans] end
    end
    LangBtn.MouseButton1Click:Connect(CustomTabUpdate)

    return Scroll, TabBtn
end

local function CreateButton(parent, text, callback, transKey)
    local btn = Instance.new("TextButton", parent)
    btn.Size = UDim2.new(1, -10, 0, 40); btn.BackgroundColor3 = ElementBg; btn.TextColor3 = TextColor; btn.Font = PremiumFont; btn.TextSize = 14
    btn.Text = Translations[CurrentLang][transKey] or text
    if transKey then TranslatableElements[btn] = transKey end
    btn.MouseEnter:Connect(PlayHover); btn.BackgroundTransparency = 0.2
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8); Instance.new("UIStroke", btn).Color = Color3.fromRGB(40, 40, 50)
    btn.MouseButton1Click:Connect(function() PlayClick(); pcall(callback, btn) end)
    return btn
end

-- ==========================================
-- MINI MENU (BACKUP FLY HUB)
-- ==========================================
local MiniHub = Instance.new("Frame", ScreenGui)
MiniHub.Size = UDim2.new(0, 260, 0, 240); MiniHub.Position = UDim2.new(0, 20, 0.5, -90); MiniHub.BackgroundColor3 = GlassBg; MiniHub.BackgroundTransparency = GlassTrans; MiniHub.Visible = false; MiniHub.ClipsDescendants = true
Instance.new("UICorner", MiniHub).CornerRadius = UDim.new(0, 10)
local MiniStroke = Instance.new("UIStroke", MiniHub); MiniStroke.Color = Accent; MiniStroke.Thickness = 1
MakeDraggable(MiniHub, MiniHub)

local MiniMacBar = Instance.new("Frame", MiniHub)
MiniMacBar.Size = UDim2.new(1, 0, 0, 25); MiniMacBar.BackgroundTransparency = 1
local MiniClose = CreateMacBtn(Color3.fromRGB(255, 90, 80), "", 10, MiniMacBar)
local MiniMin = CreateMacBtn(Color3.fromRGB(255, 190, 40), "", 35, MiniMacBar)
local MiniMax = CreateMacBtn(Color3.fromRGB(40, 200, 60), "", 60, MiniMacBar)

MiniClose.MouseButton1Click:Connect(function() PlayClick(); MiniHub.Visible = false end)
MiniMin.MouseButton1Click:Connect(function() PlayClick(); if MiniHub.Size.Y.Offset > 30 then MiniHub.Size = UDim2.new(0, 260, 0, 25) else MiniHub.Size = UDim2.new(0, 260, 0, 240) end end)

local MiniTitle = Instance.new("TextLabel", MiniHub)
MiniTitle.Size = UDim2.new(1, -90, 0, 25); MiniTitle.Position = UDim2.new(0, 90, 0, 0); MiniTitle.BackgroundTransparency = 1; MiniTitle.Text = ">_ MINI DEV HUB"
MiniTitle.TextColor3 = Accent; MiniTitle.Font = PremiumFont; MiniTitle.TextSize = 14; MiniTitle.TextXAlignment = Enum.TextXAlignment.Left

local ToolHubBtn = Instance.new("TextButton", MiniHub)
ToolHubBtn.Size = UDim2.new(0.9, 0, 0, 30); ToolHubBtn.Position = UDim2.new(0.05, 0, 0, 35); ToolHubBtn.BackgroundColor3 = ElementBg; ToolHubBtn.TextColor3 = TextColor; ToolHubBtn.Font = PremiumFont; ToolHubBtn.TextSize = 14; ToolHubBtn.Text = Translations[CurrentLang]["Btn_Tools"]
TranslatableElements[ToolHubBtn] = "Btn_Tools"; Instance.new("UICorner", ToolHubBtn).CornerRadius = UDim.new(0, 6)

local FlyControls = Instance.new("Frame", MiniHub)
FlyControls.Size = UDim2.new(0.9, 0, 0, 160); FlyControls.Position = UDim2.new(0.05, 0, 0, 75); FlyControls.BackgroundTransparency = 1; FlyControls.Visible = false

local EnableFlyBtn = Instance.new("TextButton", MiniHub)
EnableFlyBtn.Size = UDim2.new(0.9, 0, 0, 35); EnableFlyBtn.Position = UDim2.new(0.05, 0, 0, 75); EnableFlyBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 150); EnableFlyBtn.TextColor3 = Color3.new(1,1,1); EnableFlyBtn.Font = PremiumFont; EnableFlyBtn.TextSize = 14; EnableFlyBtn.Text = "🚀 ENABLE NOCLIP FLY"
Instance.new("UICorner", EnableFlyBtn).CornerRadius = UDim.new(0, 6); Instance.new("UIStroke", EnableFlyBtn).Color = Accent

local FlyUpBtn = Instance.new("TextButton", FlyControls)
FlyUpBtn.Size = UDim2.new(0.45, 0, 0, 40); FlyUpBtn.Position = UDim2.new(0, 0, 0, 0); FlyUpBtn.BackgroundColor3 = ElementBg; FlyUpBtn.TextColor3 = Accent; FlyUpBtn.Text = "🔼 UP"; FlyUpBtn.Font = PremiumFont; FlyUpBtn.TextSize = 13
Instance.new("UICorner", FlyUpBtn).CornerRadius = UDim.new(0, 6); Instance.new("UIStroke", FlyUpBtn).Color = Accent

local FlyDownBtn = Instance.new("TextButton", FlyControls)
FlyDownBtn.Size = UDim2.new(0.45, 0, 0, 40); FlyDownBtn.Position = UDim2.new(0.55, 0, 0, 0); FlyDownBtn.BackgroundColor3 = ElementBg; FlyDownBtn.TextColor3 = Accent; FlyDownBtn.Text = "🔽 DOWN"; FlyDownBtn.Font = PremiumFont; FlyDownBtn.TextSize = 13
Instance.new("UICorner", FlyDownBtn).CornerRadius = UDim.new(0, 6); Instance.new("UIStroke", FlyDownBtn).Color = Accent

local flySpeed = 50
local SpeedAdjustFrame = Instance.new("Frame", FlyControls)
SpeedAdjustFrame.Size = UDim2.new(1, 0, 0, 35); SpeedAdjustFrame.Position = UDim2.new(0, 0, 0, 50); SpeedAdjustFrame.BackgroundTransparency = 1
local SpeedMinusBtn = Instance.new("TextButton", SpeedAdjustFrame); SpeedMinusBtn.Size = UDim2.new(0.2, 0, 1, 0); SpeedMinusBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50); SpeedMinusBtn.Text = "-"; SpeedMinusBtn.TextColor3 = Color3.new(1,1,1); SpeedMinusBtn.Font = PremiumFont; SpeedMinusBtn.TextSize = 18; Instance.new("UICorner", SpeedMinusBtn).CornerRadius = UDim.new(0,6)
local SpeedPlusBtn = Instance.new("TextButton", SpeedAdjustFrame); SpeedPlusBtn.Size = UDim2.new(0.2, 0, 1, 0); SpeedPlusBtn.Position = UDim2.new(0.8, 0, 0, 0); SpeedPlusBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 50); SpeedPlusBtn.Text = "+"; SpeedPlusBtn.TextColor3 = Color3.new(1,1,1); SpeedPlusBtn.Font = PremiumFont; SpeedPlusBtn.TextSize = 18; Instance.new("UICorner", SpeedPlusBtn).CornerRadius = UDim.new(0,6)
local SpeedDisplay = Instance.new("TextLabel", SpeedAdjustFrame); SpeedDisplay.Size = UDim2.new(0.5, 0, 1, 0); SpeedDisplay.Position = UDim2.new(0.25, 0, 0, 0); SpeedDisplay.BackgroundTransparency = 1; SpeedDisplay.TextColor3 = Accent; SpeedDisplay.Font = PremiumFont; SpeedDisplay.TextSize = 14; SpeedDisplay.Text = "Speed: " .. flySpeed

SpeedMinusBtn.MouseButton1Click:Connect(function() PlayClick(); flySpeed = math.max(10, flySpeed - 10); SpeedDisplay.Text = "Speed: " .. flySpeed end)
SpeedPlusBtn.MouseButton1Click:Connect(function() PlayClick(); flySpeed = flySpeed + 10; SpeedDisplay.Text = "Speed: " .. flySpeed end)

local DisableFlyBtn = Instance.new("TextButton", FlyControls)
DisableFlyBtn.Size = UDim2.new(1, 0, 0, 35); DisableFlyBtn.Position = UDim2.new(0, 0, 0, 95); DisableFlyBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50); DisableFlyBtn.TextColor3 = Color3.new(1,1,1); DisableFlyBtn.Text = "🛑 DISABLE FLY"; DisableFlyBtn.Font = PremiumFont; DisableFlyBtn.TextSize = 14
Instance.new("UICorner", DisableFlyBtn).CornerRadius = UDim.new(0, 6)

local flying = false; local flyUp = false; local flyDown = false; local bg, bv; local FlyLoop

local function StopFly()
    flying = false; EnableFlyBtn.Visible = true; FlyControls.Visible = false
    if bg then bg:Destroy() end; if bv then bv:Destroy() end; if FlyLoop then FlyLoop:Disconnect() end
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
        LocalPlayer.Character.Humanoid.PlatformStand = false
        for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end
    end
end

local function StartFly()
    flying = true; EnableFlyBtn.Visible = false; FlyControls.Visible = true
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") then
        local hrp = char.HumanoidRootPart
        bg = Instance.new("BodyGyro", hrp); bg.P = 9e4; bg.maxTorque = Vector3.new(9e9, 9e9, 9e9); bg.cframe = hrp.CFrame
        bv = Instance.new("BodyVelocity", hrp); bv.velocity = Vector3.new(0, 0, 0); bv.maxForce = Vector3.new(9e9, 9e9, 9e9)
        char.Humanoid.PlatformStand = true
        TriggerHaptic(1.0, 0.4)

        FlyLoop = RunService.RenderStepped:Connect(function()
            if flying and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") then
                for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end
                local moveDir = char.Humanoid.MoveDirection
                local velocityX = moveDir.X * flySpeed; local velocityZ = moveDir.Z * flySpeed; local velocityY = 0
                if flyUp then velocityY = flySpeed end; if flyDown then velocityY = -flySpeed end
                bv.velocity = Vector3.new(velocityX, velocityY, velocityZ); bg.cframe = Camera.CFrame
            end
        end)
    end
end

EnableFlyBtn.MouseButton1Click:Connect(function() PlayClick(); StartFly() end)
DisableFlyBtn.MouseButton1Click:Connect(function() PlayClick(); StopFly() end)
FlyUpBtn.MouseButton1Down:Connect(function() flyUp = true end); FlyUpBtn.MouseButton1Up:Connect(function() flyUp = false end); FlyUpBtn.MouseLeave:Connect(function() flyUp = false end)
FlyDownBtn.MouseButton1Down:Connect(function() flyDown = true end); FlyDownBtn.MouseButton1Up:Connect(function() flyDown = false end); FlyDownBtn.MouseLeave:Connect(function() flyDown = false end)

-- ==========================================
-- CREATE FUNCTIONAL TABS
-- ==========================================
local TabServer, ServerBtn = CreateTab("Tab_Server", "🖥️")
local TabStats, StatsBtn = CreateTab("Tab_Stats", "📊")
local TabAimbot, AimbotBtn = CreateTab("Tab_Aimbot", "🎯")
local TabVisuals, VisualsBtn = CreateTab("Tab_Graphics", "👁️")
local TabMovement, MoveBtn = CreateTab("Tab_Move", "🏃")
local TabPlayerInfo, PlayerBtn = CreateTab("Tab_Player", "🧬")
local TabWorld, WorldBtn = CreateTab("Tab_World", "🌍")
local TabEnv, EnvBtn = CreateTab("Tab_Env", "🌳")
local TabAudioRealism, AudioBtn = CreateTab("Tab_AudioRealism", "📳") 
local TabTools, ToolsBtn = CreateTab("Tab_Tools", "🎒")
local TabNPC, NPCBtn = CreateTab("Tab_NPC", "🤖") 
local TabVehicle, VehicleBtn = CreateTab("Tab_Vehicle", "🚗") 
local TabTeleport, TeleportBtn = CreateTab("Tab_Teleport", "🛸")
local TabWeather, WeatherBtn = CreateTab("Tab_Weather", "🌪️")
local TabESP, ESPBtn = CreateTab("Tab_ESP", "👁️‍🗨️")
local TabTroll, TrollBtn = CreateTab("Tab_Troll", "🤡")
local TabFun, FunBtn = CreateTab("Tab_Fun", "🎮")
local TabPets, PetsBtn = CreateTab("Tab_Pets", "🐾")
local TabExtra, ExtraBtn = CreateTab("Tab_Extra", "✨")

-- 🔥 NEW DEVELOPER TABS 🔥 --
local TabNetwork, NetworkBtn = CreateTab("Tab_Network", "📡")
local TabBypass, BypassBtn = CreateTab("Tab_Bypass", "🛡️")
local TabScripting, ScriptingBtn = CreateTab("Tab_Scripting", "📜")
local TabPhysics, PhysicsBtn = CreateTab("Tab_Physics", "⚛️")

-- ==========================================
-- TAB: TERMINAL PASSCODE, DEV CORE & HIDDEN
-- ==========================================
local TabPasscode, PasscodeBtn = CreateTab("Tab_Passcode", "🔑", false)
local TabDev, DevBtn = CreateTab("Tab_Dev", "💻", true) -- Hidden Tab
local TabSymbiote, SymbioteBtn = CreateTab("Tab_Symbiote", "🕷️", true) -- HIDDEN SYMBIOTE TAB

-- Terminal Input
local PasscodeTitle = Instance.new("TextLabel", TabPasscode)
PasscodeTitle.Size = UDim2.new(1, -10, 0, 30); PasscodeTitle.BackgroundTransparency = 1; PasscodeTitle.Text = "> ENTER TERMINAL PASSCODE:"
PasscodeTitle.TextColor3 = Accent; PasscodeTitle.Font = PremiumFont; PasscodeTitle.TextSize = 14; PasscodeTitle.TextXAlignment = Enum.TextXAlignment.Left

local PasscodeInput = Instance.new("TextBox", TabPasscode)
PasscodeInput.Size = UDim2.new(1, -10, 0, 40); PasscodeInput.BackgroundColor3 = ElementBg; PasscodeInput.TextColor3 = Accent; PasscodeInput.Font = PremiumFont; PasscodeInput.TextSize = 14
PasscodeInput.PlaceholderText = "Type command here..."; PasscodeInput.Text = ""
Instance.new("UICorner", PasscodeInput).CornerRadius = UDim.new(0, 8); Instance.new("UIStroke", PasscodeInput).Color = Accent

local PasscodeSubmit = CreateButton(TabPasscode, "EXECUTE COMMAND", function()
    local text = string.lower(PasscodeInput.Text)
    if text == "german" then
        CurrentLang = "DE"; LangBtn.Text = "[ LANG: " .. CurrentLang .. " ]"; UpdateLanguage()
        PasscodeInput.Text = "SYSTEM: Language set to German"
        PlayWorldSound(12222200, 1)
    elseif text == "japanese" then
        CurrentLang = "JP"; LangBtn.Text = "[ LANG: " .. CurrentLang .. " ]"; UpdateLanguage()
        PasscodeInput.Text = "SYSTEM: Language set to Japanese"
        PlayWorldSound(12222200, 1)
    elseif text == "devtab" then
        DevBtn.Visible = true
        PasscodeInput.Text = "SYSTEM: DEVELOPER CORE UNLOCKED"
        PlayWorldSound(304147775, 1.5)
        TriggerHaptic(1.0, 1.0)
    elseif text == "special" then
        SymbioteBtn.Visible = true
        PasscodeInput.Text = "SYSTEM: SYMBIOTE PROTOCOL UNLOCKED"
        PlayWorldSound(304147775, 0.5)
        TriggerHaptic(2.0, 1.5)
    else
        PasscodeInput.Text = "ERROR: INVALID COMMAND"
    end
    task.delay(2, function() PasscodeInput.Text = "" end)
end)

-- Developer Core Features
CreateButton(TabDev, "🛠️ Load Dex Explorer (Dark Theme)", function()
    pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/main/dex.lua"))() end)
    TriggerHaptic(1.0, 0.5)
end)

CreateButton(TabDev, "🕵️ Load Remote Spy (SimpleSpy)", function()
    pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/exxtremestuffs/SimpleSpySource/master/SimpleSpy.lua"))() end)
    TriggerHaptic(1.0, 0.5)
end)

CreateButton(TabDev, "🔓 Unlock Entire Workspace", function()
    local count = 0
    for _, v in pairs(workspace:GetDescendants()) do
        if v:IsA("BasePart") and v.Locked then
            v.Locked = false
            count = count + 1
        end
    end
    print("[DEV] Unlocked " .. count .. " parts in workspace.")
    PlayWorldSound(12222200, 1.5)
end)

CreateButton(TabDev, "🔲 Show All Hidden Hitboxes/Parts", function()
    for _, v in pairs(workspace:GetDescendants()) do
        if v:IsA("BasePart") and v.Transparency >= 1 then
            v.Transparency = 0.5
            v.Material = Enum.Material.ForceField
            v.Color = Accent
        end
    end
    PlayWorldSound(12222030, 2)
end)

CreateButton(TabDev, "📋 Copy Place ID & Job ID", function()
    pcall(function()
        local str = "PlaceID: " .. game.PlaceId .. " | JobID: " .. game.JobId
        if setclipboard then setclipboard(str) end
        print("[DEV] Copied to clipboard: " .. str)
    end)
end)

CreateButton(TabDev, "🌐 Server Hop (Lowest Ping)", function()
    local HttpService = game:GetService("HttpService")
    local req = request or http_request or (syn and syn.request)
    if req then
        local servers = req({Url = "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100"})
        if servers and servers.Body then
            local data = HttpService:JSONDecode(servers.Body)
            if data and data.data then
                for _, srv in pairs(data.data) do
                    if srv.playing < srv.maxPlayers and srv.id ~= game.JobId then
                        TeleportService:TeleportToPlaceInstance(game.PlaceId, srv.id, LocalPlayer)
                        break
                    end
                end
            end
        end
    end
end)

CreateButton(TabDev, "🔥 Fire All Proximity Prompts", function()
    for _, prompt in pairs(workspace:GetDescendants()) do
        if prompt:IsA("ProximityPrompt") then
            pcall(function() fireproximityprompt(prompt) end)
        end
    end
    print("[DEV] Triggered all ProximityPrompts.")
    PlayWorldSound(12222200, 1.5)
end)

CreateButton(TabDev, "🛑 Clear LocalScripts (Simulate Error)", function()
    for _, v in pairs(LocalPlayer.Character:GetDescendants()) do
        if v:IsA("LocalScript") then v.Disabled = true end
    end
    print("[DEV] Disabled LocalScripts in Character.")
end)

CreateButton(TabDev, "🧲 Bring All Unanchored Parts To Player", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local target = char.HumanoidRootPart.Position
        for _, part in pairs(workspace:GetDescendants()) do
            if part:IsA("BasePart") and not part.Anchored and not part.Parent:FindFirstChild("Humanoid") then
                part.CFrame = CFrame.new(target + Vector3.new(math.random(-5,5), math.random(5,15), math.random(-5,5)))
            end
        end
        PlayWorldSound(288641686, 2)
    end
end)

-- ==========================================
-- TAB: NETWORK & REMOTES (NEW)
-- ==========================================
local LoggingRemotes = false
CreateButton(TabNetwork, "📡 Toggle Remote Event Logger", function(btn)
    LoggingRemotes = not LoggingRemotes
    btn.BackgroundColor3 = LoggingRemotes and Accent or ElementBg
    btn.TextColor3 = LoggingRemotes and Color3.new(0,0,0) or TextColor
    if LoggingRemotes then
        for _, v in pairs(game:GetDescendants()) do
            if v:IsA("RemoteEvent") then
                pcall(function()
                    v.OnClientEvent:Connect(function(...)
                        if LoggingRemotes then
                            warn("[OMN1-X DEV] Remote Fired:", v.Name, " | Args:", ...)
                        end
                    end)
                end)
            end
        end
        print("Remote Event Logging Enabled. Press F9 to see logs.")
    end
end)

CreateButton(TabNetwork, "🚫 Block ALL Remote Events (Anti-Ban/Lag)", function()
    local mt = getrawmetatable(game)
    if mt then
        pcall(function() setreadonly(mt, false) end)
        local old = mt.__namecall
        mt.__namecall = newcclosure(function(self, ...)
            local method = getnamecallmethod()
            if method == "FireServer" or method == "InvokeServer" then return nil end
            return old(self, ...)
        end)
        pcall(function() setreadonly(mt, true) end)
        warn("[OMN1-X DEV] All Remotes Blocked!")
    end
end)

-- ==========================================
-- TAB: BYPASSES & SECURITY (NEW)
-- ==========================================
CreateButton(TabBypass, "🛡️ Anti-Kick (Bypass Server Kicks)", function(btn)
    local mt = getrawmetatable(game)
    if mt then
        pcall(function() setreadonly(mt, false) end)
        local oldNamecall = mt.__namecall
        mt.__namecall = newcclosure(function(self, ...)
            local method = getnamecallmethod()
            if method == "Kick" or method == "kick" then
                warn("[OMN1-X DEV] Server attempted to kick you. Prevented!")
                return nil
            end
            return oldNamecall(self, ...)
        end)
        pcall(function() setreadonly(mt, true) end)
        btn.BackgroundColor3 = Color3.fromRGB(50, 150, 50)
        btn.Text = "🛡️ Anti-Kick Active"
    end
end)

CreateButton(TabBypass, "🛡️ Anti-Teleport (Stay in Game)", function(btn)
    local mt = getrawmetatable(game)
    if mt then
        pcall(function() setreadonly(mt, false) end)
        local oldNamecall = mt.__namecall
        mt.__namecall = newcclosure(function(self, ...)
            local method = getnamecallmethod()
            if method == "Teleport" or method == "TeleportToPlaceInstance" then
                warn("[OMN1-X DEV] Game attempted to teleport you. Prevented!")
                return nil
            end
            return oldNamecall(self, ...)
        end)
        pcall(function() setreadonly(mt, true) end)
        btn.BackgroundColor3 = Color3.fromRGB(50, 150, 50)
        btn.Text = "🛡️ Anti-Teleport Active"
    end
end)

-- ==========================================
-- TAB: SCRIPTING EXEC CORE (NEW) WITH SAVING SYSTEM
-- ==========================================
local CodeInput = Instance.new("TextBox", TabScripting)
CodeInput.Size = UDim2.new(1, -10, 0, 150)
CodeInput.BackgroundColor3 = ElementBg
CodeInput.TextColor3 = Accent
CodeInput.Font = PremiumFont
CodeInput.TextSize = 14
CodeInput.TextXAlignment = Enum.TextXAlignment.Left
CodeInput.TextYAlignment = Enum.TextYAlignment.Top
CodeInput.ClearTextOnFocus = false
CodeInput.MultiLine = true
CodeInput.PlaceholderText = "-- Type your Lua code here...\nprint('Omni-X is the best!')"
CodeInput.Text = ""
Instance.new("UICorner", CodeInput).CornerRadius = UDim.new(0, 8)
Instance.new("UIStroke", CodeInput).Color = Color3.fromRGB(40, 40, 50)

CreateButton(TabScripting, "▶️ Execute Above Script", function()
    pcall(function()
        local func, err = loadstring(CodeInput.Text)
        if func then 
            func() 
            PlayWorldSound(304147775, 1.5)
        else
            warn("[OMN1-X DEV ERROR]:", err)
            TriggerHaptic(1.0, 1.0)
        end
    end)
end)

CreateButton(TabScripting, "🗑️ Clear Script", function() CodeInput.Text = "" end)

local ScriptNameBox = Instance.new("TextBox", TabScripting)
ScriptNameBox.Size = UDim2.new(1, -10, 0, 35)
ScriptNameBox.BackgroundColor3 = ElementBg
ScriptNameBox.TextColor3 = Color3.fromRGB(255, 255, 255)
ScriptNameBox.PlaceholderText = "Enter Script Name (e.g. MyScript.lua)"
ScriptNameBox.Font = PremiumFont
ScriptNameBox.TextSize = 14
Instance.new("UICorner", ScriptNameBox).CornerRadius = UDim.new(0, 8)
Instance.new("UIStroke", ScriptNameBox).Color = Color3.fromRGB(40, 40, 50)

local SavedScriptFile = "OmniX_SavedScript.lua"

CreateButton(TabScripting, "💾 Save Script (To Executor Workspace)", function()
    pcall(function()
        if writefile then
            local fName = ScriptNameBox.Text ~= "" and ScriptNameBox.Text or SavedScriptFile
            if not string.match(fName, "%.lua$") and not string.match(fName, "%.txt$") then fName = fName .. ".lua" end
            writefile(fName, CodeInput.Text)
            PlayWorldSound(12222200, 1.5)
            local oldText = CodeInput.Text
            CodeInput.Text = "-- SCRIPT SAVED SUCCESSFULLY AS: " .. fName
            task.wait(1.5)
            CodeInput.Text = oldText
            if _G.UpdateSavedScripts then _G.UpdateSavedScripts() end
        else
            warn("[OMN1-X DEV] 'writefile' is not supported on this executor.")
            CodeInput.Text = "-- 'writefile' API missing on this executor."
        end
    end)
end)

local ScriptListFrame = Instance.new("ScrollingFrame", TabScripting)
ScriptListFrame.Size = UDim2.new(1, -10, 0, 120)
ScriptListFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
ScriptListFrame.ScrollBarThickness = 4
Instance.new("UICorner", ScriptListFrame).CornerRadius = UDim.new(0, 8)
local ScriptListLayout = Instance.new("UIListLayout", ScriptListFrame)
ScriptListLayout.Padding = UDim.new(0, 5)

_G.UpdateSavedScripts = function()
    for _, child in pairs(ScriptListFrame:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
    pcall(function()
        if listfiles then
            local files = listfiles("")
            for _, file in pairs(files) do
                if string.match(file, "%.lua$") or string.match(file, "%.txt$") then
                    local sBtn = Instance.new("TextButton", ScriptListFrame)
                    sBtn.Size = UDim2.new(1, 0, 0, 30)
                    sBtn.BackgroundColor3 = ElementBg
                    sBtn.TextColor3 = Accent
                    sBtn.Text = "📄 " .. tostring(file)
                    sBtn.Font = PremiumFont
                    sBtn.TextSize = 14
                    Instance.new("UICorner", sBtn).CornerRadius = UDim.new(0, 4)
                    sBtn.MouseButton1Click:Connect(function()
                        if readfile then
                            CodeInput.Text = readfile(file)
                            ScriptNameBox.Text = tostring(file)
                            PlayWorldSound(304147775, 1.5)
                        end
                    end)
                end
            end
            ScriptListFrame.CanvasSize = UDim2.new(0, 0, 0, ScriptListLayout.AbsoluteContentSize.Y)
        end
    end)
end

CreateButton(TabScripting, "📂 Load / Refresh Saved Scripts List", function()
    pcall(function()
        if isfile and readfile then
            if isfile(SavedScriptFile) and CodeInput.Text == "" then CodeInput.Text = readfile(SavedScriptFile); PlayWorldSound(304147775, 1.5) end
        end
        if _G.UpdateSavedScripts then _G.UpdateSavedScripts() end
    end)
end)

-- ==========================================
-- TAB: PHYSICS DEV (NEW)
-- ==========================================
CreateButton(TabPhysics, "🧱 Delete Invisible Walls (Map Borders)", function()
    local count = 0
    for _, v in pairs(workspace:GetDescendants()) do
        if v:IsA("BasePart") and v.Transparency >= 1 and v.CanCollide and not v.Parent:FindFirstChild("Humanoid") then
            v:Destroy()
            count = count + 1
        end
    end
    print("[OMN1-X DEV] Deleted", count, "invisible walls.")
end)

CreateButton(TabPhysics, "🔓 Unanchor Every Part In Game", function()
    for _, v in pairs(workspace:GetDescendants()) do
        if v:IsA("BasePart") and not v.Parent:FindFirstChild("Humanoid") then
            v.Anchored = false
        end
    end
    PlayWorldSound(142070127, 2.0)
end)

CreateButton(TabPhysics, "🧲 Delete All Constraints & Welds", function()
    for _, v in pairs(workspace:GetDescendants()) do
        if v:IsA("Weld") or v:IsA("Constraint") or v:IsA("WeldConstraint") then
            pcall(function() v:Destroy() end)
        end
    end
end)

CreateButton(TabPhysics, "🦴 Toggle Ragdoll Physics (R6/R15)", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("Humanoid") then
        char.Humanoid.BreakJointsOnDeath = false
        for _, v in pairs(char:GetDescendants()) do
            if v:IsA("Motor6D") and v.Name ~= "Neck" and v.Name ~= "RootJoint" then
                local a0, a1 = Instance.new("Attachment"), Instance.new("Attachment")
                a0.CFrame = v.C0; a1.CFrame = v.C1
                a0.Parent = v.Part0; a1.Parent = v.Part1
                local b = Instance.new("BallSocketConstraint")
                b.Attachment0 = a0; b.Attachment1 = a1; b.Parent = v.Part0
                v.Enabled = false
            end
        end
        char.Humanoid.PlatformStand = true
        PlayWorldSound(12222200, 1.5)
        TriggerHaptic(1.5, 0.5)
    end
end)

-- ==========================================
-- TAB: BODY SENSES & HAPTICS (V4 PS5)
-- ==========================================
CreateButton(TabAudioRealism, "📳 Test Haptic Engine V4.0 (Ultra Realism)", function()
    PlayWorldSound(12222200, 1.5)
    TriggerHaptic(2.0, 1.2) 
end)
CreateButton(TabAudioRealism, "💓 Heartbeat Sensor Effect", function()
    PlayWorldSound(8744047402, 1.5)
    TriggerHaptic(3.0, 0.2); task.wait(0.3); TriggerHaptic(1.5, 0.2)
end)

-- ==========================================
-- TAB: AI NPC SPAMMER 
-- ==========================================
local NPC_List = {}

CreateButton(TabNPC, "🤖 Spawn AI Follower (Bypass Collision)", function()
    local myChar = LocalPlayer.Character
    if not myChar then return end
    
    myChar.Archivable = true
    local clone = myChar:Clone()
    clone.Parent = workspace
    clone.Name = "AI_Follower_" .. math.random(1000, 9999)
    clone.Archivable = false
    
    for _, v in pairs(clone:GetDescendants()) do
        if v:IsA("LocalScript") or v:IsA("Script") then v:Destroy() end
        if v:IsA("BasePart") then
            v.CanCollide = false 
            v.Massless = true
        end
    end
    
    local hum = clone:FindFirstChild("Humanoid")
    local root = clone:FindFirstChild("HumanoidRootPart")
    local head = clone:FindFirstChild("Head")
    
    if hum and root and head then
        table.insert(NPC_List, clone)
        PlayWorldSound(288641686, 1.5)
        EmitRealisticEffect(root, Accent)
        
        local idleAnim, runAnim
        local myAnimScript = myChar:FindFirstChild("Animate")
        if myAnimScript then
            local idle = myAnimScript:FindFirstChild("idle")
            if idle and idle:FindFirstChildOfClass("Animation") then idleAnim = hum.Animator:LoadAnimation(idle:FindFirstChildOfClass("Animation")) end
            local run = myAnimScript:FindFirstChild("run")
            if run and run:FindFirstChildOfClass("Animation") then runAnim = hum.Animator:LoadAnimation(run:FindFirstChildOfClass("Animation")) end
        end
        
        if idleAnim then idleAnim:Play() end

        task.spawn(function()
            local isRunning = false
            while clone.Parent and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") do
                for _, part in pairs(clone:GetDescendants()) do
                    if part:IsA("BasePart") then part.CanCollide = false end
                end

                local targetPos = LocalPlayer.Character.HumanoidRootPart.Position + Vector3.new(math.random(-5, 5), 0, math.random(-5, 5))
                hum:MoveTo(targetPos)
                
                if hum.MoveDirection.Magnitude > 0 and not isRunning then
                    isRunning = true
                    if runAnim then runAnim:Play() end
                    if idleAnim then idleAnim:Stop() end
                elseif hum.MoveDirection.Magnitude == 0 and isRunning then
                    isRunning = false
                    if runAnim then runAnim:Stop() end
                    if idleAnim then idleAnim:Play() end
                end
                
                if math.random(1, 40) == 1 then
                    local chatLines = {
                        "DEV CORE SYSTEM ACTIVE!",
                        "Bypassing collisions...",
                        "Running OMN1-X Build...",
                        "Unstoppable entity."
                    }
                    ChatService:Chat(head, chatLines[math.random(1, #chatLines)], Enum.ChatColor.Blue)
                end
                
                if root.Position.Y < LocalPlayer.Character.HumanoidRootPart.Position.Y - 20 then
                    root.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
                end
                
                task.wait(0.05)
            end
        end)
    end
end)

CreateButton(TabNPC, "💥 Destroy All AI Followers", function()
    for _, npc in ipairs(NPC_List) do
        if npc and npc.Parent then
            local exp = Instance.new("Explosion", workspace)
            exp.Position = npc:GetPivot().Position
            exp.BlastRadius = 15
            exp.BlastPressure = 0 
            PlayWorldSound(142070127, 1.5)
            npc:Destroy()
        end
    end
    NPC_List = {}
end)

CreateButton(TabNPC, "👥 Clone Random Player as Follower", function()
    local players = Players:GetPlayers()
    local targetPlr = players[math.random(1, #players)]
    if targetPlr and targetPlr.Character then
        targetPlr.Character.Archivable = true
        local clone = targetPlr.Character:Clone()
        clone.Parent = workspace
        for _, v in pairs(clone:GetDescendants()) do if v:IsA("LocalScript") or v:IsA("Script") then v:Destroy() end if v:IsA("BasePart") then v.CanCollide = false end end
        table.insert(NPC_List, clone)
        task.spawn(function()
            local ch = clone:FindFirstChild("Humanoid")
            while clone.Parent and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") do
                ch:MoveTo(LocalPlayer.Character.HumanoidRootPart.Position + Vector3.new(math.random(-8, 8), 0, math.random(-8, 8)))
                task.wait(0.1)
            end
        end)
    end
end)

-- ==========================================
-- TAB: SERVER INFO
-- ==========================================
local SrvInfoLbl = Instance.new("TextLabel", TabServer)
SrvInfoLbl.Size = UDim2.new(1, -10, 0, 150); SrvInfoLbl.BackgroundColor3 = ElementBg; SrvInfoLbl.TextColor3 = Accent; SrvInfoLbl.Font = PremiumFont; SrvInfoLbl.TextSize = 14; SrvInfoLbl.TextXAlignment = Enum.TextXAlignment.Left; SrvInfoLbl.TextYAlignment = Enum.TextYAlignment.Top; SrvInfoLbl.RichText = true
Instance.new("UICorner", SrvInfoLbl).CornerRadius = UDim.new(0, 8)
local UIPad = Instance.new("UIPadding", SrvInfoLbl); UIPad.PaddingTop = UDim.new(0,10); UIPad.PaddingLeft = UDim.new(0,10)

RunService.RenderStepped:Connect(function(deltaTime)
    local fps = math.floor(1 / deltaTime); local ping = "N/A"
    pcall(function() ping = math.floor(Stats.Network.ServerStatsItem["Data Ping"]:GetValue()) .. " ms" end)
    local timeStr = os.date("%H:%M:%S - %m/%d/%Y")
    SrvInfoLbl.Text = string.format([[<b>>_ SERVER NAME:</b> %s
<b>>_ PLAYERS:</b> %d / %d
<b>>_ PING:</b> %s
<b>>_ FPS:</b> %d
<b>>_ TIME:</b> %s
<b>>_ JOBID:</b> %s]], game.Name, #Players:GetPlayers(), Players.MaxPlayers, ping, fps, timeStr, string.sub(game.JobId, 1, 15).."...")
end)

CreateButton(TabServer, "🔍 Check Server Region", function()
    pcall(function()
        local HttpService = game:GetService("HttpService")
        local req = request or http_request or (syn and syn.request)
        if req then
            local res = req({Url = "http://ip-api.com/json/"})
            local body = HttpService:JSONDecode(res.Body)
            print("[OMN1-X] Server Region:", body.country, body.city)
        end
    end)
end)

-- ==========================================
-- STATS ADJUSTER
-- ==========================================
local ConfigStats = { WS = 16, JP = 50, Grav = workspace.Gravity }

RunService.Heartbeat:Connect(function()
    pcall(function()
        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
            local hum = LocalPlayer.Character.Humanoid
            if ConfigStats.WS ~= 16 and hum.WalkSpeed ~= ConfigStats.WS then hum.WalkSpeed = ConfigStats.WS end
            if ConfigStats.JP ~= 50 and hum.JumpPower ~= ConfigStats.JP then hum.JumpPower = ConfigStats.JP; hum.UseJumpPower = true end
        end
        if ConfigStats.Grav ~= workspace.Gravity and ConfigStats.Grav ~= 196.2 then workspace.Gravity = ConfigStats.Grav end
    end)
end)

local function CreateAdjusterFixed(parent, title, defaultVal, statKey)
    local frame = Instance.new("Frame", parent); frame.Size = UDim2.new(1, -10, 0, 50); frame.BackgroundColor3 = ElementBg
    Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 8)
    local lbl = Instance.new("TextLabel", frame); lbl.Size = UDim2.new(0.5, 0, 1, 0); lbl.Position = UDim2.new(0, 10, 0, 0); lbl.BackgroundTransparency = 1; lbl.TextColor3 = TextColor; lbl.Font = PremiumFont; lbl.TextSize = 14; lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.Text = title
    local valLbl = Instance.new("TextLabel", frame); valLbl.Size = UDim2.new(0.2, 0, 1, 0); valLbl.Position = UDim2.new(0.4, 0, 0, 0); valLbl.BackgroundTransparency = 1; valLbl.TextColor3 = Accent; valLbl.Font = PremiumFont; valLbl.TextSize = 16; valLbl.Text = tostring(defaultVal)
    
    local btnMinus = Instance.new("TextButton", frame); btnMinus.Size = UDim2.new(0, 35, 0, 35); btnMinus.Position = UDim2.new(0.7, 0, 0.5, -17.5); btnMinus.BackgroundColor3 = Color3.fromRGB(150, 50, 50); btnMinus.TextColor3 = Color3.new(1,1,1); btnMinus.Text = "-10"; btnMinus.Font = PremiumFont; Instance.new("UICorner", btnMinus).CornerRadius = UDim.new(0, 6)
    local btnPlus = Instance.new("TextButton", frame); btnPlus.Size = UDim2.new(0, 35, 0, 35); btnPlus.Position = UDim2.new(0.85, 0, 0.5, -17.5); btnPlus.BackgroundColor3 = Color3.fromRGB(50, 150, 50); btnPlus.TextColor3 = Color3.new(1,1,1); btnPlus.Text = "+10"; btnPlus.Font = PremiumFont; Instance.new("UICorner", btnPlus).CornerRadius = UDim.new(0, 6)
    
    btnMinus.MouseButton1Click:Connect(function() PlayClick(); ConfigStats[statKey] = ConfigStats[statKey] - 10; valLbl.Text = tostring(ConfigStats[statKey]) end)
    btnPlus.MouseButton1Click:Connect(function() PlayClick(); ConfigStats[statKey] = ConfigStats[statKey] + 10; valLbl.Text = tostring(ConfigStats[statKey]) end)
end

CreateAdjusterFixed(TabStats, "WalkSpeed", 16, "WS")
CreateAdjusterFixed(TabStats, "JumpPower", 50, "JP")
CreateAdjusterFixed(TabStats, "Gravity", workspace.Gravity, "Grav")

CreateButton(TabStats, "💪 God Mode (Infinite Health)", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("Humanoid") then
        char.Humanoid.MaxHealth = math.huge
        char.Humanoid.Health = math.huge
        PlayWorldSound(12222200, 2)
    end
end)

-- ==========================================
-- TAB: AIMBOT & COMBAT
-- ==========================================
local AimbotActive = false
local HitboxActive = false

CreateButton(TabAimbot, "🎯 Toggle Camera Aimbot (Target Lock)", function(btn)
    AimbotActive = not AimbotActive
    btn.BackgroundColor3 = AimbotActive and Accent or ElementBg; btn.TextColor3 = AimbotActive and Color3.new(0,0,0) or TextColor
    if AimbotActive then
        _G.AimLoop = RunService.RenderStepped:Connect(function()
            local closest = nil; local dist = math.huge
            for _, p in pairs(Players:GetPlayers()) do
                if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("Head") and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                    local mag = (p.Character.Head.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude
                    if mag < dist then dist = mag; closest = p.Character.Head end
                end
            end
            if closest then Camera.CFrame = CFrame.new(Camera.CFrame.Position, closest.Position) end
        end)
    else
        if _G.AimLoop then _G.AimLoop:Disconnect() end
    end
end)

CreateButton(TabAimbot, "🟥 Hitbox Expander (Large Heads)", function(btn)
    HitboxActive = not HitboxActive
    btn.BackgroundColor3 = HitboxActive and Accent or ElementBg; btn.TextColor3 = HitboxActive and Color3.new(0,0,0) or TextColor
    if HitboxActive then
        _G.HitboxLoop = RunService.Heartbeat:Connect(function()
            for _, p in pairs(Players:GetPlayers()) do
                if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("Head") then
                    p.Character.Head.Size = Vector3.new(5,5,5)
                    p.Character.Head.Transparency = 0.6
                    p.Character.Head.CanCollide = false
                end
            end
        end)
    else
        if _G.HitboxLoop then _G.HitboxLoop:Disconnect() end
        for _, p in pairs(Players:GetPlayers()) do
            if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("Head") then
                p.Character.Head.Size = Vector3.new(2,1,1)
                p.Character.Head.Transparency = 0
            end
        end
    end
end)

local AutoClicker = false
CreateButton(TabAimbot, "🖱️ Toggle Fast Auto-Clicker", function(btn)
    AutoClicker = not AutoClicker
    btn.BackgroundColor3 = AutoClicker and Accent or ElementBg; btn.TextColor3 = AutoClicker and Color3.new(0,0,0) or TextColor
    if AutoClicker then
        _G.ClickLoop = RunService.RenderStepped:Connect(function()
            if UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then
                if type(mouse1click) == "function" then mouse1click() end
            end
        end)
    else
        if _G.ClickLoop then _G.ClickLoop:Disconnect() end
    end
end)

CreateButton(TabAimbot, "💀 Kill Aura (Damage Nearby)", function(btn)
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local hrp = char.HumanoidRootPart
        for _, p in pairs(Players:GetPlayers()) do
            if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character:FindFirstChild("Humanoid") then
                if (p.Character.HumanoidRootPart.Position - hrp.Position).Magnitude < 25 then
                    p.Character.Humanoid.Health = 0
                    PlayWorldSound(142070127, 2)
                    EmitRealisticEffect(p.Character.HumanoidRootPart, Accent)
                end
            end
        end
    end
end)

-- ==========================================
-- TAB: UNREAL ENGINE GRAPHICS (ENHANCED)
-- ==========================================
local RealObjects = {}

local function ClearGraphics()
    for _, v in pairs(RealObjects) do 
        if v and type(v) == "table" and v.Destroy then pcall(function() v:Destroy() end) 
        elseif v and typeof(v) == "Instance" and v.Parent then pcall(function() v:Destroy() end) end 
    end
    RealObjects = {}
    if _G.RealCamLoop then _G.RealCamLoop:Disconnect() end
    
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("Humanoid") then char.Humanoid.CameraOffset = Vector3.new(0,0,0) end
    
    for _, v in pairs(game.Lighting:GetChildren()) do
        if v:IsA("Sky") or v:IsA("SunRaysEffect") or v:IsA("BloomEffect") or v:IsA("ColorCorrectionEffect") or v:IsA("Atmosphere") or v:IsA("DepthOfFieldEffect") then
            v:Destroy()
        end
    end
    
    game.Lighting.Brightness = 2; game.Lighting.Ambient = Color3.fromRGB(127, 127, 127)
    if game:GetService("SoundService"):FindFirstChild("UnrealEcho") then game:GetService("SoundService").UnrealEcho:Destroy() end
    pcall(function() if MaterialService then MaterialService.Use2022Materials = false end end)
end

local IsSuperMaxActive = false
CreateButton(TabVisuals, "🚀 ENABLE UNREAL ENGINE V4.0 (RTX & DYNAMIC LIGHTS)", function(btn)
    IsSuperMaxActive = not IsSuperMaxActive; ClearGraphics()
    btn.BackgroundColor3 = IsSuperMaxActive and Accent or ElementBg
    btn.TextColor3 = IsSuperMaxActive and Color3.new(0,0,0) or TextColor
    
    if IsSuperMaxActive then
        PlayWorldSound(4612398935, 1.5)
        TriggerHaptic(1.5, 0.8)
       
        pcall(function() sethiddenproperty(game.Lighting, "Technology", Enum.Technology.Future) end)
        pcall(function() if MaterialService then MaterialService.Use2022Materials = true end end)
        
        local L = game.Lighting
        L.GlobalShadows = true
        L.ClockTime = 14.5 
        L.Brightness = 4
        L.EnvironmentDiffuseScale = 1
        L.EnvironmentSpecularScale = 1
        L.Ambient = Color3.fromRGB(70, 90, 110)
        L.OutdoorAmbient = Color3.fromRGB(130, 160, 200)
        L.ColorShift_Top = Color3.fromRGB(255, 250, 235)
        
        local sky = Instance.new("Sky")
        sky.Name = "OmniRealSkyMaxV4"
        local blueSkyTexture = "rbxassetid://600886090"
        sky.SkyboxBk = blueSkyTexture; sky.SkyboxDn = blueSkyTexture; sky.SkyboxFt = blueSkyTexture
        sky.SkyboxLf = blueSkyTexture; sky.SkyboxRt = blueSkyTexture; sky.SkyboxUp = blueSkyTexture
        sky.SunTextureId = "rbxassetid://6173320016" 
        sky.SunAngularSize = 25 
        sky.StarCount = 3000
        sky.Parent = L
        table.insert(RealObjects, sky)
        
        local clouds = Instance.new("Clouds")
        clouds.Cover = 0.6; clouds.Density = 0.8; clouds.Color = Color3.fromRGB(255, 255, 255)
        clouds.Parent = workspace.Terrain
        table.insert(RealObjects, clouds)
        
        local sunRays = Instance.new("SunRaysEffect", L); sunRays.Intensity = 0.3; sunRays.Spread = 0.8
        local bloom = Instance.new("BloomEffect", L); bloom.Intensity = 0.4; bloom.Size = 30; bloom.Threshold = 1.5
        local cc = Instance.new("ColorCorrectionEffect", L); cc.Brightness = 0.08; cc.Contrast = 0.35; cc.Saturation = 0.5; cc.TintColor = Color3.fromRGB(255, 255, 255)
        local atmo = Instance.new("Atmosphere", L); atmo.Density = 0.25; atmo.Offset = 0.25; atmo.Color = Color3.fromRGB(199, 199, 255); atmo.Decay = Color3.fromRGB(104, 112, 124); atmo.Glare = 0; atmo.Haze = 1.2
        
        local dof = Instance.new("DepthOfFieldEffect", L)
        dof.FarIntensity = 0.15; dof.FocusDistance = 45; dof.InFocusRadius = 30; dof.NearIntensity = 0.1
        
        table.insert(RealObjects, bloom); table.insert(RealObjects, sunRays); table.insert(RealObjects, cc); table.insert(RealObjects, atmo); table.insert(RealObjects, dof)

        for _, v in pairs(workspace:GetDescendants()) do
            if v:IsA("BasePart") then
                if v.Material == Enum.Material.Plastic then v.Material = Enum.Material.SmoothPlastic end
                v.Reflectance = v.Reflectance + 0.1
            end
        end

        local reverb = Instance.new("ReverbSoundEffect", game:GetService("SoundService")); reverb.Name = "UnrealEcho"; reverb.DecayTime = 1.5; reverb.Density = 1; reverb.WetLevel = -10; table.insert(RealObjects, reverb)
        local windSnd = Instance.new("Sound", workspace); windSnd.SoundId = "rbxassetid://1445694294"; windSnd.Volume = 0.4; windSnd.Looped = true; windSnd:Play(); table.insert(RealObjects, windSnd)
        
        local lastStepTime = 0
        _G.RealCamLoop = RunService.RenderStepped:Connect(function()
            local char = LocalPlayer.Character
            if char and char:FindFirstChild("Humanoid") then
                local hum = char.Humanoid
                if hum.MoveDirection.Magnitude > 0 then 
                    local t = tick(); hum.CameraOffset = hum.CameraOffset:Lerp(Vector3.new(math.cos(t * 12) * 0.2, math.abs(math.sin(t * 15)) * 0.2, 0), 0.15)
                    if hum:GetState() == Enum.HumanoidStateType.Running then
                        local stepInterval = 9 / hum.WalkSpeed 
                        if tick() - lastStepTime >= stepInterval then
                            lastStepTime = tick()
                            PlayWorldSound(1554585044, 0.6, math.random(85, 115)/100)
                            TriggerHaptic(0.5, 0.1) 
                        end
                    end
                else 
                    hum.CameraOffset = hum.CameraOffset:Lerp(Vector3.new(0, 0, 0), 0.15) 
                end
            end
        end)
    end
end)

local FullbrightEnabled = false
CreateButton(TabVisuals, "☀️ Toggle Night Vision (Fullbright)", function(btn)
    FullbrightEnabled = not FullbrightEnabled; btn.BackgroundColor3 = FullbrightEnabled and Accent or ElementBg; btn.TextColor3 = FullbrightEnabled and Color3.new(0,0,0) or TextColor
    if FullbrightEnabled then game.Lighting.Ambient = Color3.fromRGB(255, 255, 255); game.Lighting.GlobalShadows = false
    else game.Lighting.Ambient = Color3.fromRGB(127, 127, 127); game.Lighting.GlobalShadows = true end
end)

-- ==========================================
-- TAB: MOVEMENT
-- ==========================================
local AirJumpEnabled = false
CreateButton(TabMovement, "👟 Toggle Air Jump (Infinite Jump)", function(btn)
    AirJumpEnabled = not AirJumpEnabled; btn.BackgroundColor3 = AirJumpEnabled and Accent or ElementBg; btn.TextColor3 = AirJumpEnabled and Color3.new(0,0,0) or TextColor
end)
UIS.JumpRequest:Connect(function() if AirJumpEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping); PlayWorldSound(12222200, 0.5, 2); TriggerHaptic(0.5, 0.15) end end)

local FrozenInAir = false
CreateButton(TabMovement, "⏸️ Air Freeze", function(btn)
    FrozenInAir = not FrozenInAir; btn.BackgroundColor3 = FrozenInAir and Color3.fromRGB(0, 150, 0) or ElementBg
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.Anchored = FrozenInAir; if FrozenInAir then PlayWorldSound(12222030, 1); TriggerHaptic(0.8, 0.4) end end
end)

local AirwalkEnabled = false
local AirwalkPart = Instance.new("Part")
AirwalkPart.Size = Vector3.new(10, 1, 10); AirwalkPart.Transparency = 1; AirwalkPart.Anchored = true; AirwalkPart.CanCollide = true; AirwalkPart.Name = "OmniAirwalkPlatform"

CreateButton(TabMovement, "🚶 Toggle Airwalk (Walk on Sky)", function(btn)
    AirwalkEnabled = not AirwalkEnabled; btn.BackgroundColor3 = AirwalkEnabled and Color3.fromRGB(0, 200, 0) or ElementBg
    if AirwalkEnabled then
        AirwalkPart.Parent = workspace
        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then AirwalkPart.Position = LocalPlayer.Character.HumanoidRootPart.Position - Vector3.new(0, 3.5, 0) end
        _G.AirwalkLoop = RunService.RenderStepped:Connect(function()
            if AirwalkEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                local hrp = LocalPlayer.Character.HumanoidRootPart
                AirwalkPart.CFrame = CFrame.new(hrp.Position.X, AirwalkPart.Position.Y, hrp.Position.Z)
            end
        end)
    else
        AirwalkPart.Parent = nil
        if _G.AirwalkLoop then _G.AirwalkLoop:Disconnect() end
    end
end)

CreateButton(TabMovement, "🚀 Rocket Launchpad", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local pad = Instance.new("Part", workspace); pad.Size = Vector3.new(8, 1, 8); pad.Position = char.HumanoidRootPart.Position + char.HumanoidRootPart.CFrame.LookVector * 10 - Vector3.new(0,3,0); pad.Anchored = true; pad.Color = Accent; pad.Material = Enum.Material.Neon
        local light = Instance.new("PointLight", pad); light.Color = Accent; light.Range = 30; light.Brightness = 8
        local pe = Instance.new("ParticleEmitter", pad); pe.Color = ColorSequence.new(Accent); pe.Rate = 100; pe.Speed = NumberRange.new(5, 15)
        local lbl = Instance.new("SurfaceGui", pad); lbl.Face = Enum.NormalId.Top
        local txt = Instance.new("TextLabel", lbl); txt.Size = UDim2.new(1,0,1,0); txt.Text = "LAUNCHPAD"; txt.TextScaled = true; txt.BackgroundTransparency = 1; txt.TextColor3 = Color3.new(0,0,0); txt.Font = PremiumFont
        pad.Touched:Connect(function(hit) if hit.Parent == LocalPlayer.Character and hit.Name == "HumanoidRootPart" then hit.Velocity = Vector3.new(0, 1500, 0); PlayWorldSound(12222200, 2.5); TriggerHaptic(1.5, 0.8) end end)
        game.Debris:AddItem(pad, 30)
    end
end)

-- ==========================================
-- TAB: INSTINCT & PLAYER (RESTORED OMNIVISION / OMNISIGN ORIGINAL)
-- ==========================================

local OmnivisionActive = false
local OriginalColors = {}
local OmniGuis = {}

CreateButton(TabPlayerInfo, "☣️ OMNIVISION (HACKED)", function(btn)
    OmnivisionActive = not OmnivisionActive
    btn.BackgroundColor3 = OmnivisionActive and Accent or ElementBg
    btn.TextColor3 = OmnivisionActive and Color3.new(0,0,0) or TextColor
    
    local char = LocalPlayer.Character
    if OmnivisionActive then
        PlayWorldSound(142070127, 2, 0.5) 
        TriggerHaptic(3.0, 2.0)
        
        -- Môi trường tối đen
        game.Lighting.Ambient = Color3.new(0, 0, 0)
        game.Lighting.OutdoorAmbient = Color3.new(0, 0, 0)
        game.Lighting.FogColor = Color3.new(0, 0, 0)
        game.Lighting.FogEnd = 250
        
        -- Khôi phục thiết kế gốc của Omnisign/Omnivision từ script cũ
        local faces = {Enum.NormalId.Top, Enum.NormalId.Front, Enum.NormalId.Back, Enum.NormalId.Right, Enum.NormalId.Left}
        for _, v in pairs(workspace:GetDescendants()) do
            if v:IsA("BasePart") and not v.Parent:FindFirstChild("Humanoid") then
                OriginalColors[v] = {v.Color, v.Material}
                v.Color = Color3.new(0, 0, 0)
                v.Material = Enum.Material.SmoothPlastic
                
                -- Khôi phục giới hạn Size > 20 và dòng chữ gốc
                if v.Size.Magnitude > 20 then
                    for _, face in ipairs(faces) do
                        local sg = Instance.new("SurfaceGui", v)
                        sg.Face = face
                        local txt = Instance.new("TextLabel", sg)
                        txt.Size = UDim2.new(1, 0, 1, 0)
                        txt.BackgroundTransparency = 1
                        txt.Text = "HEHEHEHEHEHEHEHE"                        
                        txt.Text = "JOIN OMNIX TEAM TODAY"
                        txt.TextColor3 = Accent
                        txt.TextScaled = true
                        txt.Font = PremiumFont
                        table.insert(OmniGuis, sg)
                    end
                end
            end
        end
        
        -- Cường hóa thể lực & Highlight xanh lá
        if char and char:FindFirstChild("Humanoid") then
            ConfigStats.WS = 100
            ConfigStats.JP = 150
            char.Humanoid.MaxHealth = math.huge
            char.Humanoid.Health = math.huge
            
            local hl = Instance.new("Highlight", char)
            hl.Name = "OmnisignHL"
            hl.FillColor = Accent
            hl.OutlineColor = Color3.new(0, 0, 0)
            hl.FillTransparency = 0.8
            hl.OutlineTransparency = 0
        end
    else
        -- Phục hồi môi trường
        game.Lighting.Ambient = Color3.fromRGB(127, 127, 127)
        game.Lighting.OutdoorAmbient = Color3.fromRGB(127, 127, 127)
        game.Lighting.FogEnd = 100000
        
        for part, data in pairs(OriginalColors) do
            if part and part.Parent then
                part.Color = data[1]
                part.Material = data[2]
            end
        end
        OriginalColors = {}
        
        for _, gui in pairs(OmniGuis) do
            if gui then gui:Destroy() end
        end
        OmniGuis = {}
        
        -- Phục hồi người chơi
        if char and char:FindFirstChild("Humanoid") then
            ConfigStats.WS = 16
            ConfigStats.JP = 50
            if char:FindFirstChild("OmnisignHL") then char.OmnisignHL:Destroy() end
        end
    end
end)


local InstinctEnabled = false
CreateButton(TabPlayerInfo, "👁️‍🗨️ Toggle Super Instinct (Auto-Dodge & God Mode)", function(btn)
    InstinctEnabled = not InstinctEnabled; btn.BackgroundColor3 = InstinctEnabled and Color3.fromRGB(0, 200, 0) or ElementBg; btn.TextColor3 = InstinctEnabled and Color3.new(0,0,0) or TextColor
    if InstinctEnabled then
        local ff = Instance.new("ForceField", LocalPlayer.Character); ff.Name = "OmniInstinctFF"
        if LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.MaxHealth = math.huge; LocalPlayer.Character.Humanoid.Health = math.huge end
        PlayWorldSound(3167091404, 2); TriggerHaptic(0.8, 0.6)
        _G.InstinctLoop = RunService.RenderStepped:Connect(function()
            local char = LocalPlayer.Character
            if char and char:FindFirstChild("HumanoidRootPart") then
                local hrp = char.HumanoidRootPart
                for _, p in pairs(Players:GetPlayers()) do
                    if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
                        if (hrp.Position - p.Character.HumanoidRootPart.Position).Magnitude < 10 then 
                            hrp.CFrame = hrp.CFrame * CFrame.new(math.random(-25, 25), 0, math.random(-25, 25))
                            PlayWorldSound(228343271, 1.5, 1.5)
                            EmitRealisticEffect(hrp, Accent)
                            TriggerHaptic(1.0, 0.4)
                        end
                    end
                end
            end
        end)
    else
        if _G.InstinctLoop then _G.InstinctLoop:Disconnect() end
        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("OmniInstinctFF") then LocalPlayer.Character.OmniInstinctFF:Destroy() end
    end
end)

local AuraEnabled = false
CreateButton(TabPlayerInfo, "✨ Toggle Realistic Aura", function(btn)
    AuraEnabled = not AuraEnabled; btn.BackgroundColor3 = AuraEnabled and Color3.fromRGB(0, 255, 0) or ElementBg; btn.TextColor3 = AuraEnabled and Color3.new(0,0,0) or TextColor
    local char = LocalPlayer.Character
    if AuraEnabled and char and char:FindFirstChild("HumanoidRootPart") then
        local atch = Instance.new("Attachment", char.HumanoidRootPart); atch.Name = "OmniAura"
        local pe = Instance.new("ParticleEmitter", atch); pe.Color = ColorSequence.new(Accent); pe.Size = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(0.5, 4), NumberSequenceKeypoint.new(1, 0)}); pe.Rate = 100; pe.Lifetime = NumberRange.new(1, 1.5); pe.Speed = NumberRange.new(3, 7); pe.EmissionDirection = Enum.NormalId.Top; pe.Drag = 1
        local light = Instance.new("PointLight", char.HumanoidRootPart); light.Name = "OmniAuraLight"; light.Color = Accent; light.Range = 30; light.Brightness = 8
        PlayWorldSound(304147775, 1.5); TriggerHaptic(0.7, 0.5)
    else
        if char and char:FindFirstChild("HumanoidRootPart") then
            if char.HumanoidRootPart:FindFirstChild("OmniAura") then char.HumanoidRootPart.OmniAura:Destroy() end
            if char.HumanoidRootPart:FindFirstChild("OmniAuraLight") then char.HumanoidRootPart.OmniAuraLight:Destroy() end
        end
    end
end)

local AstralActive = false
local GhostPart = nil
local AIBodyLoop = nil

CreateButton(TabPlayerInfo, "👻 ON/OFF Astral Projection (AI Controls Body)", function(btn)
    AstralActive = not AstralActive
    btn.BackgroundColor3 = AstralActive and Accent or ElementBg
    btn.TextColor3 = AstralActive and Color3.new(0,0,0) or TextColor
    
    local char = LocalPlayer.Character
    if AstralActive and char and char:FindFirstChild("HumanoidRootPart") then
        PlayWorldSound(3167091404, 2, 0.5)
        TriggerHaptic(1.5, 1.0)
        
        for _, v in pairs(char:GetDescendants()) do
            if v:IsA("BasePart") or v:IsA("Decal") then v.Transparency = 0.5 end
        end
        
        GhostPart = Instance.new("Part", workspace)
        GhostPart.Name = "AstralSpiritGhost"
        GhostPart.Transparency = 1; GhostPart.Anchored = true; GhostPart.CanCollide = false
        GhostPart.Position = char.HumanoidRootPart.Position + Vector3.new(0, 10, 0)
        
        Camera.CameraSubject = GhostPart
        
        local hum = char:FindFirstChild("Humanoid")
        AIBodyLoop = RunService.Heartbeat:Connect(function()
            if hum and char:FindFirstChild("HumanoidRootPart") then
                if GhostPart then
                    local speed = 80
                    local camLook = Camera.CFrame.LookVector
                    local camRight = Camera.CFrame.RightVector
                    local moveDir = Vector3.new(0,0,0)
                    
                    if UIS:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + camLook end
                    if UIS:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - camLook end
                    if UIS:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - camRight end
                    if UIS:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + camRight end
                    if UIS:IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0,1,0) end
                    if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir = moveDir - Vector3.new(0,1,0) end
                    
                    GhostPart.CFrame = GhostPart.CFrame + (moveDir * (speed * RunService.Heartbeat:Wait()))
                end
                
                if math.random(1, 50) == 1 then
                    local randomPos = char.HumanoidRootPart.Position + Vector3.new(math.random(-30,30), 0, math.random(-30,30))
                    hum:MoveTo(randomPos)
                end
            end
        end)
        
    else
        if GhostPart then GhostPart:Destroy() end
        if AIBodyLoop then AIBodyLoop:Disconnect() end
        
        if char and char:FindFirstChild("HumanoidRootPart") then
            Camera.CameraSubject = char:FindFirstChild("Humanoid")
            for _, v in pairs(char:GetDescendants()) do
                if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then v.Transparency = 0 end
                if v:IsA("Decal") then v.Transparency = 0 end
            end
            PlayWorldSound(228343271, 2, 2.0)
            TriggerHaptic(1.2, 0.6)
            EmitRealisticEffect(char.HumanoidRootPart, Accent)
        end
    end
end, "Btn_Astral")

local function ResizeCharacter(scaleMultiplier)
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("Humanoid") then
        local hum = char.Humanoid; local scales = {"BodyDepthScale", "BodyHeightScale", "BodyWidthScale", "HeadScale"}
        for _, scale in pairs(scales) do local val = hum:FindFirstChild(scale); if val and val:IsA("NumberValue") then val.Value = scaleMultiplier end end
        PlayWorldSound(2108736395, 1.5); TriggerHaptic(1.0, 0.6)
    end
end
CreateButton(TabPlayerInfo, "📏 Giant Size", function() ResizeCharacter(3.5) end)
CreateButton(TabPlayerInfo, "📏 Tiny Size", function() ResizeCharacter(0.3) end)
CreateButton(TabPlayerInfo, "📏 Restore Size", function() ResizeCharacter(1.0) end)

CreateButton(TabPlayerInfo, "🦴 Toggle Ragdoll (Fall Apart)", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("Humanoid") then
        char.Humanoid.BreakJointsOnDeath = false
        for _, v in pairs(char:GetDescendants()) do
            if v:IsA("Motor6D") and v.Name ~= "Neck" and v.Name ~= "RootJoint" then
                local a0, a1 = Instance.new("Attachment"), Instance.new("Attachment")
                a0.CFrame = v.C0; a1.CFrame = v.C1
                a0.Parent = v.Part0; a1.Parent = v.Part1
                local b = Instance.new("BallSocketConstraint")
                b.Attachment0 = a0; b.Attachment1 = a1; b.Parent = v.Part0
                v.Enabled = false
            end
        end
        char.Humanoid.PlatformStand = true
    end
end)

-- ==========================================
-- TAB: ENVIRONMENT & OPTIMIZATION
-- ==========================================
local WaterWalk = false
CreateButton(TabEnv, "🌊 Walk on Water", function(btn)
    WaterWalk = not WaterWalk; btn.BackgroundColor3 = WaterWalk and Accent or ElementBg; btn.TextColor3 = WaterWalk and Color3.new(0,0,0) or TextColor
    if WaterWalk then
        _G.WaterLoop = RunService.RenderStepped:Connect(function()
            local char = LocalPlayer.Character
            if char and char:FindFirstChild("HumanoidRootPart") then
                local hrp = char.HumanoidRootPart
                local state = char.Humanoid:GetState()
                if state == Enum.HumanoidStateType.Swimming then hrp.Velocity = Vector3.new(hrp.Velocity.X, 40, hrp.Velocity.Z) end
            end
        end)
    else
        if _G.WaterLoop then _G.WaterLoop:Disconnect() end
    end
end)

CreateButton(TabEnv, "☀️ Change to Day", function() game.Lighting.ClockTime = 12 end)
CreateButton(TabEnv, "🌙 Change to Night", function() game.Lighting.ClockTime = 0 end)
CreateButton(TabEnv, "🗑️ Optimize FPS (Clear Textures)", function()
    for _, v in pairs(workspace:GetDescendants()) do
        if v:IsA("BasePart") then v.Material = Enum.Material.SmoothPlastic end
        if v:IsA("Texture") or v:IsA("Decal") then v:Destroy() end
    end
    game.Lighting.GlobalShadows = false
    PlayWorldSound(4612398935, 1.5)
end)

-- ==========================================
-- TAB: WORLD SCANNER
-- ==========================================
local ScannedParts = {}; local ScanEnabled = false
CreateButton(TabWorld, "🔍 Scan All Structures (Click to Teleport)", function(btn)
    ScanEnabled = not ScanEnabled; btn.BackgroundColor3 = ScanEnabled and Accent or ElementBg; btn.TextColor3 = ScanEnabled and Color3.new(0,0,0) or TextColor
    if ScanEnabled then
        PlayWorldSound(304147775, 1.5)
        for _, v in pairs(workspace:GetDescendants()) do
            if v:IsA("BasePart") and not v.Parent:FindFirstChild("Humanoid") then
                local hl = Instance.new("Highlight", v); hl.Name = "OmniScannerHL"; hl.FillColor = Accent; hl.FillTransparency = 0.6; table.insert(ScannedParts, hl)
            end
        end
    else
        for _, v in pairs(ScannedParts) do if v then v:Destroy() end end; ScannedParts = {}
    end
end)
Mouse.Button1Down:Connect(function()
    if ScanEnabled and Mouse.Target and (Mouse.Target:FindFirstChild("OmniScannerHL") or (Mouse.Target.Parent and Mouse.Target.Parent:FindFirstChild("OmniScannerHL"))) then
        local char = LocalPlayer.Character
        if char and char:FindFirstChild("HumanoidRootPart") then 
            char.HumanoidRootPart.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0, 5, 0))
            PlayWorldSound(288641686, 1.5)
            TriggerHaptic(1.0, 0.5)
        end
    end
end)

CreateButton(TabWorld, "🔓 Remove ALL Map Boundaries", function()
    for _, v in pairs(workspace:GetDescendants()) do
        if v:IsA("BasePart") and v.Transparency >= 1 and v.CanCollide then
            v:Destroy()
        end
    end
end)

-- ==========================================
-- TAB: TOOLS HUB (INCLUDES SPIDERMAN & SYMBIOTE)
-- ==========================================
local ToolCallbacks = {}
local function GiveTool(name, func)
    local tool = Instance.new("Tool", LocalPlayer.Backpack); tool.Name = name; tool.RequiresHandle = false
    local toolSound = Instance.new("Sound", tool); toolSound.SoundId = "rbxassetid://2868294903"; toolSound.Volume = 1.5
    tool.Equipped:Connect(function() 
        toolSound:Play()
        local char = LocalPlayer.Character
        if char and char:FindFirstChild("RightHand") then EmitRealisticEffect(char.RightHand, Accent) end
        pcall(func, true) 
    end)
    tool.Unequipped:Connect(function() pcall(func, false) end)
    return tool
end
local function AddToolFeature(text, callback) table.insert(ToolCallbacks, callback); CreateButton(TabTools, text, callback) end

CreateButton(TabTools, "📦 GET ALL TOOLS FAST", function() for _, cb in pairs(ToolCallbacks) do pcall(cb); task.wait(0.05) end end)

AddToolFeature("✈️ Noclip Fly Tool", function()
    local flyingTool = false; local bgT, bvT
    GiveTool("✈️ Noclip Fly", function(equipped)
        local char = LocalPlayer.Character
        if equipped then
            flyingTool = true
            if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") then
                local hrp = char.HumanoidRootPart
                bgT = Instance.new("BodyGyro", hrp); bgT.P = 9e4; bgT.maxTorque = Vector3.new(9e9, 9e9, 9e9); bgT.cframe = hrp.CFrame
                bvT = Instance.new("BodyVelocity", hrp); bvT.velocity = Vector3.new(0, 0, 0); bvT.maxForce = Vector3.new(9e9, 9e9, 9e9)
                char.Humanoid.PlatformStand = true
                PlayWorldSound(12222200, 1.5); TriggerHaptic(1.0, 0.6)
                EmitRealisticEffect(hrp, Accent)

                _G.FlyToolLoop = RunService.RenderStepped:Connect(function()
                    if flyingTool and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") then
                        for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end
                        local moveDir = char.Humanoid.MoveDirection
                        local currentSpeed = 70 
                        bvT.velocity = Vector3.new(moveDir.X * currentSpeed, 0, moveDir.Z * currentSpeed)
                        bgT.cframe = Camera.CFrame
                        if UIS:IsKeyDown(Enum.KeyCode.Space) then bvT.velocity = bvT.velocity + Vector3.new(0, currentSpeed, 0) end
                        if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then bvT.velocity = bvT.velocity - Vector3.new(0, currentSpeed, 0) end
                    end
                end)
            end
        else
            flyingTool = false
            if bgT then bgT:Destroy() end; if bvT then bvT:Destroy() end
            if _G.FlyToolLoop then _G.FlyToolLoop:Disconnect() end
            if char and char:FindFirstChild("Humanoid") then 
                char.Humanoid.PlatformStand = false 
                for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end
            end
        end
    end)
end)

-- NÂNG CẤP TÍNH NĂNG NHỆN (ĐU GỠ ĐỘNG)
AddToolFeature("🕸️ Spider Web (Dynamic Swing)", function()
    GiveTool("🕸️ Spider Web", function(equipped) end)
    local t = LocalPlayer.Backpack:WaitForChild("🕸️ Spider Web")
    local rope, a0, a1
    local isSwinging = false
    t.Activated:Connect(function()
        if not isSwinging and Mouse.Target then
            local char = LocalPlayer.Character
            if char and char:FindFirstChild("HumanoidRootPart") then
                a0 = Instance.new("Attachment", char.HumanoidRootPart)
                a1 = Instance.new("Attachment", Mouse.Target)
                a1.WorldPosition = Mouse.Hit.Position
                rope = Instance.new("RopeConstraint")
                rope.Visible = true
                rope.Color = BrickColor.new("White")
                rope.Thickness = 0.15
                rope.Attachment0 = a0
                rope.Attachment1 = a1
                rope.Length = (char.HumanoidRootPart.Position - Mouse.Hit.Position).Magnitude
                rope.Parent = workspace
                isSwinging = true
                PlayWorldSound(288641686, 2)
            end
        elseif isSwinging then
            if rope then rope:Destroy() end
            if a0 then a0:Destroy() end
            if a1 then a1:Destroy() end
            isSwinging = false
        end
    end)
end)

AddToolFeature("🔫 Portal Gun (Unreal Space)", function()
    GiveTool("🔫 Portal Gun", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🔫 Portal Gun"); local p1, p2, tg = nil, nil, false
    local function CreatePortal(pos, color)
        local port = Instance.new("Part", workspace); port.Size = Vector3.new(7, 7, 1); port.Anchored = true; port.CanCollide = false; port.CFrame = CFrame.new(pos + Vector3.new(0,3.5,0)); port.Color = color; port.Material = Enum.Material.ForceField; port.Transparency = 0.2; port.Shape = Enum.PartType.Cylinder; port.Orientation = Vector3.new(0,0,90)
        local ring = Instance.new("Part", port); ring.Size = Vector3.new(8.5, 8.5, 0.5); ring.Anchored = true; ring.CanCollide = false; ring.CFrame = port.CFrame; ring.Material = Enum.Material.Neon; ring.Color = color; ring.Shape = Enum.PartType.Cylinder; ring.Orientation = Vector3.new(0,0,90)
        local rotLoop = RunService.RenderStepped:Connect(function() if ring and ring.Parent then ring.CFrame = ring.CFrame * CFrame.Angles(0, 0, math.rad(5)) else _G.PortalLoop = nil end end)
        Instance.new("Sound", port).SoundId = "rbxassetid://288641686"; port.Sound:Play(); EmitRealisticEffect(port, color); TriggerHaptic(1.2, 0.5)
        return port, rotLoop
    end
    local loop1, loop2 = nil, nil
    t.Activated:Connect(function()
        if Mouse.Hit then
            if not tg then 
                if p1 then p1:Destroy(); if loop1 then loop1:Disconnect() end end; p1, loop1 = CreatePortal(Mouse.Hit.Position, Accent); tg = true
            else 
                if p2 then p2:Destroy(); if loop2 then loop2:Disconnect() end end; p2, loop2 = CreatePortal(Mouse.Hit.Position, Accent); tg = false
                p1.Touched:Connect(function(h) if h.Parent == LocalPlayer.Character and p2 then local hrp = LocalPlayer.Character:FindFirstChild("HumanoidRootPart"); if hrp then hrp.CFrame = p2.CFrame + p2.CFrame.UpVector * 4; PlayWorldSound(288641686,2); TriggerHaptic(2.0,0.8); EmitRealisticEffect(hrp, Accent); task.wait(1.5) end end end)
                p2.Touched:Connect(function(h) if h.Parent == LocalPlayer.Character and p1 then local hrp = LocalPlayer.Character:FindFirstChild("HumanoidRootPart"); if hrp then hrp.CFrame = p1.CFrame + p1.CFrame.UpVector * 4; PlayWorldSound(288641686,2); TriggerHaptic(2.0,0.8); EmitRealisticEffect(hrp, Accent); task.wait(1.5) end end end)
            end
        end
    end)
end)

AddToolFeature("⚡ Thor Hammer (Lightning Strike)", function()
    GiveTool("⚡ Thor Hammer", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("⚡ Thor Hammer")
    t.Activated:Connect(function()
        if Mouse.Hit then
            local hitPos = Mouse.Hit.Position
            local bolt = Instance.new("Part", workspace); bolt.Anchored = true; bolt.CanCollide = false; bolt.Material = Enum.Material.Neon; bolt.Color = Accent; bolt.Size = Vector3.new(5, 500, 5); bolt.CFrame = CFrame.new(hitPos + Vector3.new(0, 250, 0))
            local exp = Instance.new("Explosion", workspace); exp.Position = hitPos; exp.BlastRadius = 40; exp.BlastPressure = 900000
            PlayWorldSound(142070127, 5, 0.6); TriggerHaptic(2.5, 1.5)
            EmitRealisticEffect(bolt, Accent)
            TweenService:Create(bolt, TweenInfo.new(0.6), {Size = Vector3.new(0, 500, 0), Transparency = 1}):Play()
            game.Debris:AddItem(bolt, 0.7)
        end
    end)
end)

AddToolFeature("💨 Dash Tool (Speed Glide)", function() GiveTool("💨 Dash Tool", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("💨 Dash Tool"); t.Activated:Connect(function() local c=LocalPlayer.Character;if c and c:FindFirstChild("HumanoidRootPart") then local hrp=c.HumanoidRootPart;local bv=Instance.new("BodyVelocity",hrp);bv.Velocity=hrp.CFrame.LookVector*800;bv.MaxForce=Vector3.new(99999,99999,99999);game.Debris:AddItem(bv,0.25);PlayWorldSound(12222200,3.0); EmitRealisticEffect(hrp, Accent); TriggerHaptic(1.8, 0.7) end end) end)

AddToolFeature("✨ TP Tool (Click Teleport)", function() GiveTool("✨ TP Tool", function(e) end); local t=LocalPlayer.Backpack:WaitForChild("✨ TP Tool"); t.Activated:Connect(function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and Mouse.Hit then LocalPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(Mouse.Hit.Position+Vector3.new(0,3,0));PlayWorldSound(228343271,2.0); EmitRealisticEffect(LocalPlayer.Character.HumanoidRootPart, Accent); TriggerHaptic(1.0, 0.6) end end) end)

AddToolFeature("🌌 Black Hole (Sucks Everything)", function()
    GiveTool("🌌 Black Hole", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🌌 Black Hole")
    t.Activated:Connect(function()
        if Mouse.Hit then
            local pos = Mouse.Hit.Position
            local blackHole = Instance.new("Part", workspace); blackHole.Shape = Enum.PartType.Ball; blackHole.Size = Vector3.new(2,2,2); blackHole.Color = Color3.fromRGB(0,0,0); blackHole.Material = Enum.Material.Neon; blackHole.Anchored = true; blackHole.CanCollide = false; blackHole.Position = pos + Vector3.new(0,30,0)
            local hl = Instance.new("Highlight", blackHole); hl.FillColor = Color3.new(0,0,0); hl.OutlineColor = Accent
            TweenService:Create(blackHole, TweenInfo.new(4), {Size = Vector3.new(120,120,120)}):Play()
            PlayWorldSound(304147775, 5, 0.2); TriggerHaptic(3.0, 7.0)
            EmitRealisticEffect(blackHole, Accent)
            local pullLoop = RunService.Heartbeat:Connect(function()
                for _, v in pairs(workspace:GetDescendants()) do
                    if v:IsA("BasePart") and not v.Anchored and (v.Position - blackHole.Position).Magnitude < 600 then
                        v.Velocity = (blackHole.Position - v.Position).Unit * 500
                    end
                end
            end)
            task.delay(7, function() pullLoop:Disconnect(); TweenService:Create(blackHole, TweenInfo.new(1.5), {Size = Vector3.new(0,0,0)}):Play(); game.Debris:AddItem(blackHole, 2) end)
        end
    end)
end)

AddToolFeature("🧊 Ice Gun (Freeze Enemies)", function()
    GiveTool("🧊 Ice Gun", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🧊 Ice Gun")
    t.Activated:Connect(function()
        if Mouse.Target and Mouse.Target.Parent:FindFirstChild("Humanoid") then
            local enemyChar = Mouse.Target.Parent
            local enemyHRP = enemyChar:FindFirstChild("HumanoidRootPart")
            if enemyHRP then
                enemyHRP.Anchored = true
                local ice = Instance.new("Part", workspace); ice.Size = Vector3.new(10, 12, 10); ice.Position = enemyHRP.Position; ice.Anchored = true; ice.Material = Enum.Material.Ice; ice.Color = Color3.fromRGB(0, 200, 255); ice.Transparency = 0.2
                PlayWorldSound(12222030, 3.0); TriggerHaptic(1.5, 0.8)
                EmitRealisticEffect(ice, Accent)
                task.delay(6, function() ice:Destroy(); if enemyHRP then enemyHRP.Anchored = false end end)
            end
        end
    end)
end)

AddToolFeature("🗡️ Laser Sword (Destroy Nearby)", function()
    GiveTool("🗡️ Laser Sword", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🗡️ Laser Sword")
    t.Activated:Connect(function()
        local char = LocalPlayer.Character
        if char and char:FindFirstChild("HumanoidRootPart") then
            local hrp = char.HumanoidRootPart
            PlayWorldSound(288641686, 4, 1.2); TriggerHaptic(2.0, 1.0)
            EmitRealisticEffect(hrp, Accent)
            for _, p in pairs(Players:GetPlayers()) do
                if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
                    if (p.Character.HumanoidRootPart.Position - hrp.Position).Magnitude < 50 then
                        Instance.new("Explosion", workspace).Position = p.Character.HumanoidRootPart.Position
                    end
                end
            end
        end
    end)
end)

AddToolFeature("🔥 Flamethrower", function()
    GiveTool("🔥 Flamethrower", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🔥 Flamethrower")
    t.Activated:Connect(function()
        local char = LocalPlayer.Character
        if char and char:FindFirstChild("RightHand") then
            PlayWorldSound(142070127, 3.0, 2.5); TriggerHaptic(1.5, 1.2)
            local firePart = Instance.new("Part", workspace); firePart.Size = Vector3.new(2,2,2); firePart.Position = char.RightHand.Position; firePart.Anchored = true; firePart.Transparency = 1
            local fire = Instance.new("Fire", firePart); fire.Size = 60; fire.Heat = 60
            EmitRealisticEffect(firePart, Accent)
            game.Debris:AddItem(firePart, 1.5)
            if Mouse.Hit then local exp = Instance.new("Explosion", workspace); exp.Position = Mouse.Hit.Position; exp.BlastRadius = 35; exp.BlastPressure = 5000 end
        end
    end)
end)

AddToolFeature("🛡️ Energy Shield (Protection)", function()
    GiveTool("🛡️ Energy Shield", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🛡️ Energy Shield")
    t.Activated:Connect(function()
        local char = LocalPlayer.Character
        if char and char:FindFirstChild("HumanoidRootPart") then
            local shield = Instance.new("ForceField", char)
            local visual = Instance.new("Part", char); visual.Shape = Enum.PartType.Ball; visual.Size = Vector3.new(25,25,25); visual.Material = Enum.Material.ForceField; visual.Color = Accent; visual.Anchored = false; visual.CanCollide = false
            local weld = Instance.new("Weld", visual); weld.Part0 = visual; weld.Part1 = char.HumanoidRootPart
            PlayWorldSound(3167091404, 4.0); TriggerHaptic(1.5, 1.0)
            EmitRealisticEffect(visual, Accent)
            game.Debris:AddItem(shield, 20); game.Debris:AddItem(visual, 20)
        end
    end)
end)

AddToolFeature("🌀 Speed Coil", function() GiveTool("🌀 Speed Coil", function(equipped) if equipped then ConfigStats.WS = 150; PlayWorldSound(12222200, 2.5, 2); TriggerHaptic(1.0,0.5) else ConfigStats.WS = 16 end end) end)

AddToolFeature("🌌 Gravity Coil", function() GiveTool("🌌 Gravity Coil", function(equipped) if equipped then ConfigStats.JP = 300; PlayWorldSound(288641686, 3.0, 1.5); TriggerHaptic(1.0,0.5) else ConfigStats.JP = 50 end end) end)

AddToolFeature("💣 Destructive Bomb (Click Explode)", function() GiveTool("💣 Destructive Bomb", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("💣 Destructive Bomb"); t.Activated:Connect(function() if Mouse.Hit then local exp = Instance.new("Explosion", workspace); exp.Position = Mouse.Hit.Position; exp.BlastRadius = 150; exp.BlastPressure = 999999; PlayWorldSound(142070127, 8); TriggerHaptic(3.0, 2.5); EmitRealisticEffect(workspace.Terrain, Accent) end end) end)

AddToolFeature("🧲 Gravity Gun (Fling Everything)", function()
    GiveTool("🧲 Gravity Gun", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🧲 Gravity Gun")
    t.Activated:Connect(function()
        if Mouse.Target and not Mouse.Target.Anchored then
            local targetPart = Mouse.Target
            local bv = Instance.new("BodyVelocity", targetPart)
            bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
            if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                bv.Velocity = LocalPlayer.Character.HumanoidRootPart.CFrame.LookVector * 1500
                PlayWorldSound(12222200, 4.0); TriggerHaptic(2.0, 1.0)
                EmitRealisticEffect(targetPart, Accent)
                game.Debris:AddItem(bv, 0.5)
            end
        end
    end)
end)

AddToolFeature("🌟 Meteor Strike", function()
    GiveTool("🌟 Meteor Strike", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🌟 Meteor Strike")
    t.Activated:Connect(function()
        if Mouse.Hit then
            local targetPos = Mouse.Hit.Position
            local met = Instance.new("Part", workspace); met.Shape = Enum.PartType.Ball; met.Size = Vector3.new(40, 40, 40); met.Material = Enum.Material.Neon; met.Color = Accent; met.Position = targetPos + Vector3.new(0, 800, 0)
            local fire = Instance.new("Fire", met); fire.Size = 80; fire.Heat = 80
            local bv = Instance.new("BodyVelocity", met); bv.Velocity = Vector3.new(0, -300, 0); bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
            EmitRealisticEffect(met, Accent)
            met.Touched:Connect(function(hit)
                if hit.Name ~= "Base" then
                    local exp = Instance.new("Explosion", workspace); exp.Position = met.Position; exp.BlastRadius = 150; exp.BlastPressure = 999999
                    PlayWorldSound(142070127, 10, 0.5); TriggerHaptic(3.0, 2.5); met:Destroy()
                end
            end)
        end
    end)
end)

AddToolFeature("🌪️ Tornado Wand", function()
    GiveTool("🌪️ Tornado Wand", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🌪️ Tornado Wand")
    t.Activated:Connect(function()
        if Mouse.Hit then
            local pPos = Mouse.Hit.Position
            local tornado = Instance.new("Part", workspace); tornado.Size = Vector3.new(30, 150, 30); tornado.Position = pPos + Vector3.new(0, 75, 0); tornado.Anchored = true; tornado.CanCollide = false; tornado.Transparency = 0.5; tornado.Color = Accent; tornado.Material = Enum.Material.ForceField
            local mesh = Instance.new("SpecialMesh", tornado); mesh.MeshType = Enum.MeshType.FileMesh; mesh.MeshId = "rbxassetid://437613184"; mesh.Scale = Vector3.new(15, 75, 15)
            PlayWorldSound(304147775, 6, 0.4); TriggerHaptic(2.5, 5.0)
            local rotLoop = RunService.RenderStepped:Connect(function()
                if tornado and tornado.Parent then
                    tornado.CFrame = tornado.CFrame * CFrame.Angles(0, math.rad(20), 0)
                    for _, v in pairs(workspace:GetDescendants()) do
                        if v:IsA("BasePart") and not v.Anchored and (v.Position - tornado.Position).Magnitude < 80 then
                            v.Velocity = Vector3.new(0, 200, 0) + (tornado.Position - v.Position).Unit * 100
                        end
                    end
                else _G.TornadoLoop = nil end
            end)
            task.delay(10, function() rotLoop:Disconnect(); tornado:Destroy() end)
        end
    end)
end)

AddToolFeature("🛑 Time Stop", function()
    GiveTool("🛑 Time Stop", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🛑 Time Stop")
    t.Activated:Connect(function()
        PlayWorldSound(12222030, 5, 0.2); TriggerHaptic(3.0, 3.0)
        local cc = Instance.new("ColorCorrectionEffect", game.Lighting); cc.Saturation = -1; cc.Contrast = 0.5; cc.TintColor = Color3.fromRGB(150,255,150)
        EmitRealisticEffect(LocalPlayer.Character.HumanoidRootPart, Accent)
        local frozenParts = {}
        for _, v in pairs(workspace:GetDescendants()) do
            if v:IsA("BasePart") and not v.Anchored and v.Parent ~= LocalPlayer.Character then
                v.Anchored = true; table.insert(frozenParts, v)
            end
            if v:IsA("Humanoid") and v.Parent ~= LocalPlayer.Character then v.WalkSpeed = 0 end
        end
        task.delay(10, function()
            cc:Destroy(); PlayWorldSound(288641686, 3, 1.5)
            for _, v in pairs(frozenParts) do if v and v.Parent then v.Anchored = false end end
            for _, v in pairs(workspace:GetDescendants()) do if v:IsA("Humanoid") and v.Parent ~= LocalPlayer.Character then v.WalkSpeed = 16 end end
        end)
    end)
end)

AddToolFeature("🐍 Poison Fang", function()
    GiveTool("🐍 Poison Fang", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🐍 Poison Fang")
    t.Activated:Connect(function()
        if Mouse.Target and Mouse.Target.Parent:FindFirstChild("Humanoid") then
            local enemyHum = Mouse.Target.Parent:FindFirstChild("Humanoid")
            local enemyHRP = Mouse.Target.Parent:FindFirstChild("HumanoidRootPart")
            if enemyHum and enemyHRP then
                EmitRealisticEffect(enemyHRP, Accent)
                PlayWorldSound(2108736395, 3, 0.8); TriggerHaptic(1.5, 0.5)
                task.spawn(function()
                    for i = 1, 10 do
                        if enemyHum.Health > 0 then
                            enemyHum.Health = enemyHum.Health - 10
                            local p = Instance.new("Part", workspace); p.Size=Vector3.new(2,2,2); p.CFrame=enemyHRP.CFrame; p.Material=Enum.Material.Neon; p.Color=Accent; p.Anchored=true; p.CanCollide=false; game.Debris:AddItem(p,0.5)
                            task.wait(1)
                        end
                    end
                end)
            end
        end
    end)
end)

AddToolFeature("🩹 Healing Potion (Max Restore)", function()
    GiveTool("🩹 Healing Potion", function(e) end); local t = LocalPlayer.Backpack:WaitForChild("🩹 Healing Potion")
    t.Activated:Connect(function()
        local char = LocalPlayer.Character
        if char and char:FindFirstChild("Humanoid") then
            char.Humanoid.Health = char.Humanoid.MaxHealth
            PlayWorldSound(228343271, 3.0); TriggerHaptic(1.0, 1.0)
            EmitRealisticEffect(char.HumanoidRootPart, Color3.new(0, 1, 0))
        end
    end)
end)

-- ==========================================
-- TAB: SYMBIOTE & VENOM (HIDDEN TAB - TERMINAL "SPECIAL")
-- ==========================================

CreateButton(TabSymbiote, "🕷️ Transform into VENOM", function()
    local char = LocalPlayer.Character
    if char then
        -- Kích thước khổng lồ và chỉ số bá đạo
        local hum = char:FindFirstChild("Humanoid")
        if hum then
            for _, scale in pairs({"BodyDepthScale", "BodyHeightScale", "BodyWidthScale", "HeadScale"}) do
                local val = hum:FindFirstChild(scale)
                if val and val:IsA("NumberValue") then val.Value = 2.5 end
            end
            hum.WalkSpeed = 90
            hum.JumpPower = 120
            hum.MaxHealth = math.huge
            hum.Health = math.huge
        end
        -- Nhuộm đen toàn bộ cơ thể
        for _, v in pairs(char:GetDescendants()) do
            if v:IsA("BasePart") then
                v.Color = Color3.new(0,0,0)
                v.Material = Enum.Material.Neon
            end
            if v:IsA("Decal") or v:IsA("Texture") then v:Destroy() end
        end
        PlayWorldSound(142070127, 0.5) -- Âm thanh trầm
        TriggerHaptic(3.0, 2.0)
        local hrp = char:FindFirstChild("HumanoidRootPart")
        if hrp then
            local pe = Instance.new("ParticleEmitter", hrp)
            pe.Color = ColorSequence.new(Color3.new(0,0,0))
            pe.Size = NumberSequence.new(1.5)
            pe.Rate = 100
        end
    end
end)

-- XÚC TU SYMBIOTE (SWING BẰNG XÚC TU - ĐU 2 DÂY)
CreateButton(TabSymbiote, "🦑 Equip Symbiote Tentacles (Swing Tool)", function()
    GiveTool("🦑 Symbiote Tentacle", function(equipped) end)
    local t = LocalPlayer.Backpack:WaitForChild("🦑 Symbiote Tentacle")
    
    -- Dùng table để lưu trữ các xúc tu đang hoạt động thay vì biến boolean
    local activeTentacles = {}
    local maxTentacles = 2 -- Số lượng xúc tu tối đa có thể bắn liên tiếp

    t.Activated:Connect(function()
        local char = LocalPlayer.Character

        -- Nếu số lượng xúc tu đang có nhỏ hơn 2 VÀ có mục tiêu để bám
        if #activeTentacles < maxTentacles and Mouse.Target then
            if char and char:FindFirstChild("HumanoidRootPart") then
                local a0 = Instance.new("Attachment", char.HumanoidRootPart)
                local a1 = Instance.new("Attachment", Mouse.Target)
                a1.WorldPosition = Mouse.Hit.Position
                
                -- Tạo lực kéo
                local rope = Instance.new("SpringConstraint")
                rope.Visible = true
                rope.Color = BrickColor.new("Black")
                rope.Thickness = 0.5
                rope.Attachment0 = a0
                rope.Attachment1 = a1
                rope.Damping = 1
                rope.Stiffness = 300
                rope.FreeLength = (char.HumanoidRootPart.Position - Mouse.Hit.Position).Magnitude * 0.3
                rope.Parent = workspace
                
                -- Lưu bộ phận của xúc tu này vào danh sách
                table.insert(activeTentacles, {rope = rope, a0 = a0, a1 = a1})
                
                PlayWorldSound(12222030, 0.5) -- Âm thanh nhầy nhụa
            end
        else
            -- Nếu đã bắn đủ 2 dây, click lần thứ 3 sẽ HỦY toàn bộ dây để rơi xuống
            for _, tentacle in ipairs(activeTentacles) do
                if tentacle.rope then tentacle.rope:Destroy() end
                if tentacle.a0 then tentacle.a0:Destroy() end
                if tentacle.a1 then tentacle.a1:Destroy() end
            end
            -- Làm rỗng danh sách để bắt đầu chu kỳ swing mới
            activeTentacles = {}
        end
    end)

    -- [Bổ sung quan trọng] Tự động cắt dây nếu người chơi cất Tool đi
    t.Unequipped:Connect(function()
        for _, tentacle in ipairs(activeTentacles) do
            if tentacle.rope then tentacle.rope:Destroy() end
            if tentacle.a0 then tentacle.a0:Destroy() end
            if tentacle.a1 then tentacle.a1:Destroy() end
        end
        activeTentacles = {}
    end)
end)
-- SYMBYOTE DOMAIN EXPANSION
local DomainActive = false
CreateButton(TabSymbiote, "🌌 SYMBYOTE DOMAIN EXPANSION", function(btn)
    DomainActive = not DomainActive
    local char = LocalPlayer.Character
    if DomainActive and char and char:FindFirstChild("HumanoidRootPart") then
        btn.Text = "🌌 DISABLE SYMBYOTE DOMAIN"
        btn.BackgroundColor3 = Color3.fromRGB(0,0,0)
        btn.TextColor3 = Color3.fromRGB(255,255,255)
        PlayWorldSound(304147775, 0.4)
        TriggerHaptic(3.0, 3.0)
        
        -- Tạo Vòm đen khổng lồ
        local domain = Instance.new("Part", workspace)
        domain.Name = "SymbioteDomainBase"
        domain.Shape = Enum.PartType.Ball
        domain.Size = Vector3.new(2,2,2)
        domain.Color = Color3.new(0,0,0)
        domain.Material = Enum.Material.Neon
        domain.Anchored = true
        domain.CanCollide = false
        domain.Position = char.HumanoidRootPart.Position
        
        TweenService:Create(domain, TweenInfo.new(2), {Size = Vector3.new(400, 400, 400), Transparency = 0.5}):Play()
        
        -- Chuyển trời thành đỏ đen
        game.Lighting.Ambient = Color3.new(1, 0, 0)
        game.Lighting.OutdoorAmbient = Color3.new(0, 0, 0)
        
        -- Trừ máu kẻ địch xung quanh
        _G.SymDomainLoop = RunService.Heartbeat:Connect(function()
            for _, p in pairs(Players:GetPlayers()) do
                if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character:FindFirstChild("Humanoid") then
                    if (p.Character.HumanoidRootPart.Position - domain.Position).Magnitude < 200 then
                        p.Character.Humanoid.Health = p.Character.Humanoid.Health - 0.5
                        p.Character.Humanoid.WalkSpeed = 5 -- Làm chậm
                    end
                end
            end
        end)
    else
        btn.Text = "🌌 SYMBYOTE DOMAIN EXPANSION"
        btn.BackgroundColor3 = ElementBg
        btn.TextColor3 = TextColor
        if _G.SymDomainLoop then _G.SymDomainLoop:Disconnect() end
        for _, v in pairs(workspace:GetChildren()) do
            if v.Name == "SymbioteDomainBase" then v:Destroy() end
        end
        game.Lighting.Ambient = Color3.fromRGB(127,127,127)
        game.Lighting.OutdoorAmbient = Color3.fromRGB(130, 160, 200)
    end
end)

-- GAI XÚC TU SYMBIOTE (AOE HỦY DIỆT)
CreateButton(TabSymbiote, "💥 Symbiote Tendril Spikes (AoE Kill)", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local hrp = char.HumanoidRootPart
        PlayWorldSound(142070127, 0.8)
        TriggerHaptic(2.0, 1.0)
        -- Tạo gai đâm ra xung quanh
        for i = 1, 15 do
            local spike = Instance.new("Part", workspace)
            spike.Size = Vector3.new(2, 40, 2)
            spike.Color = Color3.new(0,0,0)
            spike.Material = Enum.Material.Neon
            spike.Anchored = true
            spike.CanCollide = false
            
            local angle = math.rad((360 / 15) * i)
            local offset = Vector3.new(math.cos(angle) * 20, -10, math.sin(angle) * 20)
            spike.CFrame = CFrame.new(hrp.Position + offset, hrp.Position) * CFrame.Angles(math.rad(45), 0, 0)
            
            TweenService:Create(spike, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {CFrame = spike.CFrame * CFrame.new(0, 20, 0)}):Play()
            
            task.delay(1.5, function()
                TweenService:Create(spike, TweenInfo.new(0.5), {Transparency = 1, Size = Vector3.new(0,0,0)}):Play()
                game.Debris:AddItem(spike, 0.6)
            end)
        end
        
        -- Sát thương
        for _, p in pairs(Players:GetPlayers()) do
            if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character:FindFirstChild("Humanoid") then
                if (p.Character.HumanoidRootPart.Position - hrp.Position).Magnitude < 35 then
                    p.Character.Humanoid.Health = 0
                end
            end
        end
    end
end)

-- ==========================================
-- TAB: WEATHER & DISASTERS
-- ==========================================
local ActiveDisasters = {}
local function ClearDisasters() for _,v in pairs(ActiveDisasters) do if typeof(v) == "RBXScriptConnection" then v:Disconnect() else pcall(function() v:Destroy() end) end end; ActiveDisasters = {}; game.Lighting.ClockTime = 14 end
CreateButton(TabWeather, "🛑 Stop All Disasters", function() ClearDisasters() end)

CreateButton(TabWeather, "🌋 Realistic Earthquake", function()
    local shakeConn = RunService.RenderStepped:Connect(function()
        local c = workspace.CurrentCamera; local intensity = math.random(30, 80) / 10
        c.CFrame = c.CFrame * CFrame.new(math.random(-intensity, intensity), math.random(-intensity, intensity), math.random(-intensity, intensity))
        if math.random(1, 4) == 1 then TriggerHaptic(3.0, 0.3) end 
    end)
    table.insert(ActiveDisasters, shakeConn)
    local snd = Instance.new("Sound", workspace); snd.SoundId = "rbxassetid://133626125"; snd.Volume = 10; snd.Looped = true; snd:Play(); table.insert(ActiveDisasters, snd)
end)

CreateButton(TabWeather, "☄️ Meteor Shower", function()
    local meteorConn = RunService.Heartbeat:Connect(function()
        if math.random(1, 8) == 1 then
            local char = LocalPlayer.Character
            if char and char:FindFirstChild("HumanoidRootPart") then
                local met = Instance.new("Part", workspace); met.Shape = Enum.PartType.Ball; met.Size = Vector3.new(40, 40, 40); met.Material = Enum.Material.Neon; met.Color = Accent; met.Position = char.HumanoidRootPart.Position + Vector3.new(math.random(-400, 400), 800, math.random(-400, 400))
                local fire = Instance.new("Fire", met); fire.Size = 80; fire.Heat = 80
                local expSound = Instance.new("Sound", met); expSound.SoundId = "rbxassetid://142070127"; expSound.Volume = 10
                met.Touched:Connect(function(hit) local e = Instance.new("Explosion", workspace); e.Position = met.Position; e.BlastRadius = 150; expSound:Play(); TriggerHaptic(2.5, 1.5); met:Destroy() end)
                table.insert(ActiveDisasters, met)
            end
        end
    end)
    table.insert(ActiveDisasters, meteorConn)
    local snd = Instance.new("Sound", workspace); snd.SoundId = "rbxassetid://304147775"; snd.Volume = 5; snd.Looped = true; snd:Play(); table.insert(ActiveDisasters, snd)
end)

CreateButton(TabWeather, "🌊 Tsunami", function()
    local wave = Instance.new("Part", workspace); wave.Size = Vector3.new(6000, 400, 6000); wave.Color = Color3.fromRGB(0, 100, 255); wave.Material = Enum.Material.Glass; wave.Transparency = 0.2; wave.Anchored = true; wave.CanCollide = false; wave.Reflectance = 0.8
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        wave.Position = char.HumanoidRootPart.Position + Vector3.new(3000, -20, 0)
        local tween = TweenService:Create(wave, TweenInfo.new(18, Enum.EasingStyle.Linear), {Position = wave.Position - Vector3.new(6000, 0, 0)}); tween:Play()
        local snd = Instance.new("Sound", workspace); snd.SoundId = "rbxassetid://4612398935"; snd.Volume = 10; snd:Play()
        table.insert(ActiveDisasters, wave); table.insert(ActiveDisasters, snd)
        TriggerHaptic(2.0, 7.0)
    end
end)

CreateButton(TabWeather, "☁️ Foggy Doom (Silent Hill)", function()
    game.Lighting.FogColor = Color3.fromRGB(150, 150, 150)
    game.Lighting.FogEnd = 50
    game.Lighting.ClockTime = 6
    PlayWorldSound(1445694294, 2.0, 0.5)
end)

-- ==========================================
-- TAB: TELEPORT
-- ==========================================
CreateButton(TabTeleport, "🏠 Teleport to Spawn Point", function()
    local spawn = workspace:FindFirstChildOfClass("SpawnLocation")
    if spawn and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
        LocalPlayer.Character.HumanoidRootPart.CFrame = spawn.CFrame + Vector3.new(0, 5, 0)
        PlayWorldSound(228343271, 1.5); TriggerHaptic(1.0, 0.5)
        EmitRealisticEffect(LocalPlayer.Character.HumanoidRootPart, Accent)
    end
end)
CreateButton(TabTeleport, "⬆️ Teleport Up 1000 Studs", function()
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
        LocalPlayer.Character.HumanoidRootPart.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame + Vector3.new(0, 1000, 0)
        PlayWorldSound(228343271, 1.5); TriggerHaptic(1.0, 0.5)
    end
end)

CreateButton(TabTeleport, "📍 Click-to-Teleport (Ctrl+Click)", function(btn)
    local tpActive = false
    tpActive = not tpActive
    btn.Text = tpActive and "📍 Click-to-Teleport ACTIVE" or "📍 Click-to-Teleport (Ctrl+Click)"
    btn.BackgroundColor3 = tpActive and Accent or ElementBg
    btn.TextColor3 = tpActive and Color3.new(0,0,0) or TextColor
    Mouse.Button1Down:Connect(function()
        if tpActive and UIS:IsKeyDown(Enum.KeyCode.LeftControl) and Mouse.Hit then
            local char = LocalPlayer.Character
            if char and char:FindFirstChild("HumanoidRootPart") then
                char.HumanoidRootPart.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0,5,0))
                PlayWorldSound(228343271, 1.5); TriggerHaptic(1.0, 0.5)
                EmitRealisticEffect(char.HumanoidRootPart, Accent)
            end
        end
    end)
end)

-- ==========================================
-- TAB: PETS
-- ==========================================
local ActivePet = nil
CreateButton(TabPets, "🐶 Summon Golden Robo-Dog", function()
    if ActivePet then ActivePet:Destroy() end
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local pet = Instance.new("Part", workspace); pet.Size = Vector3.new(2, 2, 2); pet.Color = Color3.fromRGB(255, 215, 0); pet.Material = Enum.Material.Neon; pet.CanCollide = false
        local att = Instance.new("Attachment", pet)
        local att0 = Instance.new("Attachment", char.HumanoidRootPart); att0.Position = Vector3.new(-3, 2, 3)
        local ap = Instance.new("AlignPosition", pet); ap.Attachment0 = att; ap.Attachment1 = att0; ap.RigidityEnabled = false; ap.MaxForce = 99999; ap.Responsiveness = 10
        local ao = Instance.new("AlignOrientation", pet); ao.Attachment0 = att; ao.Attachment1 = att0; ao.RigidityEnabled = false; ao.MaxTorque = 99999; ao.Responsiveness = 10
        ActivePet = pet
        PlayWorldSound(288641686, 1.5); TriggerHaptic(1.0, 0.5)
    end
end)

CreateButton(TabPets, "🐲 Summon Mini Dragon", function()
    if ActivePet then ActivePet:Destroy() end
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local pet = Instance.new("Part", workspace); pet.Size = Vector3.new(2, 2, 2); pet.Color = Color3.fromRGB(255, 50, 50); pet.Material = Enum.Material.Neon; pet.CanCollide = false
        Instance.new("Fire", pet)
        local att = Instance.new("Attachment", pet)
        local att0 = Instance.new("Attachment", char.HumanoidRootPart); att0.Position = Vector3.new(3, 4, -3)
        local ap = Instance.new("AlignPosition", pet); ap.Attachment0 = att; ap.Attachment1 = att0; ap.RigidityEnabled = false; ap.MaxForce = 99999; ap.Responsiveness = 5
        local ao = Instance.new("AlignOrientation", pet); ao.Attachment0 = att; ao.Attachment1 = att0; ao.RigidityEnabled = false; ao.MaxTorque = 99999; ao.Responsiveness = 5
        ActivePet = pet
        PlayWorldSound(288641686, 1.5); TriggerHaptic(1.0, 0.5)
    end
end)

CreateButton(TabPets, "❌ Remove Pet", function() if ActivePet then ActivePet:Destroy(); ActivePet = nil end end)

-- ==========================================
-- TAB: ESP
-- ==========================================
local ESP_Enabled = false
local function ApplyESP(plr)
    if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") and plr.Character:FindFirstChild("Head") and not plr.Character:FindFirstChild("OmniESP_Folder") then
        local folder = Instance.new("Folder", plr.Character); folder.Name = "OmniESP_Folder"
        local hl = Instance.new("Highlight", folder); hl.Adornee = plr.Character; hl.FillColor = Accent; hl.OutlineColor = Color3.fromRGB(255, 255, 255); hl.FillTransparency = 0.5; hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
        local bgui = Instance.new("BillboardGui", folder); bgui.Adornee = plr.Character.Head; bgui.Size = UDim2.new(0, 100, 0, 40); bgui.StudsOffset = Vector3.new(0, 2, 0); bgui.AlwaysOnTop = true
        local nameTxt = Instance.new("TextLabel", bgui); nameTxt.Size = UDim2.new(1, 0, 0.5, 0); nameTxt.BackgroundTransparency = 1; nameTxt.Text = plr.Name; nameTxt.TextColor3 = Color3.new(1,1,1); nameTxt.Font = PremiumFont; nameTxt.TextScaled = true
        local healthTxt = Instance.new("TextLabel", bgui); healthTxt.Size = UDim2.new(1, 0, 0.5, 0); healthTxt.Position = UDim2.new(0, 0, 0.5, 0); healthTxt.BackgroundTransparency = 1; healthTxt.TextColor3 = Accent; healthTxt.Font = PremiumFont; healthTxt.TextScaled = true
        task.spawn(function()
            while ESP_Enabled and plr.Character and plr.Character:FindFirstChild("Humanoid") do
                local hp = math.floor(plr.Character.Humanoid.Health); local maxHp = math.floor(plr.Character.Humanoid.MaxHealth)
                healthTxt.Text = "HP: " .. hp .. "/" .. maxHp
                if hp < (maxHp * 0.3) then healthTxt.TextColor3 = Color3.fromRGB(255, 50, 50) else healthTxt.TextColor3 = Accent end
                task.wait(0.5)
            end
        end)
    end
end

CreateButton(TabESP, "🔴 ON/OFF ESP (X-Ray + Health - Includes You)", function(btn)
    ESP_Enabled = not ESP_Enabled
    btn.BackgroundColor3 = ESP_Enabled and Accent or ElementBg; btn.TextColor3 = ESP_Enabled and Color3.new(0,0,0) or TextColor
    if ESP_Enabled then
        for _, p in pairs(Players:GetPlayers()) do ApplyESP(p) end
        _G.ESPLoop = Players.PlayerAdded:Connect(function(p) p.CharacterAdded:Connect(function() task.wait(1); if ESP_Enabled then ApplyESP(p) end end) end)
    else
        if _G.ESPLoop then _G.ESPLoop:Disconnect() end
        for _, p in pairs(Players:GetPlayers()) do if p.Character and p.Character:FindFirstChild("OmniESP_Folder") then p.Character.OmniESP_Folder:Destroy() end end
    end
end)

-- ==========================================
-- TAB: COMBAT & TROLL
-- ==========================================
local SelectedTarget = nil
local TargetLbl = Instance.new("TextLabel", TabTroll); TargetLbl.Size = UDim2.new(1, -10, 0, 25); TargetLbl.BackgroundTransparency = 1; TargetLbl.TextColor3 = Color3.fromRGB(255, 100, 100); TargetLbl.Font = PremiumFont; TargetLbl.Text = "No target selected"
local PlayerListFrame = Instance.new("ScrollingFrame", TabTroll); PlayerListFrame.Size = UDim2.new(1, -10, 0, 100); PlayerListFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 15); PlayerListFrame.ScrollBarThickness = 2; Instance.new("UICorner", PlayerListFrame).CornerRadius = UDim.new(0, 6)
local PListLayout = Instance.new("UIListLayout", PlayerListFrame); PListLayout.Padding = UDim.new(0, 2)

local function UpdatePlayerList()
    for _, child in pairs(PlayerListFrame:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
    for _, p in pairs(Players:GetPlayers()) do
        if p ~= LocalPlayer then
            local btn = Instance.new("TextButton", PlayerListFrame); btn.Size = UDim2.new(1, 0, 0, 25); btn.BackgroundColor3 = ElementBg; btn.Text = p.DisplayName .. " (@" .. p.Name .. ")"; btn.TextColor3 = TextColor; btn.Font = PremiumFont; btn.MouseEnter:Connect(PlayHover)
            btn.MouseButton1Click:Connect(function() PlayClick(); SelectedTarget = p; TargetLbl.Text = "Selected: " .. p.Name; TargetLbl.TextColor3 = Accent end)
        end
    end
    PlayerListFrame.CanvasSize = UDim2.new(0, 0, 0, PListLayout.AbsoluteContentSize.Y)
end
UpdatePlayerList(); Players.PlayerAdded:Connect(UpdatePlayerList); Players.PlayerRemoving:Connect(UpdatePlayerList)

CreateButton(TabTroll, "📍 Teleport to Target", function() if SelectedTarget and SelectedTarget.Character and SelectedTarget.Character:FindFirstChild("HumanoidRootPart") and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame = SelectedTarget.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, 3); PlayWorldSound(288641686, 1.5); EmitRealisticEffect(LocalPlayer.Character.HumanoidRootPart, Accent); TriggerHaptic(0.8, 0.4) end end)
CreateButton(TabTroll, "👁️ Spectate Target", function(btn) if SelectedTarget and SelectedTarget.Character then Camera.CameraSubject = SelectedTarget.Character:FindFirstChild("Humanoid"); btn.Text = "Spectating: " .. SelectedTarget.Name; task.delay(5, function() btn.Text = "👁️ Spectate Target" end) end end)
CreateButton(TabTroll, "🛑 Stop Spectating", function() if LocalPlayer.Character then Camera.CameraSubject = LocalPlayer.Character:FindFirstChild("Humanoid") end end)

CreateButton(TabTroll, "📦 Trap Target (Glass Box)", function()
    if SelectedTarget and SelectedTarget.Character and SelectedTarget.Character:FindFirstChild("HumanoidRootPart") then
        local pPos = SelectedTarget.Character.HumanoidRootPart.Position
        local trap = Instance.new("Part", workspace); trap.Size = Vector3.new(12, 18, 12); trap.Position = pPos; trap.Anchored = true; trap.Material = Enum.Material.Glass; trap.Transparency = 0.5; trap.Color = Accent; trap.Reflectance = 0.2
        local mesh = Instance.new("SpecialMesh", trap); mesh.MeshType = Enum.MeshType.FileMesh; mesh.MeshId = "rbxassetid://437613184"; mesh.Scale = Vector3.new(6, 9, 6)
        local light = Instance.new("PointLight", trap); light.Color = Accent; light.Range = 40; light.Brightness = 10; light.Shadows = true
        PlayWorldSound(12222030, 2.5); TriggerHaptic(1.2, 0.6); game.Debris:AddItem(trap, 30)
    end
end)

CreateButton(TabTroll, "🚀 Launch Target to Sky", function()
    if SelectedTarget and SelectedTarget.Character and SelectedTarget.Character:FindFirstChild("HumanoidRootPart") and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
        local myHRP = LocalPlayer.Character.HumanoidRootPart; local oldPos = myHRP.CFrame
        local bav = Instance.new("BodyAngularVelocity", myHRP); bav.MaxTorque = Vector3.new(math.huge, math.huge, math.huge); bav.AngularVelocity = Vector3.new(0, 99999, 0)
        local loop = RunService.Heartbeat:Connect(function() if SelectedTarget.Character and SelectedTarget.Character:FindFirstChild("HumanoidRootPart") then myHRP.CFrame = SelectedTarget.Character.HumanoidRootPart.CFrame * CFrame.new(0, -2, 0); SelectedTarget.Character.HumanoidRootPart.Velocity = Vector3.new(0, 4000, 0) end end)
        task.wait(0.5); loop:Disconnect(); bav:Destroy(); myHRP.Velocity = Vector3.zero; myHRP.RotVelocity = Vector3.zero; myHRP.CFrame = oldPos
        PlayWorldSound(12222200, 4); TriggerHaptic(2.0, 1.0)
    end
end)

local isTargetFlinging = false; local FlingLoop
CreateButton(TabTroll, "⚔️ TOGGLE Fling Target", function(btn)
    isTargetFlinging = not isTargetFlinging
    if isTargetFlinging and SelectedTarget then
        btn.BackgroundColor3 = Color3.fromRGB(200, 50, 50); btn.Text = "FLINGING: " .. SelectedTarget.Name
        local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
        if hrp then
            local bav = Instance.new("BodyAngularVelocity", hrp); bav.Name = "OmnivisionExeFling"; bav.MaxTorque = Vector3.new(math.huge, math.huge, math.huge); bav.AngularVelocity = Vector3.new(0, 99999, 0)
            FlingLoop = RunService.Heartbeat:Connect(function() if SelectedTarget.Character and SelectedTarget.Character:FindFirstChild("HumanoidRootPart") then hrp.CFrame = SelectedTarget.Character.HumanoidRootPart.CFrame end end)
        end
    else
        isTargetFlinging = false; btn.BackgroundColor3 = ElementBg; btn.Text = "⚔️ TOGGLE Fling Target"
        if FlingLoop then FlingLoop:Disconnect() end
        local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
        if hrp and hrp:FindFirstChild("OmnivisionExeFling") then hrp.OmnivisionExeFling:Destroy(); hrp.Velocity = Vector3.zero; hrp.RotVelocity = Vector3.zero end
    end
end)

CreateButton(TabTroll, "🌪️ Fling ALL Players Nearby", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        for _, p in pairs(Players:GetPlayers()) do
            if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
                local hrp = p.Character.HumanoidRootPart
                if (char.HumanoidRootPart.Position - hrp.Position).Magnitude < 100 then
                    hrp.Velocity = Vector3.new(math.random(-500,500), 2000, math.random(-500,500))
                    hrp.RotVelocity = Vector3.new(math.random(-50,50), math.random(-50,50), math.random(-50,50))
                end
            end
        end
        PlayWorldSound(142070127, 2.0)
    end
end)

-- ==========================================
-- TAB VEHICLE & FUN 
-- ==========================================
CreateButton(TabVehicle, "🏎️ Car Speed Hack (Boost Nearest)", function()
    for _, v in pairs(workspace:GetDescendants()) do
        if v:IsA("VehicleSeat") and v.Occupant == LocalPlayer.Character:FindFirstChild("Humanoid") then
            v.MaxSpeed = 700
            v.Torque = 999999
            PlayWorldSound(12222200, 3.0); TriggerHaptic(2.0, 1.0)
        end
    end
end)

CreateButton(TabVehicle, "✈️ Make Car Fly (Hover)", function(btn)
    for _, v in pairs(workspace:GetDescendants()) do
        if v:IsA("VehicleSeat") and v.Occupant == LocalPlayer.Character:FindFirstChild("Humanoid") then
            local bp = Instance.new("BodyPosition", v)
            bp.MaxForce = Vector3.new(0, math.huge, 0)
            bp.Position = v.Position + Vector3.new(0, 50, 0)
            game.Debris:AddItem(bp, 10)
            PlayWorldSound(12222200, 2.0); TriggerHaptic(1.5, 1.0)
        end
    end
end)

CreateButton(TabFun, "💃 Auto-Dance (Everyone Around)", function()
    for _, p in pairs(Players:GetPlayers()) do
        if p.Character and p.Character:FindFirstChild("Humanoid") then
            pcall(function() ChatService:Chat(p.Character.Head, "/e dance", Enum.ChatColor.White) end)
        end
    end
end)

CreateButton(TabFun, "🎉 Confetti Explosion", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local pe = Instance.new("ParticleEmitter", char.HumanoidRootPart)
        pe.Color = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.new(1,0,0)), ColorSequenceKeypoint.new(0.3, Color3.new(0,1,0)), ColorSequenceKeypoint.new(0.6, Color3.new(0,0,1)), ColorSequenceKeypoint.new(1, Color3.new(1,1,0))})
        pe.Speed = NumberRange.new(50, 100); pe.SpreadAngle = Vector2.new(180, 180)
        pe.Rate = 2000; pe.Lifetime = NumberRange.new(2, 4); pe.Size = NumberSequence.new(1)
        PlayWorldSound(304147775, 2.0)
        task.delay(1, function() pe.Enabled = false; game.Debris:AddItem(pe, 5) end)
    end
end)

-- ==========================================
-- TAB EXTRA: UTILITIES
-- ==========================================
CreateButton(TabExtra, "🛡️ Enable Anti-AFK", function(btn)
    local virtualUser = game:GetService("VirtualUser")
    LocalPlayer.Idled:Connect(function()
        virtualUser:CaptureController()
        virtualUser:ClickButton2(Vector2.new())
    end)
    btn.Text = "🛡️ Anti-AFK Enabled!"
    btn.BackgroundColor3 = Color3.fromRGB(50, 150, 50)
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
end)

CreateButton(TabExtra, "⌨️ Open Infinite Yield", function()
    pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))() end)
end)

CreateButton(TabExtra, "🔄 Rejoin Server", function() TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer) end)
CreateButton(TabExtra, "🚪 Shutdown Game", function() game:Shutdown() end)
CreateButton(TabExtra, "🗑️ Clear Workspace Trash (Anti-Lag)", function() for _, v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") and not v.Anchored and v.Parent == workspace then v:Destroy() end end end)

CreateButton(TabExtra, "⚙️ Reduce Memory Usage (Low Graphics)", function()
    settings().Rendering.QualityLevel = "Level01"
    for _, v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") then v.Material = Enum.Material.Plastic; v.Reflectance = 0 end end
    game.Lighting.GlobalShadows = false
    PlayWorldSound(12222200, 2)
end)

-- ==========================================
-- STARTUP ANIMATION
-- ==========================================
task.spawn(function()
    task.wait(2.0)
    TweenService:Create(SplashFrame, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
    TweenService:Create(SplashText, TweenInfo.new(0.5), {TextTransparency = 1}):Play()
    TweenService:Create(SplashWatermark, TweenInfo.new(0.5), {TextTransparency = 1}):Play()
    TweenService:Create(LoadingBg, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
    TweenService:Create(LoadingBar, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
    task.wait(0.5); SplashFrame:Destroy()
    
    MainFrame.Size = UDim2.new(0, 0, 0, 0)
    MainFrame.Visible = true
    MiniHub.Visible = false

    TweenService:Create(MainFrame, TweenInfo.new(0.6, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = NormalSize}):Play()
end)-- =========================================================================
-- 🔥 BẢN CẬP NHẬT: VENOM AWAKENED & MINI TAB SYSTEM (DELTA EXECUTOR PRO)
-- =========================================================================

-- =========================================================================
-- 1. HỆ THỐNG MINI TAB (ĐA NHIỆM CHO TẤT CẢ CÁC TAB)
-- =========================================================================
local IsMiniMode = false
local MiniToggleBtn = Instance.new("TextButton", TopBar)
MiniToggleBtn.Size = UDim2.new(0, 110, 0, 24)
MiniToggleBtn.Position = UDim2.new(1, -350, 0.5, -12)
MiniToggleBtn.BackgroundColor3 = ElementBg
MiniToggleBtn.TextColor3 = Accent
MiniToggleBtn.Font = PremiumFont
MiniToggleBtn.TextSize = 12
MiniToggleBtn.Text = "🖥️ MINI MODE"
Instance.new("UICorner", MiniToggleBtn).CornerRadius = UDim.new(0, 6)
Instance.new("UIStroke", MiniToggleBtn).Color = Accent

local MiniTabBar = Instance.new("ScrollingFrame", MainFrame)
MiniTabBar.Size = UDim2.new(1, -20, 0, 40)
MiniTabBar.Position = UDim2.new(0, 10, 0, 40)
MiniTabBar.BackgroundTransparency = 1
MiniTabBar.CanvasSize = UDim2.new(3, 0, 0, 0)
MiniTabBar.ScrollBarThickness = 2
MiniTabBar.Visible = false

local MiniTabLayout = Instance.new("UIListLayout", MiniTabBar)
MiniTabLayout.FillDirection = Enum.FillDirection.Horizontal
MiniTabLayout.Padding = UDim.new(0, 5)

-- Clone các nút Tab để đưa lên thanh đa nhiệm của Mini Mode
for _, tabInfo in pairs(Tabs) do
    local cloneBtn = tabInfo.Btn:Clone()
    cloneBtn.Size = UDim2.new(0, 130, 1, -5)
    cloneBtn.Text = string.gsub(cloneBtn.Text, "^%s+", "")
    cloneBtn.Parent = MiniTabBar
    cloneBtn.MouseButton1Click:Connect(function()
        PlayClick()
        for _, t in pairs(Tabs) do 
            t.Btn.TextColor3 = Color3.fromRGB(150, 150, 150)
            t.Scroll.Visible = false 
        end
        tabInfo.Btn.TextColor3 = Accent
        tabInfo.Scroll.Visible = true
    end)
end

MiniToggleBtn.MouseButton1Click:Connect(function()
    PlayClick()
    IsMiniMode = not IsMiniMode
    if IsMiniMode then
        MiniToggleBtn.Text = "🖥️ MAX MODE"
        TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Size = UDim2.new(0, 450, 0, 350)}):Play()
        Sidebar.Visible = false
        MiniTabBar.Visible = true
        ContentArea.Position = UDim2.new(0, 10, 0, 85)
        ContentArea.Size = UDim2.new(1, -20, 1, -95)
    else
        MiniToggleBtn.Text = "🖥️ MINI MODE"
        TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Size = UDim2.new(0, 950, 0, 650)}):Play()
        Sidebar.Visible = true
        MiniTabBar.Visible = false
        ContentArea.Position = UDim2.new(0, 220, 0, 45)
        ContentArea.Size = UDim2.new(1, -230, 1, -60)
    end
end)

-- =========================================================================
-- 2. VENOM TRANSFORM MỚI (BỎ AURA ĐEN, THÊM ANIMATION BIẾN ĐỔI)
-- =========================================================================
CreateButton(TabSymbiote, "🕷️ [NEW] Venom Transform (Animated)", function()
    local char = LocalPlayer.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return end
    
    PlayWorldSound(142070127, 1.5, 0.8) -- Tiếng gầm
    TriggerHaptic(2.0, 1.5)
    
    local hrp = char.HumanoidRootPart
    
    -- Animation biến đổi: Các khối symbiote từ từ bao bọc cơ thể
    for i = 1, 20 do
        local p = Instance.new("Part", workspace)
        p.Size = Vector3.new(1, 1, 1)
        p.Color = Color3.new(0, 0, 0)
        p.Material = Enum.Material.Neon
        p.Anchored = true
        p.CanCollide = false
        p.CFrame = hrp.CFrame * CFrame.new(math.random(-5,5), math.random(-5,5), math.random(-5,5))
        
        local tw = TweenService:Create(p, TweenInfo.new(0.4, Enum.EasingStyle.Sine), {CFrame = hrp.CFrame, Size = Vector3.new(0,0,0)})
        tw:Play()
        tw.Completed:Connect(function() p:Destroy() end)
        task.wait(0.02)
    end
    
    -- Xóa Aura đen cũ, thay đổi da thịt thành symbiote thực tế (không hạt mờ)
    for _, v in pairs(char:GetDescendants()) do
        if v:IsA("ParticleEmitter") and v.Name == "VenomAura" then v:Destroy() end
        if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then
            v.Color = Color3.new(0, 0, 0)
            v.Material = Enum.Material.SmoothPlastic
        end
        if v:IsA("Decal") or v:IsA("Texture") or v:IsA("Clothing") or v:IsA("Shirt") or v:IsA("Pants") then
            v:Destroy()
        end
    end
    
    char.Humanoid.MaxHealth = 10000
    char.Humanoid.Health = 10000
    char.Humanoid.WalkSpeed = 65
    char.Humanoid.JumpPower = 120
end)

-- =========================================================================
-- 3. VENOM SWING (SWING 2 LẦN LIÊN TIẾP + TẠO HÌNH XÚC TU LỚN/NHỎ)
-- =========================================================================
local SwingCharges = 2
local IsSwinging = false

AddToolFeature("🕸️ [NEW] Venom Swing (Double)", function()
    GiveTool("🕸️ [NEW] Venom Swing", function(equipped) end)
    local t = LocalPlayer.Backpack:WaitForChild("🕸️ [NEW] Venom Swing")
    
    -- UI hiển thị số lần Swing (Tối ưu cho Delta Mobile)
    local swingUI = Instance.new("ScreenGui", CoreGui)
    local chargeLbl = Instance.new("TextLabel", swingUI)
    chargeLbl.Size = UDim2.new(0, 200, 0, 50)
    chargeLbl.Position = UDim2.new(0.5, -100, 0.8, -50)
    chargeLbl.BackgroundTransparency = 1
    chargeLbl.Text = "Swings: 2/2"
    chargeLbl.TextColor3 = Accent
    chargeLbl.Font = PremiumFont
    chargeLbl.TextSize = 25
    chargeLbl.Visible = false
    
    t.Equipped:Connect(function() chargeLbl.Visible = true end)
    t.Unequipped:Connect(function() chargeLbl.Visible = false end)
    
    -- Vòng lặp hồi chiêu Swing
    task.spawn(function()
        while task.wait(2.5) do
            if SwingCharges < 2 then
                SwingCharges = SwingCharges + 1
                chargeLbl.Text = "Swings: " .. SwingCharges .. "/2"
            end
        end
    end)
    
    t.Activated:Connect(function()
        if SwingCharges <= 0 or IsSwinging then return end
        SwingCharges = SwingCharges - 1
        chargeLbl.Text = "Swings: " .. SwingCharges .. "/2"
        IsSwinging = true
        
        local char = LocalPlayer.Character
        local hrp = char:FindFirstChild("HumanoidRootPart")
        
        local targetPos = hrp.Position + (Camera.CFrame.LookVector * 150) + Vector3.new(0, 60, 0)
        local anchor = Instance.new("Part", workspace)
        anchor.Anchored = true; anchor.Transparency = 1; anchor.Position = targetPos
        
        local a0 = Instance.new("Attachment", hrp)
        local a1 = Instance.new("Attachment", anchor)
        
        -- Cấu tạo 1 Xúc tu lớn làm trụ chính
        local mainBeam = Instance.new("Beam", hrp)
        mainBeam.Attachment0 = a0; mainBeam.Attachment1 = a1
        mainBeam.Color = ColorSequence.new(Color3.new(0,0,0))
        mainBeam.Width0 = 2.5; mainBeam.Width1 = 0.5
        
        -- Cấu tạo nhiều xúc tu nhỏ vây quanh
        for i = 1, 6 do
            local small = Instance.new("Beam", hrp)
            small.Attachment0 = a0; small.Attachment1 = a1
            small.Color = ColorSequence.new(Color3.new(0,0,0))
            small.Width0 = 0.4; small.Width1 = 0.1
            small.CurveSize0 = math.random(-20, 20)
            small.CurveSize1 = math.random(-20, 20)
            game.Debris:AddItem(small, 0.8)
        end
        
        PlayWorldSound(12222200, 1.5, 1.2)
        
        local bv = Instance.new("BodyVelocity", hrp)
        bv.MaxForce = Vector3.new(1e5, 1e5, 1e5)
        bv.Velocity = (Camera.CFrame.LookVector * 130) + Vector3.new(0, 70, 0)
        
        game.Debris:AddItem(mainBeam, 0.8)
        game.Debris:AddItem(a0, 0.8)
        game.Debris:AddItem(anchor, 0.8)
        game.Debris:AddItem(bv, 0.5)
        
        task.wait(0.4)
        IsSwinging = false
    end)
end)

-- =========================================================================
-- 4. AWAKENED SYMBIOTE (XÚC TU QUẤN QUANH TỨ CHI + TÀN PHÁ MÔI TRƯỜNG)
-- =========================================================================
local AwakenedActive = false

CreateButton(TabSymbiote, "🌑 [NEW] AWAKENED SYMBIOTE", function(btn)
    AwakenedActive = not AwakenedActive
    btn.BackgroundColor3 = AwakenedActive and Accent or ElementBg
    btn.TextColor3 = AwakenedActive and Color3.new(0,0,0) or TextColor
    
    local char = LocalPlayer.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return end

    if AwakenedActive then
        PlayWorldSound(142070127, 3.0, 0.4) -- Gầm rung chấn
        TriggerHaptic(3.0, 2.0)
        
        -- Animation: Xúc tu nhỏ luồn lách và quấn quanh cánh tay, cẳng chân
        local limbs = {"Left Arm", "Right Arm", "Left Leg", "Right Leg", "LeftLowerArm", "RightLowerArm", "LeftUpperArm", "RightUpperArm", "LeftLowerLeg", "RightLowerLeg", "LeftUpperLeg", "RightUpperLeg"}
        for _, limbName in pairs(limbs) do
            local limb = char:FindFirstChild(limbName)
            if limb then
                local a0 = Instance.new("Attachment", limb)
                a0.Position = Vector3.new(0, limb.Size.Y/2, 0)
                local a1 = Instance.new("Attachment", limb)
                a1.Position = Vector3.new(0, -limb.Size.Y/2, 0)
                
                local beam = Instance.new("Beam", limb)
                beam.Name = "AwakenedBeam"
                beam.Attachment0 = a0; beam.Attachment1 = a1
                beam.Color = ColorSequence.new(Color3.new(0,0,0))
                beam.Width0 = 0.3; beam.Width1 = 0.3
                
                -- Tạo cảm giác xúc tu đang chuyển động liên tục
                task.spawn(function()
                    while beam.Parent and AwakenedActive do
                        beam.CurveSize0 = math.random(-2, 2)
                        beam.CurveSize1 = math.random(-2, 2)
                        task.wait(0.1)
                    end
                end)
            end
        end
        
        -- Sinh ra Tool sức mạnh tấn công tàn phá
        GiveTool("🌑 Awakened Tentacles", function(equipped) end)
        local t = LocalPlayer.Backpack:WaitForChild("🌑 Awakened Tentacles")
        t.Activated:Connect(function()
            if not AwakenedActive then return end
            PlayWorldSound(12222030, 2.5, 0.6)
            TriggerHaptic(2.5, 0.8)
            
            local hrp = char.HumanoidRootPart
            
            -- Triệu hồi 10 cái xúc tu khổng lồ đâm từ dưới lòng đất lên quanh nhân vật
            for i = 1, 10 do
                local tentacle = Instance.new("Part", workspace)
                tentacle.Size = Vector3.new(3, 35, 3)
                tentacle.Color = Color3.new(0,0,0)
                tentacle.Material = Enum.Material.Neon
                tentacle.Anchored = true
                tentacle.CanCollide = false
                
                local angle = math.rad((360 / 10) * i)
                local offset = Vector3.new(math.cos(angle) * 20, 0, math.sin(angle) * 20)
                
                tentacle.CFrame = CFrame.new(hrp.Position + offset + Vector3.new(0, -25, 0))
                
                local tw = TweenService:Create(tentacle, TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {CFrame = tentacle.CFrame * CFrame.new(0, 30, 0)})
                tw:Play()
                
                -- Gây sát thương nặng nề cho các thực thể chạm vào
                tentacle.Touched:Connect(function(hit)
                    if hit.Parent and hit.Parent ~= char then
                        local hum = hit.Parent:FindFirstChild("Humanoid")
                        if hum then hum:TakeDamage(500) end
                    end
                end)
                
                -- Khả năng tàn phá môi trường, bẻ gãy các block và thổi bay đồ vật xung quanh
                for _, v in pairs(workspace:GetDescendants()) do
                    if v:IsA("BasePart") and not v.Anchored and v.Parent ~= char and (v.Position - tentacle.Position).Magnitude < 25 then
                        v:BreakJoints()
                        v.Velocity = (v.Position - tentacle.Position).Unit * 250 + Vector3.new(0, 100, 0)
                    end
                end
                
                task.delay(0.6, function()
                    TweenService:Create(tentacle, TweenInfo.new(0.4), {Transparency = 1, Size = Vector3.new(0,0,0)}):Play()
                    game.Debris:AddItem(tentacle, 0.4)
                end)
            end
        end)
    else
        -- Tắt trạng thái Awakened: Thu hồi xúc tu và Tools
        for _, v in pairs(char:GetDescendants()) do
            if v.Name == "AwakenedBeam" or v.Name == "AwakenedAura" then v:Destroy() end
        end
        local tool1 = LocalPlayer.Backpack:FindFirstChild("🌑 Awakened Tentacles")
        local tool2 = char:FindFirstChild("🌑 Awakened Tentacles")
        if tool1 then tool1:Destroy() end
        if tool2 then tool2:Destroy() end
    end
end)

-- =========================================================================
-- 5. CÁC TÍNH NĂNG VENOM MỞ RỘNG MỚI (TẶNG KÈM)
-- =========================================================================
CreateButton(TabSymbiote, "🕷️ [NEW] Venom Web Trap", function()
    local t = Instance.new("Tool")
    t.Name = "🕸️ Venom Web Trap"
    t.RequiresHandle = false
    t.Parent = LocalPlayer.Backpack
    t.Activated:Connect(function()
        local mousePos = Mouse.Hit.Position
        PlayWorldSound(12222200, 1.5, 2.0)
        
        local web = Instance.new("Part", workspace)
        web.Size = Vector3.new(15, 0.5, 15)
        web.Position = mousePos
        web.Color = Color3.new(0,0,0)
        web.Material = Enum.Material.Mud
        web.Anchored = true
        
        -- Đóng băng kẻ địch trong bùn lầy đen
        for _, v in pairs(workspace:GetDescendants()) do
            if v:IsA("BasePart") and not v.Anchored and v.Parent ~= LocalPlayer.Character and (v.Position - web.Position).Magnitude < 15 then
                v.Anchored = true
                task.delay(4, function() v.Anchored = false end)
            end
        end
        game.Debris:AddItem(web, 4)
    end)
end)

CreateButton(TabSymbiote, "🕷️ [NEW] Venom Devour (Hồi máu max)", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("Humanoid") then
        PlayWorldSound(142070127, 2.0, 1.2)
        local eff = Instance.new("Part", char)
        eff.Size = Vector3.new(12, 12, 12)
        eff.Shape = Enum.PartType.Ball
        eff.Color = Color3.new(0,0,0)
        eff.Material = Enum.Material.Neon
        eff.CFrame = char.HumanoidRootPart.CFrame
        eff.Anchored = true
        eff.CanCollide = false
        TweenService:Create(eff, TweenInfo.new(0.6), {Size = Vector3.new(0,0,0), Transparency = 1}):Play()
        game.Debris:AddItem(eff, 0.6)
        
        char.Humanoid.Health = char.Humanoid.MaxHealth
    end
end)

Features & Information

Free godmode, keyless

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts