📅 2026-04-20T09:45:07.873Z
👁️ 75 katselukertaa
🔓 Julkinen


--!native
--!optimize 2
-- [[ NEXONI TITAN | PHASE-TP & WALLBANG SPEED ]]

_G.script_key = "nexoni_lua"

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
local CoreGui = (gethui and gethui()) or _S.CoreGui or LP:WaitForChild("PlayerGui")
local Cam = workspace.CurrentCamera

local Nexoni = {
    VoidSpam = false, VoidPower = 600000, Tracker = false, ESP = false,
    Orbit = false, OrbitSpeed = 300, OrbitRadius = 0,
    Wallbang = true, Visible = true, Angle = 0,
    Accent = Color3.fromRGB(0, 255, 150)
}

-- // [01] UI CONSTRUCTION (MOBILE SLIM)
local Screen = Instance.new("ScreenGui", CoreGui); Screen.Name = "NexoniPhaseTP"
local Main = Instance.new("Frame", Screen)
Main.Size = UDim2.new(0, 240, 0, 340); Main.Position = UDim2.new(0.5, -120, 0.5, -170)
Main.BackgroundColor3 = Color3.fromRGB(15, 15, 15); Main.BorderSizePixel = 1; Main.BorderColor3 = Color3.fromRGB(45, 45, 45)

local TabFrame = Instance.new("Frame", Main)
TabFrame.Size = UDim2.new(1, 0, 0, 28); TabFrame.BackgroundColor3 = Color3.fromRGB(22, 22, 22); TabFrame.BorderSizePixel = 0
local TabList = Instance.new("UIListLayout", TabFrame); TabList.FillDirection, TabList.HorizontalAlignment = 1, 1

local Content = Instance.new("Frame", Main)
Content.Size = UDim2.new(1, -16, 1, -40); Content.Position = UDim2.new(0, 8, 0, 35); Content.BackgroundTransparency = 1
local Pages = { Main = Instance.new("ScrollingFrame", Content), Wallbang = Instance.new("ScrollingFrame", Content) }

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, 6)
end
Pages.Main.Visible = true

-- // UI BUILDERS
local function NewTab(name)
    local B = Instance.new("TextButton", TabFrame)
    B.Size, B.BackgroundTransparency, B.Text = UDim2.new(0.5, 0, 1, 0), 1, name
    B.TextColor3, B.Font, B.TextSize = Color3.new(0.5,0.5,0.5), Enum.Font.Code, 11
    B.MouseButton1Click:Connect(function()
        for n, p in pairs(Pages) do p.Visible = (n == name) end
        for _, btn in pairs(TabFrame:GetChildren()) do if btn:IsA("TextButton") then btn.TextColor3 = Color3.new(0.5,0.5,0.5) end end
        B.TextColor3 = Nexoni.Accent
    end)
    if name == "Main" then B.TextColor3 = Nexoni.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, 22), 1, ""
    local Box = Instance.new("Frame", T); Box.Size, Box.Position = UDim2.new(0, 12, 0, 12), UDim2.new(0, 2, 0.5, -6); Box.BackgroundColor3 = Color3.fromRGB(30, 30, 30); Box.BorderColor3 = Color3.fromRGB(50, 50, 50)
    local L = Instance.new("TextLabel", T); L.Size, L.Position = UDim2.new(1, -22, 1, 0), UDim2.new(0, 20, 0, 0); L.Text, L.TextColor3, L.Font, L.TextSize = name, Color3.new(0.8,0.8,0.8), Enum.Font.Code, 11; L.TextXAlignment, L.BackgroundTransparency = 0, 1
    T.MouseButton1Click:Connect(function()
        Nexoni[var] = not Nexoni[var]
        Box.BackgroundColor3 = Nexoni[var] and Nexoni.Accent or Color3.fromRGB(30, 30, 30)
    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, 14), name .. ": " .. math.floor(Nexoni[var]); L.TextColor3, L.Font, L.TextSize, L.TextXAlignment, L.BackgroundTransparency = Color3.new(0.6,0.6,0.6), Enum.Font.Code, 10, 0, 1
    local Bar = Instance.new("Frame", S); Bar.Size, Bar.Position = UDim2.new(1, -4, 0, 6), UDim2.new(0, 2, 0, 18); Bar.BackgroundColor3 = Color3.fromRGB(30, 30, 30); Bar.BorderColor3 = Color3.fromRGB(50, 50, 50)
    local Fill = Instance.new("Frame", Bar); Fill.Size, Fill.BackgroundColor3, Fill.BorderSizePixel = UDim2.new(math.clamp((Nexoni[var]-min)/(max-min), 0, 1), 0, 1, 0), Nexoni.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)
                Nexoni[var] = min + (max - min) * per
                Fill.Size, L.Text = UDim2.new(per, 0, 1, 0), name .. ": " .. math.floor(Nexoni[var])
            end)
            input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then c:Disconnect() end end)
        end
    end)
end

NewTab("Main"); NewTab("Wallbang")
NewToggle("Main", "600k Side-Void", "VoidSpam")
NewToggle("Main", "Void Tracker", "Tracker")
NewToggle("Main", "Global ESP", "ESP")

NewToggle("Wallbang", "Enable Phase-TP", "Orbit")
NewSlider("Wallbang", "Wallbang Speed", 1, 2000, "OrbitSpeed")
NewSlider("Wallbang", "TP Offset (Radius)", 0, 30, "OrbitRadius")

-- // [02] ENGINE
local function GetEnemy()
    local t, d = nil, 600
    for _, v in pairs(_S.Players:GetPlayers()) do
        if v ~= LP and v.Character and v.Character:FindFirstChild("HumanoidRootPart") then
            local pos = Cam:WorldToViewportPoint(v.Character.HumanoidRootPart.Position)
            local mag = (Vector2.new(pos.X, pos.Y) - (Cam.ViewportSize/2)).Magnitude
            if mag < d then t = v.Character; d = mag end
        end
    end
    return t
end

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

    -- Collision Bypass
    if Nexoni.Orbit or Nexoni.VoidSpam then
        for _, v in pairs(Char:GetDescendants()) do
            if v:IsA("BasePart") then v.CanCollide = false end
        end
    end

    -- Phase-TP Wallbang Orbit
    if Nexoni.Orbit then
        local T = GetEnemy()
        if T and T:FindFirstChild("HumanoidRootPart") then
            Nexoni.Angle = Nexoni.Angle + (Nexoni.OrbitSpeed / 100)
            local TargetPos = T.HumanoidRootPart.Position
            -- Rotates around the enemy while TPing into their hitbox
            local Off = Vector3.new(math.cos(Nexoni.Angle) * Nexoni.OrbitRadius, 1.2, math.sin(Nexoni.Angle) * Nexoni.OrbitRadius)
            
            R.AssemblyLinearVelocity = Vector3.zero
            R.CFrame = CFrame.new(TargetPos + Off, TargetPos)
        end
    end

    -- 600k Void Pulse
    if Nexoni.VoidSpam then
        local oCF = R.CFrame
        local pulse = oCF.RightVector * (Nexoni.VoidPower * (tick() % 0.02 > 0.01 and 1 or -1))
        R.AssemblyLinearVelocity = Vector3.zero
        R.CFrame = oCF + pulse
        RS.RenderStepped:Wait() 
        R.CFrame = oCF
    end
end)

-- Controls
UIS.InputBegan:Connect(function(i, g)
    if not g and (i.KeyCode == Enum.KeyCode.RightShift or i.KeyCode == Enum.KeyCode.Insert) then
        Nexoni.Visible = not Nexoni.Visible; Main.Visible = Nexoni.Visible
    end
end)

local Mob = Instance.new("TextButton", Screen); Mob.Size, Mob.Position = UDim2.new(0, 30, 0, 30), UDim2.new(0, 5, 0.5, -15)
Mob.BackgroundColor3, Mob.Text, Mob.TextColor3, Mob.Font = Color3.fromRGB(20,20,20), "N", Nexoni.Accent, Enum.Font.Code; Mob.BorderSizePixel = 1; Mob.BorderColor3 = Nexoni.Accent
Mob.MouseButton1Click:Connect(function() Nexoni.Visible = not Nexoni.Visible; Main.Visible = Nexoni.Visible end)