
Key RequiredUniversal

-- AdvancedAdminPanel_Final.lua
-- LocalScript -> StarterPlayer > StarterPlayerScripts
-- All-in-one: draggable modern panel, tabs, fly, speed boost (walkspeed), infinite jump, noclip, kill, fling, TP dropdown, ESP (box + tracer if available),
-- chat logs, server hop, rejoin. Buttons grey-degrade style.
-- ===== CONFIG =====
local iconPath = '/mnt/data/A_2D_digital_illustration_infographic_titled_"Miku.png' -- local asset path (will be transformed by host)
-- ===== SERVICES =====
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local TeleportService = game:GetService("TeleportService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local cam = workspace.CurrentCamera
-- ===== UTIL =====
local function New(class, props)
local obj = Instance.new(class)
if props then
for k,v in pairs(props) do
if k == "Parent" then obj.Parent = v
else
pcall(function() obj[k] = v end)
end
end
end
return obj
end
local function safeDisconnect(conn)
if conn and conn.Disconnect then
conn:Disconnect()
elseif conn and conn.disconnect then
conn:disconnect()
end
end
-- ===== STATE =====
local state = {
guiOpen = true, -- auto-open on execute
flying = false,
infjump = false,
noclip = false,
esp = false,
tracer = false,
box = true,
speed = 16,
freecamSpeed = 3,
autoRejoin = false,
}
-- ===== GUI BUILD =====
local screen = New("ScreenGui", {Parent = PlayerGui, ResetOnSpawn = false, Name = "AdvAdminGUI_vFinal"})
screen.Enabled = true -- open immediately when executed
-- panel
local panel = New("Frame", {Parent = screen, Size = UDim2.new(0,600,0,420), Position = UDim2.new(0.08,0,0.06,0), BackgroundColor3 = Color3.fromRGB(24,24,24)})
New("UICorner", {Parent = panel, CornerRadius = UDim.new(0,8)})
New("UIStroke", {Parent = panel, Color = Color3.fromRGB(180,180,180), Transparency = 0.85, Thickness = 1})
-- topbar
local top = New("Frame", {Parent = panel, Size = UDim2.new(1,0,0,42), BackgroundTransparency = 1})
-- Title
local title = New("TextLabel", {
Parent = top,
Position = UDim2.new(0,12,0,8),
Size = UDim2.new(0.6,0,1,0),
BackgroundTransparency = 1,
Text = "C00lkidd-Scripts admin gui V.1",
Font = Enum.Font.SourceSansBold,
TextSize = 20,
TextColor3 = Color3.fromRGB(235,235,235)
})
local closeBtn = New("TextButton", {Parent = top, Size = UDim2.new(0,34,0,34), Position = UDim2.new(1,-46,0,4), Text = "✕", TextColor3 = Color3.new(1,1,1), BackgroundColor3 = Color3.fromRGB(45,45,45)})
New("UICorner", {Parent = closeBtn, CornerRadius = UDim.new(0,6)})
New("UIStroke", {Parent = closeBtn, Color = Color3.fromRGB(140,140,140), Transparency = 0.8})
-- left tab column
local tabCol = New("Frame", {Parent = panel, Position = UDim2.new(0,12,0,56), Size = UDim2.new(0,160,1,-70), BackgroundTransparency = 1})
local tabLayout = New("UIListLayout", {Parent = tabCol, FillDirection = Enum.FillDirection.Vertical, Padding = UDim.new(0,8)})
tabLayout.SortOrder = Enum.SortOrder.LayoutOrder
-- content area
local content = New("Frame", {Parent = panel, Position = UDim2.new(0,184,0,56), Size = UDim2.new(1,-196,1,-70), BackgroundColor3 = Color3.fromRGB(18,18,18)})
New("UICorner", {Parent = content, CornerRadius = UDim.new(0,6)})
-- tab helper (grey-degrade style)
local pages = {}
local function makeTab(name)
local btn = New("TextButton", {Parent = tabCol, Size = UDim2.new(1,0,0,36), Text = name, Font = Enum.Font.SourceSans, TextSize = 15, BackgroundColor3 = Color3.fromRGB(36,36,36), TextColor3 = Color3.fromRGB(235,235,235)})
New("UICorner", {Parent = btn, CornerRadius = UDim.new(0,6)})
local grad = New("UIGradient", {Parent = btn})
grad.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(64,64,64)), ColorSequenceKeypoint.new(1, Color3.fromRGB(44,44,44))}
local page = New("Frame", {Parent = content, Size = UDim2.new(1,0,1,0), BackgroundTransparency = 1, Visible = false})
pages[name] = page
btn.MouseButton1Click:Connect(function()
for _,p in pairs(pages) do p.Visible = false end
page.Visible = true
btn.BackgroundColor3 = Color3.fromRGB(70,70,70)
delay(0.12, function() btn.BackgroundColor3 = Color3.fromRGB(36,36,36) end)
end)
return page, btn
end
local homePage = makeTab("Home")
local movementPage = makeTab("Movement")
local combatPage = makeTab("Combat")
local visualPage = makeTab("Visuals")
local playersPage = makeTab("Players")
local utilPage = makeTab("Utility")
pages["Home"].Visible = true
-- --- HOME CONTENT
New("TextLabel", {Parent = homePage, Position = UDim2.new(0,12,0,8), Size = UDim2.new(1,-24,0,60), BackgroundTransparency = 1, Text = "Hoşgeldin kanka! F ile aç/kapa. Sunucu kısıtları bazı actionları engelleyebilir.", TextWrapped = true, Font = Enum.Font.SourceSans, TextSize = 14, TextColor3 = Color3.fromRGB(230,230,230)})
-- Discord link alt yazısı
New("TextLabel", {Parent = homePage, Position = UDim2.new(0,12,1,-32), Size = UDim2.new(1,-24,0,20), BackgroundTransparency = 1, Text = "Discordumuza gelmeyi unutmayın ! https://discord.gg/BsfrKcjEys", TextWrapped = false, Font = Enum.Font.SourceSansItalic, TextSize = 14, TextColor3 = Color3.fromRGB(160,200,255)})
-- ================= Movement page controls (freecam removed) =================
local flyToggle = New("TextButton", {Parent = movementPage, Position = UDim2.new(0,12,0,12), Size = UDim2.new(0,320,0,40), Text = "Fly: OFF"})
New("UICorner", {Parent = flyToggle, CornerRadius = UDim.new(0,6)})
local speedLabel = New("TextLabel", {Parent = movementPage, Position = UDim2.new(0,12,0,62), Size = UDim2.new(0,220,0,20), BackgroundTransparency = 1, Text = "Speed: 16", TextColor3 = Color3.fromRGB(220,220,220)})
local speedBar = New("Frame", {Parent = movementPage, Position = UDim2.new(0,12,0,82), Size = UDim2.new(0,260,0,18), BackgroundColor3 = Color3.fromRGB(40,40,40)})
New("UICorner", {Parent = speedBar, CornerRadius = UDim.new(0,8)})
local speedFill = New("Frame", {Parent = speedBar, Size = UDim2.new(0.06,0,1,0), BackgroundColor3 = Color3.fromRGB(120,120,120)})
New("UICorner", {Parent = speedFill, CornerRadius = UDim.new(0,8)})
local infJumpToggle = New("TextButton", {Parent = movementPage, Position = UDim2.new(0,12,0,112), Size = UDim2.new(0,320,0,40), Text = "InfiniteJump: OFF"})
New("UICorner", {Parent = infJumpToggle, CornerRadius = UDim.new(0,6)})
local noclipToggle = New("TextButton", {Parent = movementPage, Position = UDim2.new(0,12,0,162), Size = UDim2.new(0,320,0,40), Text = "Noclip: OFF"})
New("UICorner", {Parent = noclipToggle, CornerRadius = UDim.new(0,6)})
-- ================= Combat page (Kill / Fling) =================
local killInput = New("TextBox", {Parent = combatPage, Position = UDim2.new(0,12,0,12), Size = UDim2.new(0,320,0,36), PlaceholderText = "PlayerName to Kill", BackgroundColor3 = Color3.fromRGB(36,36,36), TextColor3 = Color3.fromRGB(235,235,235)})
New("UICorner", {Parent = killInput, CornerRadius = UDim.new(0,6)})
local killBtn = New("TextButton", {Parent = combatPage, Position = UDim2.new(0,344,0,12), Size = UDim2.new(0,120,0,36), Text = "Kill"})
New("UICorner", {Parent = killBtn, CornerRadius = UDim.new(0,6)})
local flingInput = New("TextBox", {Parent = combatPage, Position = UDim2.new(0,12,0,62), Size = UDim2.new(0,320,0,36), PlaceholderText = "PlayerName to Fling", BackgroundColor3 = Color3.fromRGB(36,36,36), TextColor3 = Color3.fromRGB(235,235,235)})
New("UICorner", {Parent = flingInput, CornerRadius = UDim.new(0,6)})
local flingBtn = New("TextButton", {Parent = combatPage, Position = UDim2.new(0,344,0,62), Size = UDim2.new(0,120,0,36), Text = "Fling"})
New("UICorner", {Parent = flingBtn, CornerRadius = UDim.new(0,6)})
-- ================= Visuals (ESP) =================
local espToggle = New("TextButton", {Parent = visualPage, Position = UDim2.new(0,12,0,12), Size = UDim2.new(0,320,0,40), Text = "ESP: OFF"})
New("UICorner", {Parent = espToggle, CornerRadius = UDim.new(0,6)})
local tracerToggle = New("TextButton", {Parent = visualPage, Position = UDim2.new(0,12,0,64), Size = UDim2.new(0,320,0,40), Text = "Tracer: OFF"})
New("UICorner", {Parent = tracerToggle, CornerRadius = UDim.new(0,6)})
local boxToggle = New("TextButton", {Parent = visualPage, Position = UDim2.new(0,12,0,116), Size = UDim2.new(0,320,0,40), Text = "Box: ON"})
New("UICorner", {Parent = boxToggle, CornerRadius = UDim.new(0,6)})
-- ================= Players (TP) =================
local tpDropdown = New("TextBox", {Parent = playersPage, Position = UDim2.new(0,12,0,12), Size = UDim2.new(0,320,0,36), PlaceholderText = "PlayerName", BackgroundColor3 = Color3.fromRGB(36,36,36), TextColor3 = Color3.fromRGB(235,235,235)})
New("UICorner", {Parent = tpDropdown, CornerRadius = UDim.new(0,6)})
local tpBtn = New("TextButton", {Parent = playersPage, Position = UDim2.new(0,344,0,12), Size = UDim2.new(0,120,0,36), Text = "TP to Player"})
New("UICorner", {Parent = tpBtn, CornerRadius = UDim.new(0,6)})
local bringBtn = New("TextButton", {Parent = playersPage, Position = UDim2.new(0,344,0,62), Size = UDim2.new(0,120,0,36), Text = "Bring Player"})
New("UICorner", {Parent = bringBtn, CornerRadius = UDim.new(0,6)})
-- ================= Utility (Chat logs, server hop, rejoin) =================
local chatFrame = New("ScrollingFrame", {Parent = utilPage, Position = UDim2.new(0,12,0,12), Size = UDim2.new(1,-24,0,220), BackgroundColor3 = Color3.fromRGB(18,18,18), CanvasSize = UDim2.new(0,0,0,0)})
chatFrame.ScrollBarThickness = 6
New("UICorner", {Parent = chatFrame, CornerRadius = UDim.new(0,6)})
local chatLayout = New("UIListLayout", {Parent = chatFrame, Padding = UDim.new(0,4)})
local autoRejoinToggle = New("TextButton", {Parent = utilPage, Position = UDim2.new(0,12,0,248), Size = UDim2.new(0,160,0,36), Text = "AutoRejoin: OFF"})
New("UICorner", {Parent = autoRejoinToggle, CornerRadius = UDim.new(0,6)})
local serverHopBtn = New("TextButton", {Parent = utilPage, Position = UDim2.new(0,188,0,248), Size = UDim2.new(0,160,0,36), Text = "Server Hop"})
New("UICorner", {Parent = serverHopBtn, CornerRadius = UDim.new(0,6)})
local rejoinBtn = New("TextButton", {Parent = utilPage, Position = UDim2.new(0,364,0,248), Size = UDim2.new(0,160,0,36), Text = "Rejoin"})
New("UICorner", {Parent = rejoinBtn, CornerRadius = UDim.new(0,6)})
-- ===== DRAGGING =====
do
local dragging, dragInput, dragStart, startPos
top.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = panel.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then dragging = false end
end)
end
end)
top.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end
end)
RunService.RenderStepped:Connect(function()
if dragging and dragInput and dragStart and startPos then
local delta = dragInput.Position - dragStart
panel.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
end
-- ===== TOGGLE GUI WITH F =====
UIS.InputBegan:Connect(function(input, gpe)
if gpe then return end
if input.KeyCode == Enum.KeyCode.F then
state.guiOpen = not state.guiOpen
screen.Enabled = state.guiOpen
if not state.guiOpen then pcall(function() UIS.MouseBehavior = Enum.MouseBehavior.Default end) end
end
end)
closeBtn.MouseButton1Click:Connect(function()
state.guiOpen = false
screen.Enabled = false
pcall(function() UIS.MouseBehavior = Enum.MouseBehavior.Default end)
end)
-- ===== MOVEMENT SYSTEMS =====
local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local HRP = char:WaitForChild("HumanoidRootPart")
local humanoid = char:WaitForChild("Humanoid")
humanoid.WalkSpeed = state.speed
-- FLY
local flyBV = nil
flyToggle.MouseButton1Click:Connect(function()
state.flying = not state.flying
flyToggle.Text = state.flying and "Fly: ON" or "Fly: OFF"
if state.flying then
humanoid.PlatformStand = true
flyBV = Instance.new("BodyVelocity")
flyBV.MaxForce = Vector3.new(1e6,1e6,1e6)
flyBV.Velocity = Vector3.new(0,0,0)
flyBV.Parent = HRP
else
humanoid.PlatformStand = false
if flyBV then flyBV:Destroy() flyBV = nil end
end
end)
RunService.RenderStepped:Connect(function()
if state.flying and flyBV then
local dir = Vector3.zero
if UIS:IsKeyDown(Enum.KeyCode.W) then dir += cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then dir -= cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then dir -= cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then dir += cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.E) then dir += Vector3.new(0,1,0) end
if UIS:IsKeyDown(Enum.KeyCode.Q) then dir -= Vector3.new(0,1,0) end
flyBV.Velocity = dir * 60
end
end)
-- SPEED SLIDER (walkspeed)
local draggingSpeed = false
speedBar.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then draggingSpeed = true end end)
speedBar.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then draggingSpeed = false end end)
RunService.RenderStepped:Connect(function()
if draggingSpeed then
local abs = speedBar.AbsolutePosition.X
local w = speedBar.AbsoluteSize.X
local mx = UIS:GetMouseLocation().X
local rel = math.clamp((mx - abs) / w, 0, 1)
speedFill.Size = UDim2.new(rel,0,1,0)
local newSpeed = math.floor(10 + rel * 90) -- 10..100
state.speed = newSpeed
speedLabel.Text = "Speed: "..tostring(newSpeed)
if humanoid and not state.flying then
humanoid.WalkSpeed = newSpeed
end
end
end)
-- INFINITE JUMP
local jumpConn
infJumpToggle.MouseButton1Click:Connect(function()
state.infjump = not state.infjump
infJumpToggle.Text = "InfiniteJump: "..(state.infjump and "ON" or "OFF")
if state.infjump then
if not jumpConn then
jumpConn = UIS.JumpRequest:Connect(function()
if humanoid and humanoid.Health > 0 then
humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
end)
end
else
safeDisconnect(jumpConn)
jumpConn = nil
end
end)
-- NOCLIP
local noclipConn
noclipToggle.MouseButton1Click:Connect(function()
state.noclip = not state.noclip
noclipToggle.Text = "Noclip: "..(state.noclip and "ON" or "OFF")
if state.noclip then
noclipConn = RunService.Stepped:Connect(function()
local c = LocalPlayer.Character
if not c then return end
for _,part in pairs(c:GetDescendants()) do
if part:IsA("BasePart") then part.CanCollide = false end
end
end)
else
safeDisconnect(noclipConn)
noclipConn = nil
local c = LocalPlayer.Character
if c then
for _,part in pairs(c:GetDescendants()) do
if part:IsA("BasePart") then part.CanCollide = true end
end
end
end
end)
-- ===== COMBAT: Kill & Fling (client attempts) =====
local function findPlayerByName(name)
if not name or name == "" then return nil end
local target = Players:FindFirstChild(name)
if not target then
for _,p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Name:lower():sub(1,#name) == name:lower() then target = p break end
end
end
return target
end
killBtn.MouseButton1Click:Connect(function()
local name = killInput.Text
local target = findPlayerByName(name)
if target and target.Character and target.Character:FindFirstChild("Humanoid") then
pcall(function() target.Character.Humanoid.Health = 0 end)
end
end)
flingBtn.MouseButton1Click:Connect(function()
local name = flingInput.Text
local target = findPlayerByName(name)
if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
local hrp = target.Character.HumanoidRootPart
-- powerful yeet
local v = Instance.new("BodyVelocity")
v.MaxForce = Vector3.new(1e7,1e7,1e7)
v.P = 1e6
v.Velocity = (hrp.CFrame.LookVector * 180) + Vector3.new(0,200,0)
v.Parent = hrp
game:GetService("Debris"):AddItem(v, 0.7)
end
end)
-- ===== VISUALS: ESP (box + tracer) =====
local espObjects = {}
local drawingAvailable, DrawingLib = pcall(function() return Drawing end)
local Drawing = DrawingLib
local boxEnabled = true
local tracerEnabled = false
local function clearEsp(p)
local data = espObjects[p]
if not data then return end
if data.box and drawingAvailable then
pcall(function() data.box.Visible = false; data.box:Remove() end)
end
if data.tracer and drawingAvailable then
pcall(function() data.tracer.Visible = false; data.tracer:Remove() end)
end
if data.bill and data.bill.Parent then data.bill:Destroy() end
espObjects[p] = nil
end
local function createEsp(p)
if p == LocalPlayer then return end
clearEsp(p)
local c = p.Character
if not c then return end
local root = c:FindFirstChild("HumanoidRootPart") or c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
local head = c:FindFirstChild("Head")
if not root then return end
local data = {}
if drawingAvailable then
local box = Drawing.new("Square")
box.Thickness = 2
box.Filled = false
box.Visible = false
box.Color = Color3.new(1,1,1)
local tracer = Drawing.new("Line")
tracer.Thickness = 1.8
tracer.Color = Color3.new(1,0.4,0.4)
tracer.Visible = false
data.box = box
data.tracer = tracer
else
if head then
local bill = Instance.new("BillboardGui")
bill.Size = UDim2.new(0,120,0,60)
bill.Adornee = head
bill.AlwaysOnTop = true
bill.Parent = PlayerGui
local f = Instance.new("Frame", bill)
f.Size = UDim2.new(1,0,1,0)
f.BackgroundTransparency = 1
f.BorderSizePixel = 2
f.BorderColor3 = Color3.new(1,1,1)
data.bill = bill
end
end
espObjects[p] = data
end
local function ensureAllCreated()
for _,p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character then
if not espObjects[p] then createEsp(p) end
end
end
end
Players.PlayerAdded:Connect(function(p)
p.CharacterAdded:Connect(function()
if state.esp then
task.wait(0.6)
createEsp(p)
end
end)
end)
Players.PlayerRemoving:Connect(function(p)
clearEsp(p)
end)
espToggle.MouseButton1Click:Connect(function()
state.esp = not state.esp
espToggle.Text = "ESP: "..(state.esp and "ON" or "OFF")
if state.esp then
ensureAllCreated()
else
for p,_ in pairs(espObjects) do clearEsp(p) end
end
end)
tracerToggle.MouseButton1Click:Connect(function()
tracerEnabled = not tracerEnabled
state.tracer = tracerEnabled
tracerToggle.Text = tracerEnabled and "Tracer: ON" or "Tracer: OFF"
end)
boxToggle.MouseButton1Click:Connect(function()
boxEnabled = not boxEnabled
state.box = boxEnabled
boxToggle.Text = boxEnabled and "Box: ON" or "Box: OFF"
end)
RunService.RenderStepped:Connect(function()
if not state.esp then
for p,data in pairs(espObjects) do
if data.box and drawingAvailable then data.box.Visible = false end
if data.tracer and drawingAvailable then data.tracer.Visible = false end
if data.bill and data.bill.Parent then data.bill.Enabled = false end
end
return
end
local camera = cam
for p,data in pairs(espObjects) do
if not p or not p.Character then
clearEsp(p)
else
local c = p.Character
local root = c:FindFirstChild("HumanoidRootPart") or c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
local head = c:FindFirstChild("Head")
if not root then clearEsp(p) continue end
local pos3 = root.Position
local headPos = (head and head.Position) or (pos3 + Vector3.new(0,2,0))
local screenPos = camera:WorldToViewportPoint(headPos)
local onScreen = screenPos.Z > 0
local screenX, screenY = screenPos.X, screenPos.Y
if drawingAvailable and data.box and data.tracer then
if onScreen then
local topY = camera:WorldToViewportPoint(headPos + Vector3.new(0,0.5,0)).Y
local bottomY = camera:WorldToViewportPoint(pos3 - Vector3.new(0,1,0)).Y
local height = math.abs(bottomY - topY)
if height <= 0 then height = 50 end
local width = math.clamp(height * 0.45, 20, 200)
if boxEnabled then
data.box.Visible = true
data.box.Size = Vector2.new(width, height)
data.box.Position = Vector2.new(screenX - width/2, screenY - height/2)
data.box.Color = Color3.new(1,1,1)
else
data.box.Visible = false
end
if tracerEnabled then
data.tracer.Visible = true
data.tracer.From = Vector2.new(camera.ViewportSize.X/2, camera.ViewportSize.Y)
data.tracer.To = Vector2.new(screenX, screenY)
data.tracer.Color = Color3.new(1,0.4,0.4)
else
data.tracer.Visible = false
end
else
data.box.Visible = false
data.tracer.Visible = false
end
else
if data.bill and data.bill.Parent then
data.bill.Enabled = onScreen and state.box
end
end
end
end
end)
-- ===== PLAYERS: TP & Bring =====
tpBtn.MouseButton1Click:Connect(function()
local name = tpDropdown.Text
if name == "" then return end
local target = findPlayerByName(name)
if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
local myChar = LocalPlayer.Character
if myChar and myChar:FindFirstChild("HumanoidRootPart") then
myChar.HumanoidRootPart.CFrame = target.Character.HumanoidRootPart.CFrame + Vector3.new(0,3,0)
end
end
end)
bringBtn.MouseButton1Click:Connect(function()
local name = tpDropdown.Text
if name == "" then return end
local target = findPlayerByName(name)
if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
pcall(function() target.Character.HumanoidRootPart.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame + Vector3.new(0,3,0) end)
end
end)
-- ===== CHAT LOGS =====
local function addChatLine(text)
local lbl = New("TextLabel", {Parent = chatFrame, Size = UDim2.new(1,-12,0,18), BackgroundTransparency = 1, Text = text, TextColor3 = Color3.fromRGB(220,220,220), Font = Enum.Font.SourceSans, TextSize = 14})
chatLayout.Parent.CanvasSize = UDim2.new(0,0,0,chatLayout.AbsoluteContentSize.Y + 8)
end
for _,p in pairs(Players:GetPlayers()) do
p.Chatted:Connect(function(msg)
addChatLine(p.Name..": "..tostring(msg))
end)
end
Players.PlayerAdded:Connect(function(pl)
pl.Chatted:Connect(function(msg) addChatLine(pl.Name..": "..tostring(msg)) end)
end)
-- ===== AUTO-REJOIN & SERVER HOP =====
autoRejoinToggle.MouseButton1Click:Connect(function()
state.autoRejoin = not state.autoRejoin
autoRejoinToggle.Text = "AutoRejoin: "..(state.autoRejoin and "ON" or "OFF")
if state.autoRejoin then
LocalPlayer.CharacterRemoving:Connect(function()
if state.autoRejoin then
pcall(function() TeleportService:Teleport(game.PlaceId, LocalPlayer) end)
end
end)
end
end)
serverHopBtn.MouseButton1Click:Connect(function()
pcall(function() TeleportService:Teleport(game.PlaceId, LocalPlayer) end)
end)
rejoinBtn.MouseButton1Click:Connect(function()
pcall(function() TeleportService:Teleport(game.PlaceId, LocalPlayer) end)
end)
-- ===== CLEANUP ON UNLOAD =====
screen.AncestryChanged:Connect(function()
if not screen:IsDescendantOf(game) then
pcall(function() UIS.MouseBehavior = Enum.MouseBehavior.Default end)
for p,objs in pairs(espObjects) do
if objs.box and drawingAvailable then
pcall(function() objs.box:Remove() end)
end
if objs.tracer and drawingAvailable then
pcall(function() objs.tracer:Remove() end)
end
end
end
end)
-- ===== FINISH =====
humanoid.WalkSpeed = state.speed
print("Advanced Admin Panel loaded. GUI opened automatically.")
Players.PlayerAdded:Connect(function(pl)
pl.Chatted:Connect(function(msg) addChatLine(pl.Name..": "..tostring(msg)) end)
pl.CharacterAdded:Connect(function(c)
if state.esp then createEsp(pl) end
end)
end)



gang is this ai