![[UPD] | Core Hub!](https://cdn.kocakz.me/images/10b21f7d41a2ca76354f0e25db44b96b08979a00c99fd920a127c5bd966a7e2e.webp)
Key Required

--// X3R - DULES Advanced Panel
--// LocalScript only
--// Place in StarterPlayer > StarterPlayerScripts
--// No RemoteEvent / No RemoteFunction
--==================================================
-- SERVICES
--==================================================
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
--==================================================
-- PLAYER
--==================================================
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
--==================================================
-- CONFIG
--==================================================
local CONFIG = {
KEY = "DULES",
UI_SIZE = UDim2.new(0, 460, 0, 345),
UI_CLOSED_SIZE = UDim2.new(0, 460, 0, 0),
KEY_SIZE = UDim2.new(0, 360, 0, 225),
KEY_CLOSED_SIZE = UDim2.new(0, 360, 0, 0),
FLOAT_SIZE = UDim2.new(0, 58, 0, 58),
BLUR_SIZE = 0, -- [EDIT 1] Blur removed: was 18, now 0
WALKSPEED = 50,
ANIM_FAST = 0.12,
ANIM_MED = 0.22,
ANIM_SLOW = 0.30,
FLY_SPEED = 75,
JUMPPOWER_DEFAULT = 50,
JUMPPOWER_MIN = 25,
JUMPPOWER_MAX = 200,
JUMPPOWER_STEP = 25,
}
local COLORS = {
BG = Color3.fromRGB(9, 9, 9),
BG2 = Color3.fromRGB(14, 14, 14),
PANEL = Color3.fromRGB(18, 18, 18),
PANEL2 = Color3.fromRGB(24, 24, 24),
PANEL3 = Color3.fromRGB(29, 29, 29),
RED = Color3.fromRGB(220, 32, 32),
RED2 = Color3.fromRGB(160, 20, 20),
RED3 = Color3.fromRGB(90, 14, 14),
WHITE = Color3.fromRGB(245, 245, 245),
LIGHT = Color3.fromRGB(205, 205, 205),
GRAY = Color3.fromRGB(145, 145, 145),
DARKGRAY = Color3.fromRGB(100, 100, 100),
SUCCESS = Color3.fromRGB(90, 255, 125),
ERROR = Color3.fromRGB(255, 90, 90),
WARN = Color3.fromRGB(255, 190, 80),
}
--==================================================
-- STATE
--==================================================
local unlocked = false
local uiOpen = false
local currentTab = "Actions"
local currentWalkspeedBoosted = false
local flyEnabled = false
local flyBV = nil
local flyBG = nil
local flyConnection = nil
local antiRagdollEnabled = false
local antiRagdollConnection = nil
local currentJumpPower = CONFIG.JUMPPOWER_DEFAULT
local flyMove = {
W = false,
A = false,
S = false,
D = false,
Up = false,
Down = false,
}
--==================================================
-- UTILS
--==================================================
local function create(className, props, children)
local instance = Instance.new(className)
for k, v in pairs(props or {}) do
instance[k] = v
end
for _, child in ipairs(children or {}) do
child.Parent = instance
end
return instance
end
local function makeCorner(obj, radius)
local c = Instance.new("UICorner")
c.CornerRadius = radius or UDim.new(0, 12)
c.Parent = obj
return c
end
local function makeStroke(obj, color, thickness, transparency)
local s = Instance.new("UIStroke")
s.Color = color or COLORS.RED
s.Thickness = thickness or 1.4
s.Transparency = transparency or 0
s.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
s.Parent = obj
return s
end
local function makePadding(obj, left, right, top, bottom)
local p = Instance.new("UIPadding")
p.PaddingLeft = UDim.new(0, left or 0)
p.PaddingRight = UDim.new(0, right or 0)
p.PaddingTop = UDim.new(0, top or 0)
p.PaddingBottom = UDim.new(0, bottom or 0)
p.Parent = obj
return p
end
local function tween(obj, info, props)
if typeof(obj) ~= "Instance" then return end
local success, tw = pcall(function()
return TweenService:Create(obj, info, props)
end)
if success and tw then
tw:Play()
return tw
end
end
local function fastTween(obj, props)
return tween(obj, TweenInfo.new(CONFIG.ANIM_FAST, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), props)
end
local function medTween(obj, props)
return tween(obj, TweenInfo.new(CONFIG.ANIM_MED, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), props)
end
local function slowTween(obj, props)
return tween(obj, TweenInfo.new(CONFIG.ANIM_SLOW, Enum.EasingStyle.Back, Enum.EasingDirection.Out), props)
end
local function pulse(button)
local originalSize = button.Size
local shrink = UDim2.new(originalSize.X.Scale, originalSize.X.Offset - 4, originalSize.Y.Scale, originalSize.Y.Offset - 2)
tween(button, TweenInfo.new(0.07, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = shrink
})
task.delay(0.08, function()
if button and button.Parent then
tween(button, TweenInfo.new(0.10, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = originalSize
})
end
end)
end
local function popOpen(frame, targetSize)
frame.Size = UDim2.new(targetSize.X.Scale, targetSize.X.Offset, 0, 0)
frame.Visible = true
slowTween(frame, {Size = targetSize})
end
local function shake(frame)
local base = frame.Position
local seq = {
UDim2.new(base.X.Scale, base.X.Offset - 8, base.Y.Scale, base.Y.Offset),
UDim2.new(base.X.Scale, base.X.Offset + 8, base.Y.Scale, base.Y.Offset),
UDim2.new(base.X.Scale, base.X.Offset - 6, base.Y.Scale, base.Y.Offset),
UDim2.new(base.X.Scale, base.X.Offset + 6, base.Y.Scale, base.Y.Offset),
UDim2.new(base.X.Scale, base.X.Offset - 3, base.Y.Scale, base.Y.Offset),
base,
}
local delayAmount = 0
for _, pos in ipairs(seq) do
task.delay(delayAmount, function()
if frame and frame.Parent then
tween(frame, TweenInfo.new(0.04, Enum.EasingStyle.Linear), {Position = pos})
end
end)
delayAmount += 0.04
end
end
local function hoverButton(button, normalColor, hoverColor, shine)
button.MouseEnter:Connect(function()
medTween(button, {BackgroundColor3 = hoverColor})
if shine then
tween(shine, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Position = UDim2.new(1, 12, 0, 0),
BackgroundTransparency = 0.89
})
end
end)
button.MouseLeave:Connect(function()
medTween(button, {BackgroundColor3 = normalColor})
if shine then
shine.Position = UDim2.new(0, -70, 0, 0)
shine.BackgroundTransparency = 0.95
end
end)
end
local function makeDraggable(frame, handle)
handle = handle or frame
local dragging = false
local dragStart
local startPos
local currentTarget = frame.Position
local currentVisual = frame.Position
handle.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = currentTarget
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
currentTarget = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end)
RunService.RenderStepped:Connect(function(dt)
local alpha = math.clamp(dt * 20, 0, 1)
currentVisual = currentVisual:Lerp(currentTarget, alpha)
frame.Position = currentVisual
end)
end
local function getCharacter()
return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
end
local function getHumanoidAndRoot()
local character = getCharacter()
local humanoid = character:FindFirstChildOfClass("Humanoid") or character:WaitForChild("Humanoid")
local root = character:FindFirstChild("HumanoidRootPart") or character:WaitForChild("HumanoidRootPart")
return humanoid, root
end
local function formatStatus(label, text, color)
label.Text = text
label.TextColor3 = color
label.TextTransparency = 1
tween(label, TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
TextTransparency = 0
})
end
local function fadeStatus(label, delayTime)
task.delay(delayTime or 1.5, function()
if label and label.Parent then
tween(label, TweenInfo.new(0.22, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
TextTransparency = 1
})
end
end)
end
local function setBottomStatus(text, color)
statusBar.Text = text
statusBar.TextColor3 = color or COLORS.GRAY
end
local function findNearestPartByName(name)
local _, root = getHumanoidAndRoot()
local nearest = nil
local nearestDistance = math.huge
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") and obj.Name == name then
local distance = (obj.Position - root.Position).Magnitude
if distance < nearestDistance then
nearestDistance = distance
nearest = obj
end
end
end
return nearest, nearestDistance
end
local function teleportToNearest(name)
local _, root = getHumanoidAndRoot()
local part = findNearestPartByName(name)
if part then
root.CFrame = part.CFrame + Vector3.new(0, 3, 0)
return true
end
return false
end
local function applyJumpPower(value)
local humanoid = getHumanoidAndRoot()
if humanoid then
currentJumpPower = math.clamp(value, CONFIG.JUMPPOWER_MIN, CONFIG.JUMPPOWER_MAX)
humanoid.UseJumpPower = true
humanoid.JumpPower = currentJumpPower
return true
end
return false
end
local function getThumbnail(userId)
local ok, content = pcall(function()
local thumb, _ = Players:GetUserThumbnailAsync(
userId,
Enum.ThumbnailType.HeadShot,
Enum.ThumbnailSize.Size100x100
)
return thumb
end)
if ok and content then
return content
end
return "rbxasset://textures/ui/GuiImagePlaceholder.png"
end
--==================================================
-- EFFECTS
--==================================================-- Dummy blur object to prevent Tween errors
local blur = Instance.new("Frame")
blur.Name = "DummyBlur"
blur.BackgroundTransparency = 1
blur.Size = UDim2.new(0,0,0,0)
blur.Parent = gui
--==================================================
-- GUI ROOT
--==================================================
local gui = create("ScreenGui", {
Name = "X3R_DULES_ADVANCED",
ResetOnSpawn = false,
IgnoreGuiInset = false,
ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
Parent = PlayerGui
})
--==================================================
-- KEY WINDOW
--==================================================
local keyFrame = create("Frame", {
Name = "KeyFrame",
AnchorPoint = Vector2.new(0.5, 0.5),
Position = UDim2.fromScale(0.5, 0.5),
Size = CONFIG.KEY_CLOSED_SIZE,
BackgroundColor3 = COLORS.PANEL,
BorderSizePixel = 0,
ClipsDescendants = true,
Parent = gui
})
makeCorner(keyFrame, UDim.new(0, 18))
makeStroke(keyFrame, COLORS.RED, 1.8, 0)
local keyGlow = create("Frame", {
Name = "KeyGlow",
BackgroundColor3 = COLORS.RED,
BackgroundTransparency = 0.90,
BorderSizePixel = 0,
Position = UDim2.new(0, -10, 0, -10),
Size = UDim2.new(1, 20, 1, 20),
Parent = keyFrame
})
makeCorner(keyGlow, UDim.new(0, 22))
local keyTopBar = create("Frame", {
Name = "TopBar",
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Size = UDim2.new(1, 0, 0, 42),
Parent = keyFrame
})
makeCorner(keyTopBar, UDim.new(0, 18))
local keyTopFix = create("Frame", {
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Position = UDim2.new(0, 0, 0, 20),
Size = UDim2.new(1, 0, 0, 22),
Parent = keyTopBar
})
local keyBrand = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 14, 0, 0),
Size = UDim2.new(1, -20, 1, 0),
Text = "X3R • ACCESS",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 15,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = keyTopBar
})
local keyContent = create("Frame", {
Name = "Content",
BackgroundTransparency = 1,
Position = UDim2.new(0, 16, 0, 52),
Size = UDim2.new(1, -32, 1, -64),
Parent = keyFrame
})
local keyTitle = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 0, 0, 0),
Size = UDim2.new(1, 0, 0, 34),
Text = "ENTER KEY",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBlack,
TextSize = 28,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = keyContent
})
local keySubtitle = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 0, 0, 30),
Size = UDim2.new(1, 0, 0, 20),
Text = "Unlock advanced local panel",
TextColor3 = COLORS.GRAY,
Font = Enum.Font.Gotham,
TextSize = 13,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = keyContent
})
local keyInputFrame = create("Frame", {
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Position = UDim2.new(0, 0, 0, 74),
Size = UDim2.new(1, 0, 0, 48),
Parent = keyContent
})
makeCorner(keyInputFrame, UDim.new(0, 12))
makeStroke(keyInputFrame, COLORS.RED3, 1.2, 0)
local keyIcon = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 12, 0, 0),
Size = UDim2.new(0, 28, 1, 0),
Text = "🔑",
TextScaled = false,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 18,
Parent = keyInputFrame
})
local keyBox = create("TextBox", {
Name = "KeyBox",
BackgroundTransparency = 1,
Position = UDim2.new(0, 42, 0, 0),
Size = UDim2.new(1, -52, 1, 0),
PlaceholderText = "Type key here...",
Text = "",
TextColor3 = COLORS.WHITE,
PlaceholderColor3 = COLORS.DARKGRAY,
Font = Enum.Font.Gotham,
TextSize = 16,
ClearTextOnFocus = false,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = keyInputFrame
})
local confirmButton = create("TextButton", {
Name = "ConfirmButton",
BackgroundColor3 = COLORS.RED2,
BorderSizePixel = 0,
Position = UDim2.new(0, 0, 0, 132),
Size = UDim2.new(1, 0, 0, 46),
Text = "CONFIRM",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 16,
AutoButtonColor = false,
Parent = keyContent
})
makeCorner(confirmButton, UDim.new(0, 12))
makeStroke(confirmButton, COLORS.RED, 1.4, 0)
local keyConfirmShine = create("Frame", {
BackgroundColor3 = Color3.new(1, 1, 1),
BackgroundTransparency = 0.95,
BorderSizePixel = 0,
Position = UDim2.new(0, -70, 0, 0),
Size = UDim2.new(0, 60, 1, 0),
Parent = confirmButton
})
makeCorner(keyConfirmShine, UDim.new(0, 12))
hoverButton(confirmButton, COLORS.RED2, Color3.fromRGB(180, 28, 28), keyConfirmShine)
local keyStatus = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 0, 1, -18),
Size = UDim2.new(1, 0, 0, 18),
Text = "",
TextTransparency = 1,
TextColor3 = COLORS.ERROR,
Font = Enum.Font.GothamMedium,
TextSize = 13,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = keyContent
})
--==================================================
-- MAIN WINDOW
--==================================================
local mainFrame = create("Frame", {
Name = "MainFrame",
AnchorPoint = Vector2.new(0.5, 0.5),
Position = UDim2.fromScale(0.5, 0.5),
Size = CONFIG.UI_CLOSED_SIZE,
BackgroundColor3 = COLORS.PANEL,
BorderSizePixel = 0,
Visible = false,
ClipsDescendants = true,
Parent = gui
})
makeCorner(mainFrame, UDim.new(0, 18))
makeStroke(mainFrame, COLORS.RED, 1.8, 0)
local mainGlow = create("Frame", {
Name = "MainGlow",
BackgroundColor3 = COLORS.RED,
BackgroundTransparency = 0.91,
BorderSizePixel = 0,
Position = UDim2.new(0, -12, 0, -12),
Size = UDim2.new(1, 24, 1, 24),
Parent = mainFrame
})
makeCorner(mainGlow, UDim.new(0, 24))
local topBar = create("Frame", {
Name = "TopBar",
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Size = UDim2.new(1, 0, 0, 42),
Parent = mainFrame
})
makeCorner(topBar, UDim.new(0, 18))
local topBarFix = create("Frame", {
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Position = UDim2.new(0, 0, 0, 20),
Size = UDim2.new(1, 0, 0, 22),
Parent = topBar
})
local brand = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 14, 0, 0),
Size = UDim2.new(1, -90, 1, 0),
Text = "X3R • DULES PANEL",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 16,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = topBar
})
local closeButton = create("TextButton", {
Name = "CloseButton",
AnchorPoint = Vector2.new(1, 0.5),
Position = UDim2.new(1, -10, 0.5, 0),
Size = UDim2.new(0, 28, 0, 28),
BackgroundColor3 = COLORS.RED3,
BorderSizePixel = 0,
Text = "×",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 18,
AutoButtonColor = false,
Parent = topBar
})
makeCorner(closeButton, UDim.new(1, 0))
makeStroke(closeButton, COLORS.RED, 1.2, 0)
hoverButton(closeButton, COLORS.RED3, Color3.fromRGB(120, 22, 22))
local body = create("Frame", {
Name = "Body",
BackgroundTransparency = 1,
Position = UDim2.new(0, 12, 0, 54),
Size = UDim2.new(1, -24, 1, -66),
Parent = mainFrame
})
-- LEFT SIDEBAR
local sidebar = create("Frame", {
Name = "Sidebar",
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Position = UDim2.new(0, 0, 0, 0),
Size = UDim2.new(0, 128, 1, 0),
Parent = body
})
makeCorner(sidebar, UDim.new(0, 14))
makeStroke(sidebar, COLORS.RED3, 1.2, 0)
local sideTitle = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 12, 0, 10),
Size = UDim2.new(1, -24, 0, 24),
Text = "MENU",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 14,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = sidebar
})
local sideSub = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 12, 0, 29),
Size = UDim2.new(1, -24, 0, 18),
Text = "Advanced local UI",
TextColor3 = COLORS.GRAY,
Font = Enum.Font.Gotham,
TextSize = 11,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = sidebar
})
local tabsHolder = create("Frame", {
Name = "TabsHolder",
BackgroundTransparency = 1,
Position = UDim2.new(0, 8, 0, 58),
Size = UDim2.new(1, -16, 1, -70),
Parent = sidebar
})
local tabsLayout = create("UIListLayout", {
Padding = UDim.new(0, 8),
FillDirection = Enum.FillDirection.Vertical,
HorizontalAlignment = Enum.HorizontalAlignment.Center,
VerticalAlignment = Enum.VerticalAlignment.Top,
Parent = tabsHolder
})
-- RIGHT CONTENT
local contentFrame = create("Frame", {
Name = "ContentFrame",
BackgroundColor3 = COLORS.PANEL2,
BorderSizePixel = 0,
Position = UDim2.new(0, 140, 0, 0),
Size = UDim2.new(1, -140, 1, 0),
Parent = body
})
makeCorner(contentFrame, UDim.new(0, 14))
makeStroke(contentFrame, COLORS.RED3, 1.2, 0)
local contentHeader = create("Frame", {
Name = "Header",
BackgroundTransparency = 1,
Position = UDim2.new(0, 16, 0, 10),
Size = UDim2.new(1, -32, 0, 52),
Parent = contentFrame
})
local contentTitle = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 0, 0, 0),
Size = UDim2.new(1, 0, 0, 28),
Text = "TRY BOTH !",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBlack,
TextSize = 28,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = contentHeader
})
local contentSub = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 0, 0, 28),
Size = UDim2.new(1, 0, 0, 18),
Text = "Teleport and speed controls",
TextColor3 = COLORS.GRAY,
Font = Enum.Font.Gotham,
TextSize = 12,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = contentHeader
})
local pageContainer = create("Frame", {
Name = "PageContainer",
BackgroundTransparency = 1,
Position = UDim2.new(0, 16, 0, 70),
Size = UDim2.new(1, -32, 1, -102),
Parent = contentFrame
})
statusBar = create("TextLabel", {
Name = "StatusBar",
BackgroundTransparency = 1,
AnchorPoint = Vector2.new(0, 1),
Position = UDim2.new(0, 16, 1, -10),
Size = UDim2.new(1, -32, 0, 18),
Text = "Ready",
TextColor3 = COLORS.GRAY,
Font = Enum.Font.GothamMedium,
TextSize = 12,
TextXAlignment = Enum.TextXAlignment.Left,
TextTransparency = 0.15,
Parent = contentFrame
})
--==================================================
-- FLOAT BUTTON
--==================================================
local openButton = create("TextButton", {
Name = "OpenButton",
Size = CONFIG.FLOAT_SIZE,
Position = UDim2.new(0, 36, 0.62, 0),
BackgroundColor3 = COLORS.RED2,
BorderSizePixel = 0,
Text = "X3R",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 14,
Visible = false,
AutoButtonColor = false,
Parent = gui
})
makeCorner(openButton, UDim.new(1, 0))
makeStroke(openButton, COLORS.RED, 1.5, 0)
local openGlow = create("Frame", {
BackgroundColor3 = COLORS.RED,
BackgroundTransparency = 0.91,
BorderSizePixel = 0,
Position = UDim2.new(0, -8, 0, -8),
Size = UDim2.new(1, 16, 1, 16),
Parent = openButton
})
makeCorner(openGlow, UDim.new(1, 0))
hoverButton(openButton, COLORS.RED2, Color3.fromRGB(182, 28, 28))
makeDraggable(openButton, openButton)
--==================================================
-- DRAG
--==================================================
makeDraggable(keyFrame, keyTopBar)
makeDraggable(mainFrame, topBar)
--==================================================
-- PAGES / TABS
--==================================================
local pages = {}
local function createPage(name)
local page = create("Frame", {
Name = name .. "Page",
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 1, 0),
Visible = false,
Parent = pageContainer
})
pages[name] = page
return page
end
local actionsPage = createPage("Actions")
local infoPage = createPage("Info")
-- [EDIT 2] Player Tools page is now a ScrollingFrame for scrolling support
local playerToolsPage = create("ScrollingFrame", {
Name = "PlayerToolsPage",
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 1, 0),
Visible = false,
CanvasSize = UDim2.new(0, 0, 0, 0),
AutomaticCanvasSize = Enum.AutomaticSize.Y,
ScrollBarThickness = 4,
ScrollBarImageColor3 = COLORS.RED,
ScrollingDirection = Enum.ScrollingDirection.Y,
BorderSizePixel = 0,
Parent = pageContainer
})
pages["PlayerTools"] = playerToolsPage
local function makeTabButton(text, iconText)
local button = create("TextButton", {
BackgroundColor3 = COLORS.PANEL3,
BorderSizePixel = 0,
Size = UDim2.new(1, 0, 0, 42),
Text = "",
AutoButtonColor = false,
Parent = tabsHolder
})
makeCorner(button, UDim.new(0, 10))
local stroke = makeStroke(button, COLORS.RED3, 1.2, 0)
local icon = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 10, 0, 0),
Size = UDim2.new(0, 24, 1, 0),
Text = iconText,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 16,
Parent = button
})
local label = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 34, 0, 0),
Size = UDim2.new(1, -40, 1, 0),
Text = text,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 13,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = button
})
local shine = create("Frame", {
BackgroundColor3 = Color3.new(1, 1, 1),
BackgroundTransparency = 0.95,
BorderSizePixel = 0,
Position = UDim2.new(0, -60, 0, 0),
Size = UDim2.new(0, 48, 1, 0),
Parent = button
})
makeCorner(shine, UDim.new(0, 10))
return button, stroke, shine
end
local actionsTab, actionsTabStroke, actionsShine = makeTabButton("Actions", "⚡")
local infoTab, infoTabStroke, infoShine = makeTabButton("Info", "ℹ")
local playerToolsTab, playerToolsTabStroke, playerToolsShine = makeTabButton("Player Tools", "👤")
hoverButton(actionsTab, COLORS.PANEL3, Color3.fromRGB(38, 22, 22), actionsShine)
hoverButton(infoTab, COLORS.PANEL3, Color3.fromRGB(38, 22, 22), infoShine)
hoverButton(playerToolsTab, COLORS.PANEL3, Color3.fromRGB(38, 22, 22), playerToolsShine)
local function setTabStyle(button, strokeObj, active)
if active then
button.BackgroundColor3 = Color3.fromRGB(46, 20, 20)
strokeObj.Color = COLORS.RED
strokeObj.Thickness = 1.5
else
button.BackgroundColor3 = COLORS.PANEL3
strokeObj.Color = COLORS.RED3
strokeObj.Thickness = 1.2
end
end
local function switchTab(tabName)
currentTab = tabName
for name, page in pairs(pages) do
page.Visible = (name == tabName)
end
setTabStyle(actionsTab, actionsTabStroke, tabName == "Actions")
setTabStyle(infoTab, infoTabStroke, tabName == "Info")
setTabStyle(playerToolsTab, playerToolsTabStroke, tabName == "PlayerTools")
if tabName == "Actions" then
contentTitle.Text = "TRY BOTH !"
contentSub.Text = "Teleport and speed controls"
elseif tabName == "Info" then
contentTitle.Text = "PANEL INFO"
contentSub.Text = "Quick notes about the current panel"
else
contentTitle.Text = "PLAYER TOOLS"
contentSub.Text = "Fly, player teleport, jump power and anti ragdoll"
end
end
--==================================================
-- ACTIONS PAGE
--==================================================
local actionsLayout = create("UIListLayout", {
Padding = UDim.new(0, 12),
FillDirection = Enum.FillDirection.Vertical,
HorizontalAlignment = Enum.HorizontalAlignment.Center,
VerticalAlignment = Enum.VerticalAlignment.Top,
Parent = actionsPage
})
local function makeActionCard(iconText, titleText, descText, buttonText)
local card = create("Frame", {
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Size = UDim2.new(1, 0, 0, 66),
Parent = actionsPage
})
makeCorner(card, UDim.new(0, 12))
makeStroke(card, COLORS.RED3, 1.2, 0)
local iconBox = create("Frame", {
BackgroundColor3 = Color3.fromRGB(40, 16, 16),
BorderSizePixel = 0,
Position = UDim2.new(0, 10, 0.5, -18),
Size = UDim2.new(0, 36, 0, 36),
Parent = card
})
makeCorner(iconBox, UDim.new(0, 10))
makeStroke(iconBox, COLORS.RED, 1.0, 0)
create("TextLabel", {
BackgroundTransparency = 1,
Size = UDim2.fromScale(1, 1),
Text = iconText,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 18,
Parent = iconBox
})
create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 56, 0, 10),
Size = UDim2.new(1, -166, 0, 20),
Text = titleText,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 15,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = card
})
create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 56, 0, 30),
Size = UDim2.new(1, -166, 0, 18),
Text = descText,
TextColor3 = COLORS.GRAY,
Font = Enum.Font.Gotham,
TextSize = 12,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = card
})
local actionButton = create("TextButton", {
BackgroundColor3 = COLORS.RED2,
BorderSizePixel = 0,
AnchorPoint = Vector2.new(1, 0.5),
Position = UDim2.new(1, -10, 0.5, 0),
Size = UDim2.new(0, 92, 0, 36),
Text = buttonText,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 13,
AutoButtonColor = false,
Parent = card
})
makeCorner(actionButton, UDim.new(0, 10))
makeStroke(actionButton, COLORS.RED, 1.1, 0)
local shine = create("Frame", {
BackgroundColor3 = Color3.new(1, 1, 1),
BackgroundTransparency = 0.95,
BorderSizePixel = 0,
Position = UDim2.new(0, -56, 0, 0),
Size = UDim2.new(0, 42, 1, 0),
Parent = actionButton
})
makeCorner(shine, UDim.new(0, 10))
hoverButton(actionButton, COLORS.RED2, Color3.fromRGB(180, 28, 28), shine)
return card, actionButton
end
local _, tpEndButton = makeActionCard("🏁", "TP EndPart", "Teleport to the nearest EndPart", "EXECUTE")
local _, tpStartButton = makeActionCard("🚩", "TP StartPart", "Teleport to the nearest StartPart", "EXECUTE")
local _, speedButton = makeActionCard("⚡", "SPEED", "Set Humanoid.WalkSpeed to 50", "EXECUTE")
--==================================================
-- PLAYER TOOLS PAGE
--==================================================
local playerToolsLayout = create("UIListLayout", {
Padding = UDim.new(0, 12),
FillDirection = Enum.FillDirection.Vertical,
HorizontalAlignment = Enum.HorizontalAlignment.Center,
VerticalAlignment = Enum.VerticalAlignment.Top,
Parent = playerToolsPage
})
local function makePlayerToolCard(iconText, titleText, descText, height)
local card = create("Frame", {
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Size = UDim2.new(1, 0, 0, height or 78),
Parent = playerToolsPage
})
makeCorner(card, UDim.new(0, 12))
makeStroke(card, COLORS.RED3, 1.2, 0)
local iconBox = create("Frame", {
BackgroundColor3 = Color3.fromRGB(40, 16, 16),
BorderSizePixel = 0,
Position = UDim2.new(0, 10, 0, 12),
Size = UDim2.new(0, 36, 0, 36),
Parent = card
})
makeCorner(iconBox, UDim.new(0, 10))
makeStroke(iconBox, COLORS.RED, 1.0, 0)
create("TextLabel", {
BackgroundTransparency = 1,
Size = UDim2.fromScale(1, 1),
Text = iconText,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 18,
Parent = iconBox
})
create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 56, 0, 10),
Size = UDim2.new(1, -160, 0, 20),
Text = titleText,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 15,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = card
})
create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 56, 0, 30),
Size = UDim2.new(1, -160, 0, 18),
Text = descText,
TextColor3 = COLORS.GRAY,
Font = Enum.Font.Gotham,
TextSize = 12,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = card
})
return card
end
-- Fly Card
local flyCard = makePlayerToolCard("🕊", "FLY", "Camera based fly using BodyVelocity and BodyGyro", 78)
local flyButton = create("TextButton", {
BackgroundColor3 = COLORS.RED2,
BorderSizePixel = 0,
AnchorPoint = Vector2.new(1, 0.5),
Position = UDim2.new(1, -10, 0.5, 0),
Size = UDim2.new(0, 92, 0, 36),
Text = "OFF",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 13,
AutoButtonColor = false,
Parent = flyCard
})
makeCorner(flyButton, UDim.new(0, 10))
makeStroke(flyButton, COLORS.RED, 1.1, 0)
local flyShine = create("Frame", {
BackgroundColor3 = Color3.new(1, 1, 1),
BackgroundTransparency = 0.95,
BorderSizePixel = 0,
Position = UDim2.new(0, -56, 0, 0),
Size = UDim2.new(0, 42, 1, 0),
Parent = flyButton
})
makeCorner(flyShine, UDim.new(0, 10))
hoverButton(flyButton, COLORS.RED2, Color3.fromRGB(180, 28, 28), flyShine)
-- TP To Player Card
local tpPlayerCard = makePlayerToolCard("👥", "TP TO PLAYER", "Open player list with avatar thumbnails", 78)
local tpPlayerButton = create("TextButton", {
BackgroundColor3 = COLORS.RED2,
BorderSizePixel = 0,
AnchorPoint = Vector2.new(1, 0.5),
Position = UDim2.new(1, -10, 0.5, 0),
Size = UDim2.new(0, 92, 0, 36),
Text = "OPEN",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 13,
AutoButtonColor = false,
Parent = tpPlayerCard
})
makeCorner(tpPlayerButton, UDim.new(0, 10))
makeStroke(tpPlayerButton, COLORS.RED, 1.1, 0)
local tpPlayerShine = create("Frame", {
BackgroundColor3 = Color3.new(1, 1, 1),
BackgroundTransparency = 0.95,
BorderSizePixel = 0,
Position = UDim2.new(0, -56, 0, 0),
Size = UDim2.new(0, 42, 1, 0),
Parent = tpPlayerButton
})
makeCorner(tpPlayerShine, UDim.new(0, 10))
hoverButton(tpPlayerButton, COLORS.RED2, Color3.fromRGB(180, 28, 28), tpPlayerShine)
-- Jump Power Card
local jumpCard = makePlayerToolCard("⬆", "JUMP POWER", "Adjust local Humanoid.JumpPower", 110)
local jumpValueLabel = create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 56, 0, 56),
Size = UDim2.new(0, 60, 0, 20),
Text = tostring(currentJumpPower),
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 16,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = jumpCard
})
local function makeMiniButton(parent, text, posX, width)
local b = create("TextButton", {
BackgroundColor3 = COLORS.PANEL3,
BorderSizePixel = 0,
Position = UDim2.new(0, posX, 0, 52),
Size = UDim2.new(0, width or 34, 0, 28),
Text = text,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 13,
AutoButtonColor = false,
Parent = parent
})
makeCorner(b, UDim.new(0, 8))
makeStroke(b, COLORS.RED3, 1.0, 0)
hoverButton(b, COLORS.PANEL3, Color3.fromRGB(38, 22, 22))
return b
end
local jumpMinus = makeMiniButton(jumpCard, "-", 110, 30)
local jumpPlus = makeMiniButton(jumpCard, "+", 146, 30)
local jump50 = makeMiniButton(jumpCard, "50", 190, 38)
local jump100 = makeMiniButton(jumpCard, "100", 234, 44)
local jump150 = makeMiniButton(jumpCard, "150", 284, 44)
-- Anti Ragdoll Card
local antiCard = makePlayerToolCard("🛡", "ANTI RAGDOLL", "Force local character back to normal state", 78)
local antiButton = create("TextButton", {
BackgroundColor3 = COLORS.RED2,
BorderSizePixel = 0,
AnchorPoint = Vector2.new(1, 0.5),
Position = UDim2.new(1, -10, 0.5, 0),
Size = UDim2.new(0, 92, 0, 36),
Text = "OFF",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 13,
AutoButtonColor = false,
Parent = antiCard
})
makeCorner(antiButton, UDim.new(0, 10))
makeStroke(antiButton, COLORS.RED, 1.1, 0)
local antiShine = create("Frame", {
BackgroundColor3 = Color3.new(1, 1, 1),
BackgroundTransparency = 0.95,
BorderSizePixel = 0,
Position = UDim2.new(0, -56, 0, 0),
Size = UDim2.new(0, 42, 1, 0),
Parent = antiButton
})
makeCorner(antiShine, UDim.new(0, 10))
hoverButton(antiButton, COLORS.RED2, Color3.fromRGB(180, 28, 28), antiShine)
-- Player Picker Modal
local playerPicker = create("Frame", {
Name = "PlayerPicker",
BackgroundColor3 = COLORS.PANEL,
BorderSizePixel = 0,
AnchorPoint = Vector2.new(0.5, 0.5),
Position = UDim2.fromScale(0.5, 0.5),
Size = UDim2.new(0, 0, 0, 0),
Visible = false,
ClipsDescendants = true,
ZIndex = 25,
Parent = contentFrame
})
makeCorner(playerPicker, UDim.new(0, 14))
makeStroke(playerPicker, COLORS.RED, 1.4, 0)
local playerPickerGlow = create("Frame", {
BackgroundColor3 = COLORS.RED,
BackgroundTransparency = 0.92,
BorderSizePixel = 0,
Position = UDim2.new(0, -8, 0, -8),
Size = UDim2.new(1, 16, 1, 16),
ZIndex = 24,
Parent = playerPicker
})
makeCorner(playerPickerGlow, UDim.new(0, 18))
local playerPickerTop = create("Frame", {
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Size = UDim2.new(1, 0, 0, 38),
ZIndex = 26,
Parent = playerPicker
})
makeCorner(playerPickerTop, UDim.new(0, 14))
create("Frame", {
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Position = UDim2.new(0, 0, 0, 18),
Size = UDim2.new(1, 0, 0, 20),
ZIndex = 26,
Parent = playerPickerTop
})
create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 12, 0, 0),
Size = UDim2.new(1, -50, 1, 0),
Text = "SELECT PLAYER",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 14,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 27,
Parent = playerPickerTop
})
local closePickerButton = create("TextButton", {
BackgroundColor3 = COLORS.RED3,
BorderSizePixel = 0,
AnchorPoint = Vector2.new(1, 0.5),
Position = UDim2.new(1, -8, 0.5, 0),
Size = UDim2.new(0, 24, 0, 24),
Text = "×",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 16,
AutoButtonColor = false,
ZIndex = 27,
Parent = playerPickerTop
})
makeCorner(closePickerButton, UDim.new(1, 0))
makeStroke(closePickerButton, COLORS.RED, 1.0, 0)
hoverButton(closePickerButton, COLORS.RED3, Color3.fromRGB(120, 22, 22))
local playerList = create("ScrollingFrame", {
BackgroundTransparency = 1,
BorderSizePixel = 0,
Position = UDim2.new(0, 10, 0, 48),
Size = UDim2.new(1, -20, 1, -58),
CanvasSize = UDim2.new(0, 0, 0, 0),
ScrollBarThickness = 4,
ScrollBarImageColor3 = COLORS.RED,
AutomaticCanvasSize = Enum.AutomaticSize.None,
ZIndex = 27,
Parent = playerPicker
})
local playerListLayout = create("UIListLayout", {
Padding = UDim.new(0, 8),
FillDirection = Enum.FillDirection.Vertical,
HorizontalAlignment = Enum.HorizontalAlignment.Center,
VerticalAlignment = Enum.VerticalAlignment.Top,
Parent = playerList
})
playerListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
playerList.CanvasSize = UDim2.new(0, 0, 0, playerListLayout.AbsoluteContentSize.Y + 6)
end)
--==================================================
-- INFO PAGE
--==================================================
local infoLayout = create("UIListLayout", {
Padding = UDim.new(0, 12),
FillDirection = Enum.FillDirection.Vertical,
HorizontalAlignment = Enum.HorizontalAlignment.Center,
VerticalAlignment = Enum.VerticalAlignment.Top,
Parent = infoPage
})
local function makeInfoBox(titleText, descText)
local box = create("Frame", {
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Size = UDim2.new(1, 0, 0, 72),
Parent = infoPage
})
makeCorner(box, UDim.new(0, 12))
makeStroke(box, COLORS.RED3, 1.2, 0)
create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 12, 0, 10),
Size = UDim2.new(1, -24, 0, 20),
Text = titleText,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 14,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = box
})
create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 12, 0, 30),
Size = UDim2.new(1, -24, 0, 30),
TextWrapped = true,
Text = descText,
TextColor3 = COLORS.GRAY,
Font = Enum.Font.Gotham,
TextSize = 12,
TextXAlignment = Enum.TextXAlignment.Left,
TextYAlignment = Enum.TextYAlignment.Top,
Parent = box
})
return box
end
makeInfoBox("KEY", "This panel unlocks only when the correct key is entered: DULES.")
makeInfoBox("TELEPORT", "Both teleport buttons search the entire workspace and move you to the nearest matching part name.")
makeInfoBox("SPEED", "The speed button only changes your local Humanoid WalkSpeed to 50.")
--==================================================
-- FLY SYSTEM
--==================================================
local function stopFly()
if flyConnection then
flyConnection:Disconnect()
flyConnection = nil
end
if flyBV then
flyBV:Destroy()
flyBV = nil
end
if flyBG then
flyBG:Destroy()
flyBG = nil
end
flyEnabled = false
flyButton.Text = "OFF"
flyButton.BackgroundColor3 = COLORS.RED2
end
local function startFly()
local humanoid, root = getHumanoidAndRoot()
local camera = workspace.CurrentCamera
if not humanoid or not root or not camera then
return
end
stopFly()
flyEnabled = true
flyBV = Instance.new("BodyVelocity")
flyBV.Name = "X3R_FlyVelocity"
flyBV.MaxForce = Vector3.new(1e9, 1e9, 1e9)
flyBV.P = 15000
flyBV.Velocity = Vector3.zero
flyBV.Parent = root
flyBG = Instance.new("BodyGyro")
flyBG.Name = "X3R_FlyGyro"
flyBG.MaxTorque = Vector3.new(1e9, 1e9, 1e9)
flyBG.P = 15000
flyBG.CFrame = camera.CFrame
flyBG.Parent = root
humanoid.PlatformStand = false
humanoid.AutoRotate = false
flyConnection = RunService.RenderStepped:Connect(function()
local currentHumanoid, currentRoot = getHumanoidAndRoot()
local currentCamera = workspace.CurrentCamera
if not flyEnabled or not currentHumanoid or not currentRoot or not currentCamera then
return
end
local moveDirection = Vector3.zero
local look = currentCamera.CFrame.LookVector
local right = currentCamera.CFrame.RightVector
if flyMove.W then
moveDirection += look
end
if flyMove.S then
moveDirection -= look
end
if flyMove.A then
moveDirection -= right
end
if flyMove.D then
moveDirection += right
end
if flyMove.Up then
moveDirection += Vector3.new(0, 1, 0)
end
if flyMove.Down then
moveDirection -= Vector3.new(0, 1, 0)
end
if moveDirection.Magnitude > 0 then
moveDirection = moveDirection.Unit
end
flyBG.CFrame = currentCamera.CFrame
flyBV.Velocity = moveDirection * CONFIG.FLY_SPEED
currentHumanoid.PlatformStand = false
end)
flyButton.Text = "ON"
flyButton.BackgroundColor3 = Color3.fromRGB(30, 110, 50)
setBottomStatus("Fly enabled", COLORS.SUCCESS)
end
--==================================================
-- ANTI RAGDOLL
--==================================================
local function stopAntiRagdoll()
if antiRagdollConnection then
antiRagdollConnection:Disconnect()
antiRagdollConnection = nil
end
antiRagdollEnabled = false
antiButton.Text = "OFF"
antiButton.BackgroundColor3 = COLORS.RED2
end
local function startAntiRagdoll()
stopAntiRagdoll()
antiRagdollEnabled = true
antiButton.Text = "ON"
antiButton.BackgroundColor3 = Color3.fromRGB(30, 110, 50)
antiRagdollConnection = RunService.RenderStepped:Connect(function()
if not antiRagdollEnabled then
return
end
local humanoid, root = getHumanoidAndRoot()
if not humanoid or not root then
return
end
if humanoid.PlatformStand then
humanoid.PlatformStand = false
end
if humanoid.Sit then
humanoid.Sit = false
end
local state = humanoid:GetState()
if state == Enum.HumanoidStateType.Ragdoll
or state == Enum.HumanoidStateType.FallingDown
or state == Enum.HumanoidStateType.Physics then
humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
end
humanoid.AutoRotate = true
end)
setBottomStatus("Anti ragdoll enabled", COLORS.SUCCESS)
end
--==================================================
-- PLAYER PICKER
--==================================================
local function clearPlayerList()
for _, child in ipairs(playerList:GetChildren()) do
if not child:IsA("UIListLayout") then
child:Destroy()
end
end
end
local function closePlayerPicker()
local tw = tween(playerPicker, TweenInfo.new(0.18, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
Size = UDim2.new(0, 0, 0, 0)
})
tw.Completed:Connect(function()
if playerPicker.Size.X.Offset == 0 then
playerPicker.Visible = false
end
end)
end
local function openPlayerPicker()
clearPlayerList()
for _, targetPlayer in ipairs(Players:GetPlayers()) do
if targetPlayer ~= LocalPlayer then
local item = create("TextButton", {
BackgroundColor3 = COLORS.BG2,
BorderSizePixel = 0,
Size = UDim2.new(1, -2, 0, 54),
Text = "",
AutoButtonColor = false,
ZIndex = 28,
Parent = playerList
})
makeCorner(item, UDim.new(0, 10))
makeStroke(item, COLORS.RED3, 1.0, 0)
local thumb = create("ImageLabel", {
BackgroundColor3 = COLORS.PANEL3,
BorderSizePixel = 0,
Position = UDim2.new(0, 8, 0.5, -18),
Size = UDim2.new(0, 36, 0, 36),
Image = getThumbnail(targetPlayer.UserId),
ZIndex = 29,
Parent = item
})
makeCorner(thumb, UDim.new(1, 0))
makeStroke(thumb, COLORS.RED, 1.0, 0)
create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 54, 0, 9),
Size = UDim2.new(1, -138, 0, 18),
Text = targetPlayer.DisplayName,
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 14,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 29,
Parent = item
})
create("TextLabel", {
BackgroundTransparency = 1,
Position = UDim2.new(0, 54, 0, 27),
Size = UDim2.new(1, -138, 0, 16),
Text = "@" .. targetPlayer.Name,
TextColor3 = COLORS.GRAY,
Font = Enum.Font.Gotham,
TextSize = 11,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 29,
Parent = item
})
local tpBtn = create("TextButton", {
BackgroundColor3 = COLORS.RED2,
BorderSizePixel = 0,
AnchorPoint = Vector2.new(1, 0.5),
Position = UDim2.new(1, -8, 0.5, 0),
Size = UDim2.new(0, 68, 0, 30),
Text = "TP",
TextColor3 = COLORS.WHITE,
Font = Enum.Font.GothamBold,
TextSize = 12,
AutoButtonColor = false,
ZIndex = 29,
Parent = item
})
makeCorner(tpBtn, UDim.new(0, 8))
makeStroke(tpBtn, COLORS.RED, 1.0, 0)
hoverButton(tpBtn, COLORS.RED2, Color3.fromRGB(180, 28, 28))
tpBtn.MouseButton1Click:Connect(function()
pulse(tpBtn)
local myHumanoid, myRoot = getHumanoidAndRoot()
local targetCharacter = targetPlayer.Character
local targetRoot = targetCharacter and targetCharacter:FindFirstChild("HumanoidRootPart")
if myHumanoid and myRoot and targetRoot then
myRoot.CFrame = targetRoot.CFrame + Vector3.new(0, 0, -3)
setBottomStatus("Teleported to " .. targetPlayer.Name, COLORS.SUCCESS)
closePlayerPicker()
else
setBottomStatus("Target unavailable", COLORS.ERROR)
end
end)
end
end
playerPicker.Visible = true
playerPicker.Size = UDim2.new(0, 0, 0, 0)
tween(playerPicker, TweenInfo.new(0.22, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Size = UDim2.new(0, 250, 0, 220)
})
end
--==================================================
-- OPEN/CLOSE
--==================================================
local function openMain()
uiOpen = true
openButton.Visible = false
mainFrame.Visible = true
mainFrame.Size = CONFIG.UI_CLOSED_SIZE
-- [EDIT 1] Blur removed: tween calls on blur dummy table do nothing
tween(blur, TweenInfo.new(0.22, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = CONFIG.BLUR_SIZE
})
tween(mainFrame, TweenInfo.new(0.28, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Size = CONFIG.UI_SIZE
})
end
local function closeMain()
uiOpen = false
-- [EDIT 1] Blur removed: tween calls on blur dummy table do nothing
tween(blur, TweenInfo.new(0.18, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = 0
})
local tw = tween(mainFrame, TweenInfo.new(0.20, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
Size = CONFIG.UI_CLOSED_SIZE
})
tw.Completed:Connect(function()
if not uiOpen then
mainFrame.Visible = false
openButton.Visible = true
if playerPicker.Visible then
playerPicker.Visible = false
playerPicker.Size = UDim2.new(0, 0, 0, 0)
end
end
end)
end
local function unlockPanel()
unlocked = true
formatStatus(keyStatus, "Access granted", COLORS.SUCCESS)
fadeStatus(keyStatus, 0.9)
local hide = tween(keyFrame, TweenInfo.new(0.22, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
Size = CONFIG.KEY_CLOSED_SIZE
})
hide.Completed:Connect(function()
keyFrame.Visible = false
openMain()
end)
end
--==================================================
-- KEY CHECK
--==================================================
local function handleKeyCheck()
pulse(confirmButton)
local entered = tostring(keyBox.Text or ""):upper()
if entered == CONFIG.KEY then
unlockPanel()
else
formatStatus(keyStatus, "Wrong key", COLORS.ERROR)
fadeStatus(keyStatus, 1.5)
shake(keyFrame)
end
end
confirmButton.MouseButton1Click:Connect(handleKeyCheck)
keyBox.FocusLost:Connect(function(enterPressed)
if enterPressed then
handleKeyCheck()
end
end)
--==================================================
-- BUTTON LOGIC
--==================================================
tpEndButton.MouseButton1Click:Connect(function()
pulse(tpEndButton)
local ok = teleportToNearest("EndPart")
if ok then
setBottomStatus("Teleported to nearest EndPart", COLORS.SUCCESS)
else
setBottomStatus("No EndPart found", COLORS.ERROR)
end
end)
tpStartButton.MouseButton1Click:Connect(function()
pulse(tpStartButton)
local ok = teleportToNearest("StartPart")
if ok then
setBottomStatus("Teleported to nearest StartPart", COLORS.SUCCESS)
else
setBottomStatus("No StartPart found", COLORS.ERROR)
end
end)
speedButton.MouseButton1Click:Connect(function()
pulse(speedButton)
local humanoid = getHumanoidAndRoot()
if humanoid then
humanoid.WalkSpeed = CONFIG.WALKSPEED
currentWalkspeedBoosted = true
setBottomStatus("WalkSpeed set to 50", COLORS.SUCCESS)
end
end)
flyButton.MouseButton1Click:Connect(function()
pulse(flyButton)
if flyEnabled then
stopFly()
setBottomStatus("Fly disabled", COLORS.WARN)
else
startFly()
end
end)
tpPlayerButton.MouseButton1Click:Connect(function()
pulse(tpPlayerButton)
openPlayerPicker()
setBottomStatus("Player list opened", COLORS.LIGHT)
end)
closePickerButton.MouseButton1Click:Connect(function()
pulse(closePickerButton)
closePlayerPicker()
end)
jumpMinus.MouseButton1Click:Connect(function()
pulse(jumpMinus)
if applyJumpPower(currentJumpPower - CONFIG.JUMPPOWER_STEP) then
jumpValueLabel.Text = tostring(currentJumpPower)
setBottomStatus("JumpPower set to " .. currentJumpPower, COLORS.SUCCESS)
end
end)
jumpPlus.MouseButton1Click:Connect(function()
pulse(jumpPlus)
if applyJumpPower(currentJumpPower + CONFIG.JUMPPOWER_STEP) then
jumpValueLabel.Text = tostring(currentJumpPower)
setBottomStatus("JumpPower set to " .. currentJumpPower, COLORS.SUCCESS)
end
end)
jump50.MouseButton1Click:Connect(function()
pulse(jump50)
if applyJumpPower(50) then
jumpValueLabel.Text = tostring(currentJumpPower)
setBottomStatus("JumpPower set to 50", COLORS.SUCCESS)
end
end)
jump100.MouseButton1Click:Connect(function()
pulse(jump100)
if applyJumpPower(100) then
jumpValueLabel.Text = tostring(currentJumpPower)
setBottomStatus("JumpPower set to 100", COLORS.SUCCESS)
end
end)
jump150.MouseButton1Click:Connect(function()
pulse(jump150)
if applyJumpPower(150) then
jumpValueLabel.Text = tostring(currentJumpPower)
setBottomStatus("JumpPower set to 150", COLORS.SUCCESS)
end
end)
antiButton.MouseButton1Click:Connect(function()
pulse(antiButton)
if antiRagdollEnabled then
stopAntiRagdoll()
setBottomStatus("Anti ragdoll disabled", COLORS.WARN)
else
startAntiRagdoll()
end
end)
closeButton.MouseButton1Click:Connect(function()
pulse(closeButton)
closeMain()
end)
openButton.MouseButton1Click:Connect(function()
pulse(openButton)
openMain()
end)
actionsTab.MouseButton1Click:Connect(function()
pulse(actionsTab)
switchTab("Actions")
end)
infoTab.MouseButton1Click:Connect(function()
pulse(infoTab)
switchTab("Info")
end)
playerToolsTab.MouseButton1Click:Connect(function()
pulse(playerToolsTab)
switchTab("PlayerTools")
end)
--==================================================
-- INPUTS FOR FLY
--==================================================
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then
return
end
if input.KeyCode == Enum.KeyCode.W then
flyMove.W = true
elseif input.KeyCode == Enum.KeyCode.A then
flyMove.A = true
elseif input.KeyCode == Enum.KeyCode.S then
flyMove.S = true
elseif input.KeyCode == Enum.KeyCode.D then
flyMove.D = true
elseif input.KeyCode == Enum.KeyCode.Space then
flyMove.Up = true
elseif input.KeyCode == Enum.KeyCode.LeftControl then
flyMove.Down = true
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.W then
flyMove.W = false
elseif input.KeyCode == Enum.KeyCode.A then
flyMove.A = false
elseif input.KeyCode == Enum.KeyCode.S then
flyMove.S = false
elseif input.KeyCode == Enum.KeyCode.D then
flyMove.D = false
elseif input.KeyCode == Enum.KeyCode.Space then
flyMove.Up = false
elseif input.KeyCode == Enum.KeyCode.LeftControl then
flyMove.Down = false
end
end)
--==================================================
-- GLOW ANIMATION
--==================================================
task.spawn(function()
while gui.Parent do
tween(mainGlow, TweenInfo.new(1.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.94
})
tween(openGlow, TweenInfo.new(1.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.94
})
tween(keyGlow, TweenInfo.new(1.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.93
})
tween(playerPickerGlow, TweenInfo.new(1.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.95
})
task.wait(1.8)
tween(mainGlow, TweenInfo.new(1.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.89
})
tween(openGlow, TweenInfo.new(1.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.89
})
tween(keyGlow, TweenInfo.new(1.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.88
})
tween(playerPickerGlow, TweenInfo.new(1.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.91
})
task.wait(1.8)
end
end)
--==================================================
-- RESPAWN SUPPORT
--==================================================
LocalPlayer.CharacterAdded:Connect(function()
task.wait(0.4)
if currentWalkspeedBoosted then
local humanoid = getHumanoidAndRoot()
if humanoid then
humanoid.WalkSpeed = CONFIG.WALKSPEED
end
end
applyJumpPower(currentJumpPower)
if flyEnabled then
stopFly()
setBottomStatus("Fly reset after respawn", COLORS.WARN)
end
end)
--==================================================
-- INITIALIZE
--==================================================
switchTab("Actions")
keyFrame.Visible = true
mainFrame.Visible = false
openButton.Visible = false
playerPicker.Visible = false
statusBar.Text = "Ready"
statusBar.TextColor3 = COLORS.GRAY
jumpValueLabel.Text = tostring(currentJumpPower)
applyJumpPower(currentJumpPower)
popOpen(keyFrame, CONFIG.KEY_SIZE)No comments yet for this script.