fhfgh

📅 2026-04-20T10:32:03.505Z
👁️ 88 katselukertaa
🔓 Julkinen


--!native
--!optimize 2
-- [[ VORTEX PREMIER | STABLE EXECUTION FIX ]]

repeat task.wait() until game:IsLoaded()

local _S = setmetatable({}, {__index = function(t, k) return game:GetService(k) end})
local LP = _S.Players.LocalPlayer
local RS, UIS, TS = _S.RunService, _S.UserInputService, _S.TweenService

-- // SAFE CAMERA FETCH
local Cam = workspace.CurrentCamera
while not Cam do 
    task.wait() 
    Cam = workspace.CurrentCamera 
end

-- // EXECUTOR COMPATIBILITY
local function GetUIFolder()
    local success, res = pcall(function() return gethui() end)
    if success then return res end
    return LP:WaitForChild("PlayerGui")
end
local CoreGui = GetUIFolder()

-- Cleanup previous
if CoreGui:FindFirstChild("VortexUI") then CoreGui.VortexUI:Destroy() end

local Vortex = {
    SilentAim = false, AimFOV = 150,
    VoidSpam = false, VoidPower = 600000, 
    Wallbang = false, WallbangSpeed = 500, OrbitRadius = 0,
    ESP = false, Crosshair = true,
    Visible = true, Angle = 0, Accent = Color3.fromRGB(0, 255, 200)
}

-- // [01] UI CORE
local Screen = Instance.new("ScreenGui", CoreGui); Screen.Name = "VortexUI"; Screen.ResetOnSpawn = false
local Main = Instance.new("Frame", Screen)
Main.Size = UDim2.new(0, 260, 0, 340); Main.Position = UDim2.new(0.5, -130, 0.5, -170)
Main.BackgroundColor3 = Color3.fromRGB(12, 12, 14); Main.BorderSizePixel = 0; Main.Visible = true

local TabHolder = Instance.new("Frame", Main); TabHolder.Size = UDim2.new(1, 0, 0, 35); TabHolder.BackgroundColor3 = Color3.fromRGB(20, 20, 25); TabHolder.BorderSizePixel = 0
local TabList = Instance.new("UIListLayout", TabHolder); TabList.FillDirection = 1

local Container = Instance.new("Frame", Main); Container.Size = UDim2.new(1, -20, 1, -50); Container.Position = UDim2.new(0, 10, 0, 45); Container.BackgroundTransparency = 1
local Pages = { Combat = Instance.new("ScrollingFrame", Container), Movement = Instance.new("ScrollingFrame", Container), Visuals = Instance.new("ScrollingFrame", Container) }

for _, p in pairs(Pages) do
    p.Size, p.BackgroundTransparency, p.Visible, p.ScrollBarThickness = UDim2.new(1, 0, 1, 0), 1, false, 0
    Instance.new("UIListLayout", p).Padding = UDim.new(0, 10)
end
Pages.Combat.Visible = true

-- // [02] UI BUILDERS
local function NewTab(name)
    local B = Instance.new("TextButton", TabHolder)
    B.Size, B.BackgroundTransparency, B.Text = UDim2.new(0.333, 0, 1, 0), 1, name:upper()
    B.TextColor3, B.Font, B.TextSize = Color3.new(0.6, 0.6, 0.6), Enum.Font.Code, 10
    B.MouseButton1Click:Connect(function()
        for n, p in pairs(Pages) do p.Visible = (n == name) end
        for _, btn in pairs(TabHolder:GetChildren()) do if btn:IsA("TextButton") then btn.TextColor3 = Color3.new(0.6, 0.6, 0.6) end end
        B.TextColor3 = Vortex.Accent
    end)
    if name == "Combat" then B.TextColor3 = Vortex.Accent end
end

local function NewToggle(parent, name, var)
    local T = Instance.new("TextButton", Pages[parent]); T.Size, T.BackgroundTransparency, T.Text = UDim2.new(1, 0, 0, 20), 1, ""
    local Box = Instance.new("Frame", T); Box.Size, Box.Position = UDim2.new(0, 10, 0, 10), UDim2.new(0, 0, 0.5, -5); Box.BackgroundColor3 = Color3.fromRGB(40, 40, 45); Box.BorderSizePixel = 0
    local L = Instance.new("TextLabel", T); L.Size, L.Position = UDim2.new(1, -20, 1, 0), UDim2.new(0, 15, 0, 0); L.Text, L.TextColor3, L.Font, L.TextSize = name, Color3.new(0.9, 0.9, 0.9), Enum.Font.Code, 11; L.TextXAlignment, L.BackgroundTransparency = 0, 1
    T.MouseButton1Click:Connect(function()
        Vortex[var] = not Vortex[var]
        Box.BackgroundColor3 = Vortex[var] and Vortex.Accent or Color3.fromRGB(40, 40, 45)
    end)
end

local function NewSlider(parent, name, min, max, var)
    local S = Instance.new("Frame", Pages[parent]); S.Size, S.BackgroundTransparency = UDim2.new(1, 0, 0, 35), 1
    local L = Instance.new("TextLabel", S); L.Size, L.Text = UDim2.new(1, 0, 0, 15), name .. " // " .. math.floor(Vortex[var]); L.TextColor3, L.Font, L.TextSize, L.TextXAlignment, L.BackgroundTransparency = Color3.new(0.5, 0.5, 0.5), Enum.Font.Code, 10, 0, 1
    local Bar = Instance.new("Frame", S); Bar.Size, Bar.Position = UDim2.new(1, 0, 0, 4), Bar.Position = UDim2.new(0, 0, 0, 20); Bar.BackgroundColor3 = Color3.fromRGB(30, 30, 35); Bar.BorderSizePixel = 0
    local Fill = Instance.new("Frame", Bar); Fill.Size, Fill.BackgroundColor3, Fill.BorderSizePixel = UDim2.new(math.clamp((Vortex[var]-min)/(max-min), 0, 1), 0, 1, 0), Vortex.Accent, 0
    Bar.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            local c; c = RS.RenderStepped:Connect(function()
                local per = math.clamp((UIS:GetMouseLocation().X - Bar.AbsolutePosition.X) / Bar.AbsoluteSize.X, 0, 1)
                Vortex[var] = min + (max - min) * per
                Fill.Size, L.Text = UDim2.new(per, 0, 1, 0), name .. " // " .. math.floor(Vortex[var])
            end)
            input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then c:Disconnect() end end)
        end
    end)
end

-- Init UI
NewTab("Combat"); NewTab("Movement"); NewTab("Visuals")
NewToggle("Combat", "SILENT HEADSHOT", "SilentAim")
NewSlider("Combat", "AIM FOV", 50, 800, "AimFOV")
NewToggle("Movement", "600K OMNI-VOID", "VoidSpam")
NewToggle("Movement", "PHASE-TP WALLBANG", "Wallbang")
NewSlider("Movement", "WALLBANG SPEED", 1, 2500, "WallbangSpeed")
NewSlider("Movement", "ORBIT RADIUS", 0, 40, "OrbitRadius")
NewToggle("Visuals", "NEON BOX ESP", "ESP")

-- // [03] MAIN ENGINE
local function GetClosest()
    local target, dist = nil, Vortex.AimFOV
    for _, v in pairs(_S.Players:GetPlayers()) do
        if v ~= LP and v.Character and v.Character:FindFirstChild("Head") then
            local pos, vis = Cam:WorldToViewportPoint(v.Character.Head.Position)
            if vis then
                local mag = (Vector2.new(pos.X, pos.Y) - (Cam.ViewportSize/2)).Magnitude
                if mag < dist then target = v.Character; dist = mag end
            end
        end
    end
    return target
end

RS.Heartbeat:Connect(function()
    local Char = LP.Character
    local R = Char and Char:FindFirstChild("HumanoidRootPart")
    if not R then return end

    if Vortex.SilentAim then
        local T = GetClosest()
        if T then Cam.CFrame = CFrame.new(Cam.CFrame.Position, T.Head.Position) end
    end

    if Vortex.Wallbang then
        local T = GetClosest()
        if T and T:FindFirstChild("HumanoidRootPart") then
            Vortex.Angle = Vortex.Angle + (Vortex.WallbangSpeed / 100)
            local TPos = T.HumanoidRootPart.Position
            local Off = Vector3.new(math.cos(Vortex.Angle) * Vortex.OrbitRadius, 1.2, math.sin(Vortex.Angle) * Vortex.OrbitRadius)
            R.AssemblyLinearVelocity = Vector3.zero
            R.CFrame = CFrame.new(TPos + Off, TPos)
        end
    end

    if Vortex.VoidSpam then
        local oCF = R.CFrame
        local side = (tick() % 0.02 > 0.01 and 1 or -1)
        R.AssemblyLinearVelocity = Vector3.zero
        R.CFrame = oCF + (oCF.RightVector * (Vortex.VoidPower * side))
        RS.RenderStepped:Wait(); R.CFrame = oCF
    end

    if Vortex.Wallbang or Vortex.VoidSpam then
        for _, v in pairs(Char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end
    end
end)

-- Mobile Toggle
local Mob = Instance.new("TextButton", Screen); Mob.Size, Mob.Position = UDim2.new(0, 35, 0, 35), UDim2.new(0, 10, 0.5, -17)
Mob.BackgroundColor3, Mob.Text, Mob.TextColor3, Mob.Font = Color3.fromRGB(15,15,20), "V", Vortex.Accent, Enum.Font.Code; Mob.BorderSizePixel = 0
Mob.MouseButton1Click:Connect(function() Vortex.Visible = not Vortex.Visible; Main.Visible = Vortex.Visible end)