Admin Panel
Key Required

Admin Panel

Tipis tower 2OnlyThePowerOnlyThePower 12.4K views 61 executesUpdated Aug 30, 2025
0.0/ 5(2 votes)
020% Positive
Lua Script•414 lines (16023 chars)
local player = game.Players.LocalPlayer
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

-- Semua connection disimpan biar gampang dihapus
local Connections = {}
local AirWalkPart
local AirSwimConnection
local spinConnection
local noclipConn
local infJumpConn

-- Cleanup fungsi
local function CleanupAll()
    for _, conn in ipairs(Connections) do
        if conn and conn.Disconnect then
            conn:Disconnect()
        end
    end
    Connections = {}
    
    if AirWalkPart then AirWalkPart:Destroy() AirWalkPart = nil end
    if AirSwimConnection then AirSwimConnection:Disconnect() AirSwimConnection = nil end
    if spinConnection then spinConnection:Disconnect() spinConnection = nil end
    if noclipConn then noclipConn:Disconnect() noclipConn = nil end
    if infJumpConn then infJumpConn:Disconnect() infJumpConn = nil end
end

-- Fungsi utama GUI
local function CreateGui()
    local ScreenGui = Instance.new("ScreenGui")
    ScreenGui.Name = "AdminPanel"
    ScreenGui.ResetOnSpawn = false
    ScreenGui.Parent = player:WaitForChild("PlayerGui")
    
    -- Rainbow Border
    local function RainbowStroke(uiStroke)
        task.spawn(function()
            local hue = 0
            while uiStroke.Parent do
                hue = (hue + 1) % 360
                uiStroke.Color = Color3.fromHSV(hue/360, 1, 1)
                task.wait(0.05)
            end
        end)
    end
    
    -- Notification
    local NotifyHolder = Instance.new("Frame", ScreenGui)
    NotifyHolder.Size = UDim2.new(1,0,1,0)
    NotifyHolder.BackgroundTransparency = 1
    local NotifyList = Instance.new("UIListLayout", NotifyHolder)
    NotifyList.SortOrder = Enum.SortOrder.LayoutOrder
    NotifyList.Padding = UDim.new(0,5)
    NotifyList.VerticalAlignment = Enum.VerticalAlignment.Bottom
    NotifyList.HorizontalAlignment = Enum.HorizontalAlignment.Left
    
    local function ShowNotification(msg)
        local Notify = Instance.new("Frame")
        Notify.Size = UDim2.new(0, 250, 0, 45)
        Notify.BackgroundColor3 = Color3.fromRGB(30,30,30)
        Notify.BackgroundTransparency = 1
        Notify.AnchorPoint = Vector2.new(0, 1)
        Notify.Parent = NotifyHolder
        Instance.new("UICorner", Notify).CornerRadius = UDim.new(0, 12)
        local stroke = Instance.new("UIStroke", Notify)
        stroke.Thickness = 2
        RainbowStroke(stroke)
        
        local Label = Instance.new("TextLabel", Notify)
        Label.Size = UDim2.new(1,-20,1,-10)
        Label.Position = UDim2.new(0,10,0,5)
        Label.BackgroundTransparency = 1
        Label.Text = msg
        Label.TextColor3 = Color3.new(1,1,1)
        Label.Font = Enum.Font.GothamBold
        Label.TextSize = 14
        Label.TextWrapped = true
        
        TweenService:Create(Notify, TweenInfo.new(0.4, Enum.EasingStyle.Back), {BackgroundTransparency = 0.15}):Play()
        TweenService:Create(Label, TweenInfo.new(0.4), {TextTransparency = 0}):Play()
        
        task.delay(4, function()
            TweenService:Create(Notify, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
            TweenService:Create(Label, TweenInfo.new(0.5), {TextTransparency = 1}):Play()
            task.wait(0.6)
            Notify:Destroy()
        end)
    end
    
    -- Main Frame
    local MainFrame = Instance.new("Frame", ScreenGui)
    MainFrame.Size = UDim2.new(0, 320, 0, 380)
    MainFrame.Position = UDim2.new(0.3, 0, 0.2, 0)
    MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
    MainFrame.Active, MainFrame.Draggable = true, true
    Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 12)
    local stroke = Instance.new("UIStroke", MainFrame)
    stroke.Thickness = 2
    RainbowStroke(stroke)
    
    local Title = Instance.new("TextLabel", MainFrame)
    Title.Size = UDim2.new(1, -60, 0, 30)
    Title.Text = "Admin Panel"
    Title.BackgroundTransparency = 1
    Title.TextColor3 = Color3.new(1, 1, 1)
    Title.Font, Title.TextSize = Enum.Font.GothamBold, 18
    
    -- Tombol minimize & close
    local MinBtn = Instance.new("TextButton", MainFrame)
    MinBtn.Size = UDim2.new(0, 30, 0, 30)
    MinBtn.Position = UDim2.new(1, -60, 0, 0)
    MinBtn.Text = "-"
    MinBtn.TextColor3 = Color3.fromRGB(255,255,255)
    MinBtn.BackgroundColor3 = Color3.fromRGB(40,40,40)
    Instance.new("UICorner", MinBtn).CornerRadius = UDim.new(0,8)
    
    local CloseBtn = Instance.new("TextButton", MainFrame)
    CloseBtn.Size = UDim2.new(0, 30, 0, 30)
    CloseBtn.Position = UDim2.new(1, -30, 0, 0)
    CloseBtn.Text = "X"
    CloseBtn.TextColor3 = Color3.fromRGB(255,255,255)
    CloseBtn.BackgroundColor3 = Color3.fromRGB(40,40,40)
    Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0,8)
    
    -- Scroll Frame
    local Scroll = Instance.new("ScrollingFrame", MainFrame)
    Scroll.Size = UDim2.new(1, -10, 1, -40)
    Scroll.Position = UDim2.new(0, 5, 0, 35)
    Scroll.BackgroundTransparency = 1
    Scroll.ScrollBarThickness = 6
    Scroll.ScrollBarImageColor3 = Color3.fromRGB(0, 200, 255)
    Scroll.ScrollBarImageTransparency = 0.2
    Scroll.ScrollingDirection = Enum.ScrollingDirection.Y
    Scroll.ElasticBehavior = Enum.ElasticBehavior.Always
    
    local layout = Instance.new("UIListLayout", Scroll)
    layout.Padding = UDim.new(0,5)
    layout.SortOrder = Enum.SortOrder.LayoutOrder
    layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
        Scroll.CanvasSize = UDim2.new(0,0,0, layout.AbsoluteContentSize.Y + 10)
    end)
    
    -- Buat tombol
    local function makeButton(name, callback)
        local Btn = Instance.new("TextButton", Scroll)
        Btn.Size = UDim2.new(1, -10, 0, 35)
        Btn.BackgroundColor3 = Color3.fromRGB(40,40,40)
        Btn.Text = name
        Btn.TextColor3 = Color3.new(1,1,1)
        Btn.Font, Btn.TextSize = Enum.Font.Gotham, 14
        Instance.new("UICorner", Btn).CornerRadius = UDim.new(0,8)
        
        Btn.MouseButton1Click:Connect(function()
            TweenService:Create(Btn, TweenInfo.new(0.1), {BackgroundColor3 = Color3.fromRGB(70,70,70)}):Play()
            task.wait(0.1)
            TweenService:Create(Btn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(40,40,40)}):Play()
            ShowNotification("Executing: " .. name)
            callback()
        end)
    end
    
    --== LIST BUTTONS ==--
    makeButton("Heal Player", function()
        local hum = player.Character and player.Character:FindFirstChild("Humanoid")
        if hum then hum.Health = hum.MaxHealth end
    end)
    
    makeButton("Infinity Jump", function()
        if infJumpConn then infJumpConn:Disconnect() infJumpConn = nil end
        infJumpConn = UIS.JumpRequest:Connect(function()
            if player.Character and player.Character:FindFirstChild("Humanoid") then
                player.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
            end
        end)
        table.insert(Connections, infJumpConn)
    end)
    
    makeButton("Invisible", function()
        if player.Character then
            for _, part in ipairs(player.Character:GetDescendants()) do
                if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
                    part.Transparency = 1
                    if part:FindFirstChild("face") then part.face.Transparency = 1 end
                end
            end
        end
    end)
    
    makeButton("Visible", function()
        if player.Character then
            for _, part in ipairs(player.Character:GetDescendants()) do
                if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
                    part.Transparency = 0
                    if part:FindFirstChild("face") then part.face.Transparency = 0 end
                end
            end
        end
    end)
    
    -- ESP
    local function addESP(plr)
        if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
            if not plr.Character.HumanoidRootPart:FindFirstChild("ESP") then
                local billboard = Instance.new("BillboardGui", plr.Character.HumanoidRootPart)
                billboard.Name = "ESP"
                billboard.Size = UDim2.new(0,100,0,50)
                billboard.AlwaysOnTop = true
                local label = Instance.new("TextLabel", billboard)
                label.Size = UDim2.new(1,0,1,0)
                label.BackgroundTransparency = 1
                label.Text = plr.Name
                label.TextColor3 = Color3.new(1,1,1)
                label.Font = Enum.Font.GothamBold
                label.TextSize = 14
            end
        end
    end
    
    makeButton("ESP Tool", function()
        for _, plr in pairs(Players:GetPlayers()) do
            if plr ~= player then
                addESP(plr)
            end
        end
        Players.PlayerAdded:Connect(function(plr)
            plr.CharacterAdded:Connect(function()
                task.wait(1)
                addESP(plr)
            end)
        end)
    end)
    
    makeButton("Walk Underwater", function()
        local hum = player.Character and player.Character:FindFirstChild("Humanoid")
        if hum then hum:SetStateEnabled(Enum.HumanoidStateType.Swimming, false) end
    end)
    
    makeButton("Walk on Air", function()
        if not AirWalkPart then
            AirWalkPart = Instance.new("Part", workspace)
            AirWalkPart.Size = Vector3.new(100,1,100)
            AirWalkPart.Anchored = true
            AirWalkPart.Transparency = 1
            local conn = RunService.RenderStepped:Connect(function()
                if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
                    AirWalkPart.Position = player.Character.HumanoidRootPart.Position - Vector3.new(0,3,0)
                end
            end)
            table.insert(Connections, conn)
        end
    end)
    
    local AirSwimEnabled = false
    makeButton("Toggle Air Swim", function()
        AirSwimEnabled = not AirSwimEnabled
        if AirSwimEnabled then
            local hum = player.Character and player.Character:FindFirstChild("Humanoid")
            if hum then
                AirSwimConnection = RunService.Stepped:Connect(function()
                    if hum and hum.Parent then
                        hum:ChangeState(Enum.HumanoidStateType.Swimming)
                    end
                end)
                table.insert(Connections, AirSwimConnection)
            end
            ShowNotification("Air Swim: ON")
        else
            if AirSwimConnection then AirSwimConnection:Disconnect() AirSwimConnection = nil end
            ShowNotification("Air Swim: OFF")
        end
    end)
    
    makeButton("Immune", function()
        local hum = player.Character and player.Character:FindFirstChild("Humanoid")
        if hum then
            hum.Health = math.huge
            hum.MaxHealth = math.huge
        end
    end)
    
    local spinning = false
    makeButton("Toggle Spin", function()
        spinning = not spinning
        if spinning then
            local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
            if hrp then
                spinConnection = RunService.RenderStepped:Connect(function()
                    hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(10), 0)
                end)
                table.insert(Connections, spinConnection)
            end
            ShowNotification("Spin: ON")
        else
            if spinConnection then spinConnection:Disconnect() spinConnection = nil end
            ShowNotification("Spin: OFF")
        end
    end)
    
    -- WalkSpeed
    makeButton("Set WalkSpeed", function()
        local hum = player.Character and player.Character:FindFirstChild("Humanoid")
        if hum then
            local speed = tonumber(game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("AdminPanel"):FindFirstChild("TextBoxInput") and 0) -- dummy
            local box = Instance.new("TextBox", MainFrame)
            box.Size = UDim2.new(0, 120, 0, 30)
            box.Position = UDim2.new(0.5,-60,0.5,-15)
            box.BackgroundColor3 = Color3.fromRGB(40,40,40)
            box.PlaceholderText = "Enter WalkSpeed"
            box.TextColor3 = Color3.new(1,1,1)
            Instance.new("UICorner", box).CornerRadius = UDim.new(0,8)
            box.FocusLost:Connect(function(enter)
                if enter then
                    local val = tonumber(box.Text)
                    if val then
                        hum.WalkSpeed = val
                        ShowNotification("WalkSpeed set to "..val)
                    end
                end
                box:Destroy()
            end)
        end
    end)
    
    -- JumpPower
    makeButton("Set JumpPower", function()
        local hum = player.Character and player.Character:FindFirstChild("Humanoid")
        if hum then
            local box = Instance.new("TextBox", MainFrame)
            box.Size = UDim2.new(0, 120, 0, 30)
            box.Position = UDim2.new(0.5,-60,0.5,-15)
            box.BackgroundColor3 = Color3.fromRGB(40,40,40)
            box.PlaceholderText = "Enter JumpPower"
            box.TextColor3 = Color3.new(1,1,1)
            Instance.new("UICorner", box).CornerRadius = UDim.new(0,8)
            box.FocusLost:Connect(function(enter)
                if enter then
                    local val = tonumber(box.Text)
                    if val then
                        hum.UseJumpPower = true
                        hum.JumpPower = val
                        ShowNotification("JumpPower set to "..val)
                    end
                end
                box:Destroy()
            end)
        end
    end)
    
    -- Noclip
    makeButton("Toggle Noclip", function()
        if noclipConn then
            noclipConn:Disconnect()
            noclipConn = nil
            ShowNotification("Noclip OFF")
        else
            noclipConn = RunService.Stepped:Connect(function()
                if player.Character then
                    for _, part in pairs(player.Character:GetDescendants()) do
                        if part:IsA("BasePart") then
                            part.CanCollide = false
                        end
                    end
                end
            end)
            table.insert(Connections, noclipConn)
            ShowNotification("Noclip ON")
        end
    end)
    
    -- Minimize
    local minimized = false
    MinBtn.MouseButton1Click:Connect(function()
        if minimized then
            TweenService:Create(MainFrame, TweenInfo.new(0.5, Enum.EasingStyle.Back), {Size = UDim2.new(0,320,0,380)}):Play()
        else
            TweenService:Create(MainFrame, TweenInfo.new(0.5, Enum.EasingStyle.Back), {Size = UDim2.new(0,320,0,30)}):Play()
        end
        minimized = not minimized
    end)
    
    -- Close
    CloseBtn.MouseButton1Click:Connect(function()
        CleanupAll()
        TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {
        Size = UDim2.new(0, 0, 0, 0),
        Position = UDim2.new(0.5, 0, 0.5, 0),
        BackgroundTransparency = 1
        }):Play()
        for _, child in ipairs(MainFrame:GetDescendants()) do
            if child:IsA("GuiObject") then
                TweenService:Create(child, TweenInfo.new(0.2), {Transparency = 1, TextTransparency = 1}):Play()
            end
        end
        task.wait(0.35)
        ScreenGui:Destroy()
    end)
    
    ShowNotification("Admin Panel Loaded Successfully!")
end

-- Pertama dijalankan
CreateGui()

-- Respawn Handler
player.CharacterAdded:Connect(function()
    task.wait(1)
    CleanupAll()
    if player:FindFirstChild("PlayerGui") and not player.PlayerGui:FindFirstChild("AdminPanel") then
        CreateGui()
    end
end)

Features & Information

Works for all games!

Community Comments (2)

ChaseyScriptzyChaseyScriptzyAug 30, 2025

this is lowkey fire buts its probably AI, the coding is off

OdetariOdetariSep 16, 2025

this is ia bro

More Scripts for Tipis tower 2