The Roblox platform has recently become the home for some of the most intense and visually stunning anime-based combat simulators. Among the crowd of battlegrounds and arena games, Jump Showdown has emerged as a title where precision, reaction time, and character mastery are the only things keeping you from a quick defeat. Players are thrown into a high-stakes arena where they can inhabit the bodies of iconic anime warriors. The mechanics are layered: from complex Quick Time Events to frame-perfect parrying systems, the skill ceiling is sky-high. However, the sheer competitiveness of the community often means new players are hunted down the moment they spawn. This environment has created a massive surge in users looking for an Jump Showdown script to help them survive and thrive against veteran players.
Whether you are looking to find rare items with Extrasensory Perception or want to automate your combat sequences, a high-quality Jump Showdown script is the ultimate solution. Roblox scripts act as tactical overlays or mechanical assistants that execute actions with speeds human fingers cannot replicate. Many competitive sorcerers and warriors hunt for terms like Jump Showdown Xeno or Jump Showdown Xeno Script to find reliable ways to load these utilities. Using these tools does not just grant you an unfair advantage; it provides a bridge for casual players to experience late-game techniques like Nanami’s Ratio Technique or Higuruma’s Judgement without months of mechanical practice.
In this comprehensive and massive guide, we are diving deep into the five most powerful scripts currently working for this game. We will explore advanced item detectors, fully automated combat modules, and character-specific bots designed to win every QTE. If you have been searching for a Jump Showdown script pastebin link or a simple keyless Jump Showdown script to get ahead in the 2026 meta, this article is the definitive resource. Let’s break down the world of scripts Jump Showdown has available for its dedicated player base.

1. Keyless Hub – (Events & Character ESP, Teleport Utility)
If you are looking for awareness, the Keyless hub is the most effective entry-level tool. It focuses on removing the “fog of war” that often leads to players being blindsided by enemy characters or event spawns. Many players seek out an free Jump Showdown script that doesn’t just cheat, but actually assists with informational awareness, and this loader delivers that in spades. It is designed to work efficiently on injectors such as Potassium, ensuring a smooth and responsive experience.
| Feature Category | Ability | Advantage |
|---|---|---|
| Awareness | Real-time Chara ESP | Tracks every anime character model through walls |
| Logistics | Instant TP | Warps your character to specific map events or locations |
| Alert System | Sound Accompaniment | Auditory cues play when rare characters spawn or target you |
| Interaction | Notification UI | Pop-up windows keep you informed of global arena changes |
The core functionality of this script Jump Showdown tool revolves around the ESP (Extra Sensory Perception). In the heat of a chaotic lobby, it is easy to lose track of where a heavy hitter like Gojo or Sukuna is positioned. By using this tool, the game draws highlighted boxes and text overlays around other players, showing their exact distance and username through solid geometry. This is essentially why so many hunt for Jump Showdown Xeno setups—they need a reliable visual assistance layer to navigate the map safely.
Another impressive addition to this version is the TP (Teleport) functionality. When map-wide events occur, time is often of the essence. Instead of running across the terrain and risking a backstab from a lurker, this keyless Jump Showdown scripts utility lets you jump straight to the action. It even includes specialized error handling to prevent your character from falling into the void if the game logic updates during the warp. It is a highly respected utility within the scripting community because of its simplicity and lack of “bloat.”
-- LocalScript (place in StarterGui)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
if not player then return end
-- ==================== PATH CONFIGURATION ====================
local PATH_STRINGS = {
Boss = "Models.Chara",
FallingCrate = "Visuals.fallingcrate",
Crate = "Visuals.Crate",
Portal = "Visuals.Portal"
}
-- ==================== CUSTOM NAMES ====================
local CUSTOM_NAMES = {
Boss = "⚠ Chara ⚠",
FallingCrate = "📦 Falling Crate",
Crate = "📦 Crate",
Portal = "🌀 Mystic Portal"
}
-- ==================== SOUNDS ====================
local SOUND_VOLUME = 1.5
local SOUNDS = {
BossSpawn = "rbxassetid://127863687687397",
LowHealth = "rbxassetid://104973625032761",
BossDeath = "rbxassetid://73834717157581"
}
local function getObjectFromPath(pathString)
local current = workspace
for part in string.gmatch(pathString, "[^%.]+") do
current = current:FindFirstChild(part)
if not current then return nil end
end
return current
end
-- Data stores
local espCache = {}
local connections = {}
local soundCache = {}
local bossWasPresent = false
local lowHealthPlayed = {} -- объект -> true (один раз за жизнь)
local lastLowHealthTime = 0 -- антиспам по времени
local lastDeathTime = 0 -- антиспам смерти
-- ==================== SOUND FUNCTIONS ====================
local function playSound(soundName)
local soundId = SOUNDS[soundName]
if not soundId then return end
if not soundCache[soundName] then
local sound = Instance.new("Sound")
sound.SoundId = soundId
sound.Volume = SOUND_VOLUME
sound.Parent = player.PlayerGui
soundCache[soundName] = sound
else
soundCache[soundName].Volume = SOUND_VOLUME
end
local sound = soundCache[soundName]
sound:Stop()
sound:Play()
end
-- ==================== GUI CREATION ====================
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "EventListGUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")
-- Notifications
local notificationHolder = Instance.new("Frame")
notificationHolder.Name = "NotificationHolder"
notificationHolder.Size = UDim2.new(0, 300, 1, -20)
notificationHolder.Position = UDim2.new(1, -310, 0, 10)
notificationHolder.BackgroundTransparency = 1
notificationHolder.Parent = screenGui
local notificationLayout = Instance.new("UIListLayout")
notificationLayout.Parent = notificationHolder
notificationLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right
notificationLayout.VerticalAlignment = Enum.VerticalAlignment.Top
notificationLayout.SortOrder = Enum.SortOrder.LayoutOrder
notificationLayout.Padding = UDim.new(0, 5)
local function createNotification(title, text, duration, color)
duration = duration or 5
color = color or Color3.new(0.3, 0.6, 1)
local frame = Instance.new("Frame")
frame.Name = "Notification"
frame.Size = UDim2.new(0, 280, 0, 60)
frame.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1)
frame.BackgroundTransparency = 0.2
frame.BorderSizePixel = 0
frame.Parent = notificationHolder
frame.LayoutOrder = -os.clock()
frame.ClipsDescendants = true
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = frame
local stroke = Instance.new("UIStroke")
stroke.Thickness = 2
stroke.Color = color
stroke.Parent = frame
local titleLabel = Instance.new("TextLabel")
titleLabel.Name = "Title"
titleLabel.Size = UDim2.new(1, -10, 0, 20)
titleLabel.Position = UDim2.new(0, 5, 0, 5)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = title
titleLabel.TextColor3 = Color3.new(1, 1, 1)
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.TextScaled = true
titleLabel.Font = Enum.Font.GothamBold
titleLabel.Parent = frame
local textLabel = Instance.new("TextLabel")
textLabel.Name = "Text"
textLabel.Size = UDim2.new(1, -10, 0, 30)
textLabel.Position = UDim2.new(0, 5, 0, 25)
textLabel.BackgroundTransparency = 1
textLabel.Text = text
textLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)
textLabel.TextXAlignment = Enum.TextXAlignment.Left
textLabel.TextWrapped = true
textLabel.TextScaled = true
textLabel.Font = Enum.Font.Gotham
textLabel.Parent = frame
frame.Size = UDim2.new(0, 0, 0, 60)
local tween = TweenService:Create(frame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = UDim2.new(0, 280, 0, 60)})
tween:Play()
task.wait(duration)
local fadeOut = TweenService:Create(frame, TweenInfo.new(0.3), {BackgroundTransparency = 1})
fadeOut:Play()
local fadeTitle = TweenService:Create(titleLabel, TweenInfo.new(0.3), {TextTransparency = 1})
local fadeText = TweenService:Create(textLabel, TweenInfo.new(0.3), {TextTransparency = 1})
local fadeStroke = TweenService:Create(stroke, TweenInfo.new(0.3), {Transparency = 1})
fadeTitle:Play()
fadeText:Play()
fadeStroke:Play()
fadeOut.Completed:Connect(function()
frame:Destroy()
end)
end
-- Show/Hide list button
local showButton = Instance.new("TextButton")
showButton.Name = "ShowListButton"
showButton.Size = UDim2.new(0, 50, 0, 50)
showButton.Position = UDim2.new(0, 10, 0, 10)
showButton.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
showButton.BackgroundTransparency = 0.3
showButton.Text = "📋"
showButton.TextColor3 = Color3.new(1, 1, 1)
showButton.TextScaled = true
showButton.Visible = false
showButton.Parent = screenGui
local showCorner = Instance.new("UICorner")
showCorner.CornerRadius = UDim.new(0, 8)
showCorner.Parent = showButton
-- Main list window
local listFrame = Instance.new("Frame")
listFrame.Name = "ListFrame"
listFrame.Size = UDim2.new(0, 340, 0, 450)
listFrame.Position = UDim2.new(0, 10, 0.5, -225)
listFrame.BackgroundColor3 = Color3.new(0.05, 0.05, 0.1)
listFrame.BackgroundTransparency = 0.1
listFrame.BorderSizePixel = 0
listFrame.ClipsDescendants = true
listFrame.Parent = screenGui
local shadow = Instance.new("ImageLabel")
shadow.Name = "Shadow"
shadow.Size = UDim2.new(1, 20, 1, 20)
shadow.Position = UDim2.new(0, -10, 0, -10)
shadow.BackgroundTransparency = 1
shadow.Image = "rbxasset://textures/ui/GuiImagePlaceholder.png"
shadow.ImageColor3 = Color3.new(0, 0, 0)
shadow.ImageTransparency = 0.7
shadow.ScaleType = Enum.ScaleType.Slice
shadow.SliceCenter = Rect.new(10, 10, 10, 10)
shadow.Parent = listFrame
local listCorner = Instance.new("UICorner")
listCorner.CornerRadius = UDim.new(0, 12)
listCorner.Parent = listFrame
local listGradient = Instance.new("UIGradient")
listGradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.new(0.1, 0.1, 0.15)),
ColorSequenceKeypoint.new(1, Color3.new(0.05, 0.05, 0.1))
})
listGradient.Rotation = 90
listGradient.Parent = listFrame
local listStroke = Instance.new("UIStroke")
listStroke.Thickness = 2
listStroke.Color = Color3.new(0.3, 0.3, 0.4)
listStroke.Parent = listFrame
-- Title bar
local titleFrame = Instance.new("Frame")
titleFrame.Name = "TitleFrame"
titleFrame.Size = UDim2.new(1, 0, 0, 50)
titleFrame.BackgroundTransparency = 1
titleFrame.Parent = listFrame
local listTitle = Instance.new("TextLabel")
listTitle.Name = "Title"
listTitle.Size = UDim2.new(1, -80, 0, 30)
listTitle.Position = UDim2.new(0, 10, 0, 10)
listTitle.BackgroundTransparency = 1
listTitle.Text = "EVENTS & BOSSES"
listTitle.TextColor3 = Color3.new(1, 1, 1)
listTitle.TextXAlignment = Enum.TextXAlignment.Left
listTitle.TextScaled = true
listTitle.Font = Enum.Font.GothamBold
listTitle.Parent = titleFrame
local closeButton = Instance.new("TextButton")
closeButton.Name = "CloseButton"
closeButton.Size = UDim2.new(0, 30, 0, 30)
closeButton.Position = UDim2.new(1, -40, 0, 10)
closeButton.BackgroundColor3 = Color3.new(0.8, 0.2, 0.2)
closeButton.BackgroundTransparency = 0.2
closeButton.Text = "✕"
closeButton.TextColor3 = Color3.new(1, 1, 1)
closeButton.TextScaled = true
closeButton.Font = Enum.Font.GothamBold
closeButton.Parent = titleFrame
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 6)
closeCorner.Parent = closeButton
local minimizeButton = Instance.new("TextButton")
minimizeButton.Name = "MinimizeButton"
minimizeButton.Size = UDim2.new(0, 30, 0, 30)
minimizeButton.Position = UDim2.new(1, -75, 0, 10)
minimizeButton.BackgroundColor3 = Color3.new(0.3, 0.3, 0.4)
minimizeButton.BackgroundTransparency = 0.2
minimizeButton.Text = "−"
minimizeButton.TextColor3 = Color3.new(1, 1, 1)
minimizeButton.TextScaled = true
minimizeButton.Font = Enum.Font.GothamBold
minimizeButton.Parent = titleFrame
local minimizeCorner = Instance.new("UICorner")
minimizeCorner.CornerRadius = UDim.new(0, 6)
minimizeCorner.Parent = minimizeButton
-- Scrolling list
local scrollingFrame = Instance.new("ScrollingFrame")
scrollingFrame.Name = "ScrollingFrame"
scrollingFrame.Size = UDim2.new(1, -10, 1, -60)
scrollingFrame.Position = UDim2.new(0, 5, 0, 55)
scrollingFrame.BackgroundTransparency = 1
scrollingFrame.ScrollBarThickness = 6
scrollingFrame.ScrollBarImageColor3 = Color3.new(0.5, 0.5, 0.6)
scrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
scrollingFrame.Parent = listFrame
local listLayout = Instance.new("UIListLayout")
listLayout.Parent = scrollingFrame
listLayout.SortOrder = Enum.SortOrder.Name
listLayout.Padding = UDim.new(0, 6)
-- ==================== CORE FUNCTIONS ====================
local function teleportTo(obj)
local character = player.Character
if not character then
createNotification("Error", "No character", 3, Color3.new(1, 0.3, 0.3))
return
end
local rootPart = character:FindFirstChild("HumanoidRootPart") or character:FindFirstChild("Torso")
if not rootPart then
createNotification("Error", "No root part", 3, Color3.new(1, 0.3, 0.3))
return
end
local success, pos = pcall(function() return obj:GetPivot().Position end)
if success and pos then
rootPart.CFrame = CFrame.new(pos + Vector3.new(0, 3, 0))
createNotification("Teleport", "Teleported to " .. obj.Name, 3, Color3.new(0.3, 0.8, 0.3))
else
createNotification("Error", "Could not determine position", 3, Color3.new(1, 0.3, 0.3))
end
end
local function createESP(obj, objType)
if espCache[obj] then return end
local isBoss = (objType == "Boss")
local billboardHeight = isBoss and 80 or 60
local displayName = CUSTOM_NAMES[objType] or obj.Name
local iconText = ""
if not isBoss then
iconText = (objType == "Portal") and "🌀" or "📦"
end
-- Billboard
local billboard = Instance.new("BillboardGui")
billboard.Name = "ESP_" .. obj.Name
billboard.Size = UDim2.new(0, 240, 0, billboardHeight)
billboard.StudsOffset = Vector3.new(0, 3.5, 0)
billboard.AlwaysOnTop = true
billboard.LightInfluence = 0
billboard.Parent = obj
local background = Instance.new("Frame")
background.Name = "Background"
background.Size = UDim2.new(1, 0, 1, 0)
background.BackgroundTransparency = 0.15
background.BorderSizePixel = 0
background.Parent = billboard
local bgCorner = Instance.new("UICorner")
bgCorner.CornerRadius = UDim.new(0, 8)
bgCorner.Parent = background
local stroke = Instance.new("UIStroke")
stroke.Thickness = 2
stroke.Color = isBoss and Color3.new(1, 0.4, 0) or Color3.new(0, 1, 0)
stroke.Parent = background
local gradient = Instance.new("UIGradient")
if isBoss then
gradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.new(0.9, 0.3, 0)),
ColorSequenceKeypoint.new(1, Color3.new(0.6, 0.1, 0))
})
else
gradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.new(0.2, 0.8, 0.2)),
ColorSequenceKeypoint.new(1, Color3.new(0, 0.5, 0))
})
end
gradient.Rotation = 90
gradient.Parent = background
local textLabel = Instance.new("TextLabel")
textLabel.Name = "Info"
textLabel.Size = isBoss and UDim2.new(1, -10, 0, 30) or UDim2.new(1, -10, 1, 0)
textLabel.Position = UDim2.new(0, 5, 0, 5)
textLabel.BackgroundTransparency = 1
textLabel.TextColor3 = Color3.new(1, 1, 1)
textLabel.TextStrokeTransparency = 0.3
textLabel.TextStrokeColor3 = Color3.new(0, 0, 0)
textLabel.TextScaled = true
textLabel.Font = Enum.Font.GothamSemibold
textLabel.Parent = background
if iconText ~= "" then
local iconLabel = Instance.new("TextLabel")
iconLabel.Name = "Icon"
iconLabel.Size = UDim2.new(0, 20, 0, 20)
iconLabel.Position = UDim2.new(1, -25, 0, 5)
iconLabel.BackgroundTransparency = 1
iconLabel.TextColor3 = Color3.new(1, 1, 1)
iconLabel.TextStrokeTransparency = 0.3
iconLabel.TextScaled = true
iconLabel.Font = Enum.Font.GothamBold
iconLabel.Text = iconText
iconLabel.Parent = background
end
local healthBarFrame, healthPercentLabel
if isBoss then
local barBg = Instance.new("Frame")
barBg.Name = "HealthBarBg"
barBg.Size = UDim2.new(0.8, -10, 0, 12)
barBg.Position = UDim2.new(0, 5, 1, -20)
barBg.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
barBg.BackgroundTransparency = 0.5
barBg.BorderSizePixel = 0
barBg.Parent = background
local barBgCorner = Instance.new("UICorner")
barBgCorner.CornerRadius = UDim.new(0, 4)
barBgCorner.Parent = barBg
local barFill = Instance.new("Frame")
barFill.Name = "HealthBarFill"
barFill.Size = UDim2.new(1, 0, 1, 0)
barFill.BackgroundColor3 = Color3.new(1, 0.2, 0.2)
barFill.BorderSizePixel = 0
barFill.Parent = barBg
local barFillCorner = Instance.new("UICorner")
barFillCorner.CornerRadius = UDim.new(0, 4)
barFillCorner.Parent = barFill
local percentLabel = Instance.new("TextLabel")
percentLabel.Name = "HealthPercent"
percentLabel.Size = UDim2.new(0.2, -5, 0, 14)
percentLabel.Position = UDim2.new(0.8, 0, 1, -22)
percentLabel.BackgroundTransparency = 1
percentLabel.TextColor3 = Color3.new(1, 1, 1)
percentLabel.TextStrokeTransparency = 0.3
percentLabel.TextScaled = true
percentLabel.Font = Enum.Font.GothamBold
percentLabel.Text = "100%"
percentLabel.Parent = background
healthBarFrame = barFill
healthPercentLabel = percentLabel
end
-- Highlight
local highlight = Instance.new("Highlight")
highlight.Name = "Highlight_" .. obj.Name
highlight.FillColor = isBoss and Color3.new(1, 0, 0) or Color3.new(0, 1, 0)
highlight.OutlineColor = Color3.new(1, 1, 1)
highlight.FillTransparency = 0.5
highlight.OutlineTransparency = 0
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = obj
-- List item
local listItem = Instance.new("Frame")
listItem.Name = obj.Name
listItem.Size = UDim2.new(1, 0, 0, 60)
listItem.BackgroundColor3 = Color3.new(0.15, 0.15, 0.2)
listItem.BackgroundTransparency = 0.3
listItem.BorderSizePixel = 0
listItem.Parent = scrollingFrame
local itemCorner = Instance.new("UICorner")
itemCorner.CornerRadius = UDim.new(0, 8)
itemCorner.Parent = listItem
local itemStroke = Instance.new("UIStroke")
itemStroke.Thickness = 1
itemStroke.Color = isBoss and Color3.new(1, 0.5, 0) or Color3.new(0, 1, 0)
itemStroke.Transparency = 0.7
itemStroke.Parent = listItem
local itemIcon = Instance.new("TextLabel")
itemIcon.Name = "Icon"
itemIcon.Size = UDim2.new(0, 40, 0, 40)
itemIcon.Position = UDim2.new(0, 5, 0.5, -20)
itemIcon.BackgroundTransparency = 1
itemIcon.TextColor3 = Color3.new(1, 1, 1)
itemIcon.TextStrokeTransparency = 0.3
itemIcon.TextScaled = true
itemIcon.Font = Enum.Font.GothamBold
itemIcon.Text = iconText
itemIcon.Parent = listItem
local itemText = Instance.new("TextLabel")
itemText.Name = "Info"
itemText.Size = UDim2.new(0.6, -50, 0, 20)
itemText.Position = UDim2.new(0, 50, 0, 10)
itemText.BackgroundTransparency = 1
itemText.TextColor3 = isBoss and Color3.new(1, 0.5, 0) or Color3.new(0, 1, 0)
itemText.TextXAlignment = Enum.TextXAlignment.Left
itemText.TextScaled = true
itemText.Font = Enum.Font.Gotham
itemText.Parent = listItem
local itemPercent = nil
if isBoss then
itemPercent = Instance.new("TextLabel")
itemPercent.Name = "Percent"
itemPercent.Size = UDim2.new(0.6, -50, 0, 16)
itemPercent.Position = UDim2.new(0, 50, 0, 32)
itemPercent.BackgroundTransparency = 1
itemPercent.TextColor3 = Color3.new(1, 1, 1)
itemPercent.TextXAlignment = Enum.TextXAlignment.Left
itemPercent.TextScaled = true
itemPercent.Font = Enum.Font.Gotham
itemPercent.Text = "100%"
itemPercent.Parent = listItem
end
local tpButton = Instance.new("TextButton")
tpButton.Name = "TeleportButton"
tpButton.Size = UDim2.new(0, 45, 0, 30)
tpButton.Position = UDim2.new(1, -50, 0.5, -15)
tpButton.BackgroundColor3 = Color3.new(0.3, 0.6, 1)
tpButton.BackgroundTransparency = 0.2
tpButton.Text = "TP"
tpButton.TextColor3 = Color3.new(1, 1, 1)
tpButton.TextScaled = true
tpButton.Font = Enum.Font.GothamBold
tpButton.Parent = listItem
local tpCorner = Instance.new("UICorner")
tpCorner.CornerRadius = UDim.new(0, 6)
tpCorner.Parent = tpButton
local tpConn = tpButton.MouseButton1Click:Connect(function()
if obj and obj.Parent then
teleportTo(obj)
else
createNotification("Error", "Object no longer exists", 3, Color3.new(1, 0.3, 0.3))
end
end)
table.insert(connections, tpConn)
espCache[obj] = {
billboard = billboard,
textLabel = textLabel,
healthBar = healthBarFrame,
healthPercent = healthPercentLabel,
highlight = highlight,
listItem = listItem,
itemText = itemText,
itemPercent = itemPercent,
type = objType,
customName = displayName
}
end
local function collectTargets()
local targets = {}
for objType, pathString in pairs(PATH_STRINGS) do
local obj = getObjectFromPath(pathString)
if obj then
if obj:IsA("BasePart") or obj:IsA("Model") then
table.insert(targets, {obj = obj, type = objType})
else
for _, child in ipairs(obj:GetChildren()) do
if child:IsA("BasePart") or child:IsA("Model") then
table.insert(targets, {obj = child, type = objType})
end
end
end
end
end
return targets
end
local function updateESP()
if not espCache then return end
local character = player.Character
if not character then return end
local rootPart = character:FindFirstChild("HumanoidRootPart") or character:FindFirstChild("Torso")
if not rootPart then return end
local targets = collectTargets()
local currentTargetsSet = {}
for _, target in ipairs(targets) do
currentTargetsSet[target.obj] = true
end
local bossCurrentlyPresent = false
-- Remove ESP for objects that are no longer targets
for obj, data in pairs(espCache) do
if not currentTargetsSet[obj] or not obj or not obj.Parent then
if data.billboard then pcall(function() data.billboard:Destroy() end) end
if data.listItem then pcall(function() data.listItem:Destroy() end) end
if data.highlight then pcall(function() data.highlight:Destroy() end) end
espCache[obj] = nil
end
end
-- Update existing and create new
for _, target in ipairs(targets) do
local obj = target.obj
local objType = target.type
if not espCache[obj] then
createESP(obj, objType)
if objType == "Boss" then
playSound("BossSpawn")
createNotification("Boss Spawned", CUSTOM_NAMES.Boss .. " has appeared!", 5, Color3.new(1, 0.5, 0))
end
end
local data = espCache[obj]
if data then
if not obj or not obj.Parent then
if data.billboard then pcall(function() data.billboard:Destroy() end) end
if data.listItem then pcall(function() data.listItem:Destroy() end) end
if data.highlight then pcall(function() data.highlight:Destroy() end) end
espCache[obj] = nil
continue
end
if objType == "Boss" then
bossCurrentlyPresent = true
end
local posSuccess, pos = pcall(function() return obj:GetPivot().Position end)
if not posSuccess then pos = rootPart.Position end
local dist = math.floor((pos - rootPart.Position).Magnitude)
local healthText = ""
local emoji = ""
local healthPercent = 100
if objType == "Boss" then
local humanoid = obj:FindFirstChildOfClass("Humanoid")
if humanoid then
local health = math.floor(humanoid.Health)
local maxHealth = math.floor(humanoid.MaxHealth)
if maxHealth > 0 then
healthText = string.format(" ❤️ %d/%d", health, maxHealth)
healthPercent = math.floor((health / maxHealth) * 100)
end
-- Low health notification (once per boss life AND cooldown 10 sec)
if health < 450 and not lowHealthPlayed[obj] and os.clock() - lastLowHealthTime > 10 then
lastLowHealthTime = os.clock()
lowHealthPlayed[obj] = true
playSound("LowHealth")
createNotification("Low Health", CUSTOM_NAMES.Boss .. " is below 450 HP!", 5, Color3.new(1, 0.8, 0))
end
if health < 450 then emoji = " ✨" end
end
end
local displayName = data.customName or (objType == "Boss" and "Chara" or obj.Name)
local billboardText = string.format("%s [%dm]%s%s", displayName, dist, healthText, emoji)
data.textLabel.Text = billboardText
if objType == "Boss" and data.healthBar and data.healthPercent then
data.healthBar.Size = UDim2.new(healthPercent/100, 0, 1, 0)
data.healthPercent.Text = healthPercent .. "%"
end
local listText = string.format("%s [%dm]%s%s", displayName, dist, healthText, emoji)
data.itemText.Text = listText
if data.itemPercent then
data.itemPercent.Text = healthPercent .. "% HP"
end
end
end
-- Boss death notification with anti-spam (5 sec)
if bossWasPresent and not bossCurrentlyPresent and os.clock() - lastDeathTime > 5 then
lastDeathTime = os.clock()
playSound("BossDeath")
createNotification("Boss Defeated", CUSTOM_NAMES.Boss .. " has been defeated!", 5, Color3.new(1, 0.5, 0))
lowHealthPlayed = {}
lastLowHealthTime = 0 -- разрешить уведомление для нового босса
end
bossWasPresent = bossCurrentlyPresent
scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, listLayout.AbsoluteContentSize.Y)
end
-- Start update loop
local renderSteppedConnection = RunService.RenderStepped:Connect(updateESP)
table.insert(connections, renderSteppedConnection)
-- ==================== BUTTON CONNECTIONS ====================
local function safeConnect(btn, func)
if btn and btn:IsA("TextButton") then
local conn = btn.MouseButton1Click:Connect(func)
table.insert(connections, conn)
end
end
safeConnect(closeButton, function()
listFrame.Visible = false
showButton.Visible = true
end)
safeConnect(showButton, function()
listFrame.Visible = true
showButton.Visible = false
end)
local minimized = false
safeConnect(minimizeButton, function()
if minimized then
listFrame:TweenSize(UDim2.new(0, 340, 0, 450), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, 0.3, true)
minimized = false
else
listFrame:TweenSize(UDim2.new(0, 340, 0, 50), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, 0.3, true)
minimized = true
end
end)
-- Dragging
local dragging = false
local dragInput, dragStart, startPos
local function updateDrag(input)
local delta = input.Position - dragStart
listFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
if listFrame then
local dragBeginConn = listFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = listFrame.Position
local conn = input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
if conn then conn:Disconnect() end
end
end)
if conn then table.insert(connections, conn) end
end
end)
table.insert(connections, dragBeginConn)
local dragChangeConn = listFrame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
table.insert(connections, dragChangeConn)
local inputChangeConn = UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
updateDrag(input)
end
end)
table.insert(connections, inputChangeConn)
end
-- Cleanup
script.Destroying:Connect(function()
if renderSteppedConnection then
renderSteppedConnection:Disconnect()
end
for _, conn in ipairs(connections) do
if conn then conn:Disconnect() end
end
if espCache then
for obj, data in pairs(espCache) do
if data then
if data.billboard then pcall(function() data.billboard:Destroy() end) end
if data.listItem then pcall(function() data.listItem:Destroy() end) end
if data.highlight then pcall(function() data.highlight:Destroy() end) end
end
end
end
if screenGui then
pcall(function() screenGui:Destroy() end)
end
for _, sound in pairs(soundCache) do
pcall(function() sound:Destroy() end)
end
end)
2. Death Note & Items ESP Hub – (Persistent Configuration, Favorite System, Quick Teleport)
While character tracking is great for fighting, finding the rarest items is how you truly progress. The Death Note hub by Andrei228_12t is one of the most technical and data-heavy Jump Showdown script options on the market. It doesn’t just draw boxes; it provides a comprehensive database management system for every spawned tool and model on the map, including the highly sought-after “Notes.”
| Item Feature | Implementation | Player Perk |
|---|---|---|
| Object Detection | Automated Scanner | Identifies tools and specific models like “Note” instantly |
| Search Filter | Text-based Sorting | Lets you isolate specific gear while ignoring garbage items |
| Saved Layout | Window Position Persistence | GUI remembers exactly where you placed it across sessions |
| Smart ESP | Card-based Billboard GUIs | Displays high-quality cards with item rarity and tier data |
The sophistication of this script Jump Showdown provides is most evident in its “Interactive Item List.” In a massive match, your screen can get cluttered with ESP boxes. This tool solves that by allowing you to star certain items. Favorites always appear at the top of the sorting list, making it an incredibly popular keyless Jump Showdown script for those hunting legendary-tier items. You can toggle ESP for specific items individually directly from the interactive list, keeping your view clear during combat while still keeping an eye on a specific drop.
Moreover, if your software environment (like Xeno Jump Showdown injectors) supports read/write files, all your favorites and toggle states are saved locally. This means you don’t have to reconfigure your search every time you join a new server. It also includes hotkeys (H, I, O, P) to quickly manage your inventory view or settings. For users looking for Jump Showdown script pastebin resources, this tool is frequently cited as the standard for informational GUIs because it includes robust error handling that prevents your Roblox client from crashing when thousands of parts load in simultaneously.
local Settings = {
UPDATE_INTERVAL = 0.05,
LIST_UPDATE_INTERVAL = 0.5,
MAX_DISTANCE = 15000,
FADE_START_DISTANCE = 300,
NOTIFICATION_DURATION = 5,
TELEPORT_RANGE = 15000,
-- Colors
PRIMARY_COLOR = Color3.fromRGB(0, 184, 255),
SECONDARY_COLOR = Color3.fromRGB(147, 112, 255),
TEXT_COLOR = Color3.fromRGB(255, 255, 255),
BACKGROUND_COLOR = Color3.fromRGB(20, 20, 30),
BACKGROUND_TRANSPARENCY = 0.7,
GLOW_COLOR = Color3.fromRGB(100, 200, 255),
NOTIFICATION_COLOR = Color3.fromRGB(46, 204, 113),
TELEPORT_COLOR = Color3.fromRGB(241, 196, 15),
TOGGLE_COLOR = Color3.fromRGB(52, 152, 219),
DISABLED_COLOR = Color3.fromRGB(231, 76, 60),
LIST_COLOR = Color3.fromRGB(30, 40, 50),
LIST_HOVER_COLOR = Color3.fromRGB(40, 50, 70),
FAVORITE_COLOR = Color3.fromRGB(255, 215, 0),
ESP_ENABLED_COLOR = Color3.fromRGB(46, 204, 113),
ESP_DISABLED_COLOR = Color3.fromRGB(150, 150, 150)
}
-- Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local HttpService = game:GetService("HttpService")
-- File system check
local canSaveToFile = (writefile ~= nil and readfile ~= nil)
local SETTINGS_FILE = "NexusTracker_Settings.json"
-- ========== AUTO PATH DETECTION ==========
local TRACK_PATH = workspace:FindFirstChild("Visuals") or workspace
local SPECIFIC_MODEL_NAME = "Note"
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
-- ========== DATA STRUCTURE ==========
local objectCache = {} -- [obj] = { esp, espEnabled, favorite, addedTime, className, displayName, position, fullPath }
local notifications = {}
local connections = {}
local tweens = {}
local teleportQueue = {}
local guiEnabled = true
local itemListGUI = nil
local itemListVisible = false
local settingsGUI = nil
local settingsVisible = false
local screenGui = nil
local notificationContainer = nil
local mainToggle = nil
local listToggle = nil
local settingsToggle = nil
-- Saved window positions
local savedMainTogglePos = nil
local savedListTogglePos = nil
local savedSettingsTogglePos = nil
local savedItemListGUIPos = nil
local savedSettingsGUIPos = nil
-- Saved object-specific states (favorite, espEnabled)
local savedObjectFavorites = {} -- key = full path, value = boolean
local savedObjectESP = {} -- key = full path, value = boolean
-- List state
local listState = {
filterType = "all", -- "all", "tool", "note"
sortMode = "distance", -- "name", "distance", "favorite"
sortAsc = true,
searchText = ""
}
-- Debug
local DEBUG = true
local function debugPrint(...)
if DEBUG then
print("[NexusTracker]", ...)
end
end
debugPrint("📁 Tracking path:", TRACK_PATH:GetFullName())
debugPrint("File system available:", canSaveToFile)
--------------------------------------------------------------------
-- 1. BASIC FUNCTIONS
--------------------------------------------------------------------
local function shouldTrackObject(object)
return object:IsA("Tool") or (object:IsA("Model") and object.Name == SPECIFIC_MODEL_NAME)
end
local function createGradient(parent, color1, color2, rotation)
local gradient = Instance.new("UIGradient")
gradient.Color = ColorSequence.new({ColorSequenceKeypoint.new(0, color1), ColorSequenceKeypoint.new(1, color2)})
gradient.Rotation = rotation or 90
gradient.Parent = parent
return gradient
end
local function getObjectPosition(object)
if object:IsA("BasePart") then
return object.Position
elseif object:IsA("Model") then
local primaryPart = object.PrimaryPart
if primaryPart then return primaryPart.Position end
for _, child in ipairs(object:GetChildren()) do
if child:IsA("BasePart") then return child.Position end
end
local success, result = pcall(function() return object:GetPivot().Position end)
if success then return result end
end
local handle = object:FindFirstChild("Handle") or object:FindFirstChildWhichIsA("BasePart")
if handle then return handle.Position end
return Vector3.new(0,0,0)
end
local function getDisplayName(object)
if object:IsA("Model") and object.Name == SPECIFIC_MODEL_NAME then
return "📝 " .. object.Name
elseif object:IsA("Tool") then
return "🛠️ " .. object.Name
end
return object.Name
end
--------------------------------------------------------------------
-- 2. TELEPORT
--------------------------------------------------------------------
local function teleportToObject(object)
if not object or not object.Parent then return false, "Object no longer exists" end
local character = LocalPlayer.Character
if not character then return false, "No character" end
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoidRootPart then return false, "No HumanoidRootPart" end
local objectPos = getObjectPosition(object)
if objectPos == Vector3.new(0,0,0) then return false, "Cannot determine position" end
local distance = (humanoidRootPart.Position - objectPos).Magnitude
if distance > Settings.TELEPORT_RANGE then return false, "Too far (" .. math.floor(distance) .. " studs)" end
teleportQueue[object] = true
humanoidRootPart.CFrame = CFrame.new(objectPos + Vector3.new(0,3,0))
task.wait(0.1)
teleportQueue[object] = nil
return true, "Teleported"
end
local function teleportToNearest()
local character = LocalPlayer.Character
if not character then return false, "No character" end
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoidRootPart then return false, "No HumanoidRootPart" end
local nearestDist = math.huge
local nearestObj = nil
for obj, data in pairs(objectCache) do
if obj and obj.Parent then
local dist = (humanoidRootPart.Position - getObjectPosition(obj)).Magnitude
if dist < nearestDist and dist <= Settings.TELEPORT_RANGE then
nearestDist = dist
nearestObj = obj
end
end
end
if nearestObj then return teleportToObject(nearestObj) end
return false, "No objects in range"
end
--------------------------------------------------------------------
-- 3. NOTIFICATIONS
--------------------------------------------------------------------
local function closeNotification(notifFrame)
for i, data in ipairs(notifications) do
if data.frame == notifFrame then
if data.timerThread then
pcall(function() task.cancel(data.timerThread) end)
data.timerThread = nil
end
local tween = TweenService:Create(notifFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
Position = UDim2.new(1, 320, 1, -90),
BackgroundTransparency = 1
})
tween:Play()
tween.Completed:Wait()
if notifFrame and notifFrame.Parent then notifFrame:Destroy() end
table.remove(notifications, i)
break
end
end
end
local function createSpawnNotification(objectName, object)
local displayName = getDisplayName(object)
local notification = Instance.new("Frame")
notification.Name = "SpawnNotification"
notification.BackgroundColor3 = Settings.NOTIFICATION_COLOR
notification.BackgroundTransparency = 0.9
notification.Size = UDim2.new(0, 300, 0, 90)
notification.Position = UDim2.new(1, 10, 1, -100)
notification.BorderSizePixel = 0
notification.LayoutOrder = #notifications + 1
notification.Active = true
notification.Selectable = true
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 12)
corner.Parent = notification
local glow = Instance.new("Frame")
glow.Name = "Glow"
glow.BackgroundColor3 = Settings.NOTIFICATION_COLOR
glow.BackgroundTransparency = 0.7
glow.Size = UDim2.new(1, 10, 1, 10)
glow.Position = UDim2.new(0, -5, 0, -5)
glow.BorderSizePixel = 0
glow.ZIndex = -1
Instance.new("UICorner", glow).CornerRadius = UDim.new(0, 16)
local timerBar = Instance.new("Frame")
timerBar.Name = "TimerBar"
timerBar.BackgroundColor3 = Color3.fromRGB(255,255,255)
timerBar.BackgroundTransparency = 0.7
timerBar.Size = UDim2.new(1, -20, 0, 3)
timerBar.Position = UDim2.new(0, 10, 1, -5)
timerBar.BorderSizePixel = 0
timerBar.ZIndex = 23
local timerProgress = Instance.new("Frame")
timerProgress.Name = "TimerProgress"
timerProgress.BackgroundColor3 = Settings.NOTIFICATION_COLOR
timerProgress.Size = UDim2.new(1, 0, 1, 0)
timerProgress.BorderSizePixel = 0
timerProgress.ZIndex = 24
timerProgress.Parent = timerBar
local icon = Instance.new("TextLabel")
icon.Name = "Icon"
icon.Text = "✨"
icon.TextColor3 = Settings.TEXT_COLOR
icon.TextSize = 30
icon.Font = Enum.Font.GothamBold
icon.BackgroundTransparency = 1
icon.Size = UDim2.new(0, 40, 0, 40)
icon.Position = UDim2.new(0, 10, 0.5, -20)
local title = Instance.new("TextLabel")
title.Name = "Title"
title.Text = "✨ NEW ITEM SPAWNED"
title.TextColor3 = Settings.TEXT_COLOR
title.TextSize = 16
title.Font = Enum.Font.GothamBold
title.BackgroundTransparency = 1
title.Size = UDim2.new(1, -60, 0, 25)
title.Position = UDim2.new(0, 60, 0, 10)
title.TextXAlignment = Enum.TextXAlignment.Left
local itemName = Instance.new("TextLabel")
itemName.Name = "ItemName"
itemName.Text = displayName
itemName.TextColor3 = Settings.TEXT_COLOR
itemName.TextSize = 18
itemName.Font = Enum.Font.GothamBold
itemName.BackgroundTransparency = 1
itemName.Size = UDim2.new(1, -60, 0, 30)
itemName.Position = UDim2.new(0, 60, 0, 35)
itemName.TextXAlignment = Enum.TextXAlignment.Left
local closeNotifButton = Instance.new("TextButton")
closeNotifButton.Name = "CloseNotificationButton"
closeNotifButton.Text = "✕"
closeNotifButton.TextColor3 = Settings.TEXT_COLOR
closeNotifButton.TextSize = 16
closeNotifButton.Font = Enum.Font.GothamBold
closeNotifButton.BackgroundColor3 = Color3.fromRGB(231, 76, 60)
closeNotifButton.BackgroundTransparency = 0.3
closeNotifButton.Size = UDim2.new(0, 25, 0, 25)
closeNotifButton.Position = UDim2.new(1, -30, 0, 5)
closeNotifButton.BorderSizePixel = 0
closeNotifButton.ZIndex = 22
closeNotifButton.AutoButtonColor = true
Instance.new("UICorner", closeNotifButton).CornerRadius = UDim.new(0, 6)
local teleportButton = Instance.new("TextButton")
teleportButton.Name = "TeleportButton"
teleportButton.Text = "TELEPORT"
teleportButton.TextColor3 = Settings.TEXT_COLOR
teleportButton.TextSize = 14
teleportButton.Font = Enum.Font.GothamBold
teleportButton.BackgroundColor3 = Settings.TELEPORT_COLOR
teleportButton.BackgroundTransparency = 0.2
teleportButton.Size = UDim2.new(0, 100, 0, 30)
teleportButton.Position = UDim2.new(1, -110, 1, -45)
teleportButton.BorderSizePixel = 0
teleportButton.AutoButtonColor = true
Instance.new("UICorner", teleportButton).CornerRadius = UDim.new(0, 8)
local buttonGradient = createGradient(teleportButton, Settings.TELEPORT_COLOR, Color3.fromRGB(230,126,34), 45)
closeNotifButton.MouseButton1Click:Connect(function() closeNotification(notification) end)
teleportButton.MouseEnter:Connect(function()
TweenService:Create(teleportButton, TweenInfo.new(0.2), {BackgroundTransparency=0, Size=UDim2.new(0,110,0,32)}):Play()
end)
teleportButton.MouseLeave:Connect(function()
TweenService:Create(teleportButton, TweenInfo.new(0.2), {BackgroundTransparency=0.2, Size=UDim2.new(0,100,0,30)}):Play()
end)
local tpDebounce = false
teleportButton.MouseButton1Click:Connect(function()
if tpDebounce then return end
tpDebounce = true
local success, msg = teleportToObject(object)
if success then
teleportButton.Text = "✓ SUCCESS"
teleportButton.BackgroundColor3 = Color3.fromRGB(46,204,113)
teleportButton.AutoButtonColor = false
task.wait(1)
teleportButton.Text = "TELEPORT"
teleportButton.BackgroundColor3 = Settings.TELEPORT_COLOR
teleportButton.AutoButtonColor = true
else
local old = teleportButton.Text
teleportButton.Text = msg
teleportButton.BackgroundColor3 = Color3.fromRGB(231,76,60)
teleportButton.AutoButtonColor = false
task.wait(1.5)
teleportButton.Text = old
teleportButton.BackgroundColor3 = Settings.TELEPORT_COLOR
teleportButton.AutoButtonColor = true
end
tpDebounce = false
end)
glow.Parent = notification
timerBar.Parent = notification
icon.Parent = notification
title.Parent = notification
itemName.Parent = notification
closeNotifButton.Parent = notification
teleportButton.Parent = notification
if notificationContainer then notification.Parent = notificationContainer end
notification.Position = UDim2.new(1, 320, 1, -100)
TweenService:Create(notification, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Position = UDim2.new(1, 10, 1, -100)
}):Play()
local notifData = {frame = notification, timer = tick(), teleportButton = teleportButton, timerProgress = timerProgress}
table.insert(notifications, notifData)
notifData.timerThread = task.spawn(function()
local start = tick()
local finish = start + Settings.NOTIFICATION_DURATION
while tick() < finish and notification and notification.Parent do
timerProgress.Size = UDim2.new(1 - (tick()-start)/Settings.NOTIFICATION_DURATION, 0, 1, 0)
task.wait(0.1)
end
if notification and notification.Parent then closeNotification(notification) end
end)
return notification
end
--------------------------------------------------------------------
-- 4. SAVE / LOAD (расширенная версия)
--------------------------------------------------------------------
local function encodeUDim2(udim2)
if not udim2 then return nil end
return {
X = {Scale = udim2.X.Scale, Offset = udim2.X.Offset},
Y = {Scale = udim2.Y.Scale, Offset = udim2.Y.Offset}
}
end
local function decodeUDim2(data)
if not data then return nil end
return UDim2.new(data.X.Scale, data.X.Offset, data.Y.Scale, data.Y.Offset)
end
local function saveSettings()
if not canSaveToFile then
debugPrint("⚠️ Cannot save: file system not available")
return
end
-- Собираем состояния объектов по их полному пути
local objectFavorites = {}
local objectESP = {}
for obj, data in pairs(objectCache) do
if obj and obj.Parent then
local path = obj:GetFullName()
objectFavorites[path] = data.favorite or false
objectESP[path] = data.espEnabled or false
end
end
local settingsData = {
mainTogglePos = mainToggle and encodeUDim2(mainToggle.Position) or nil,
listTogglePos = listToggle and encodeUDim2(listToggle.Position) or nil,
settingsTogglePos = settingsToggle and encodeUDim2(settingsToggle.Position) or nil,
itemListPos = itemListGUI and encodeUDim2(itemListGUI.Position) or nil,
settingsGUIPos = settingsGUI and encodeUDim2(settingsGUI.Position) or nil,
guiEnabled = guiEnabled,
MAX_DISTANCE = Settings.MAX_DISTANCE,
FADE_START_DISTANCE = Settings.FADE_START_DISTANCE,
NOTIFICATION_DURATION = Settings.NOTIFICATION_DURATION,
TELEPORT_RANGE = Settings.TELEPORT_RANGE,
UPDATE_INTERVAL = Settings.UPDATE_INTERVAL,
LIST_UPDATE_INTERVAL = Settings.LIST_UPDATE_INTERVAL,
DEBUG = DEBUG,
-- Сохраняем состояние списка
listFilter = listState.filterType,
listSortMode = listState.sortMode,
listSortAsc = listState.sortAsc,
-- Сохраняем объектные настройки
objectFavorites = objectFavorites,
objectESP = objectESP
}
local jsonData = HttpService:JSONEncode(settingsData)
local success = pcall(function()
writefile(SETTINGS_FILE, jsonData)
end)
if success then
debugPrint("✅ Settings saved")
else
debugPrint("❌ Failed to save settings")
end
end
local function loadSettings()
if not canSaveToFile then return nil end
local success, data = pcall(function()
local json = readfile(SETTINGS_FILE)
if json and json ~= "" then
return HttpService:JSONDecode(json)
end
return nil
end)
if success and data then
debugPrint("✅ Settings loaded")
return data
else
debugPrint("ℹ️ No settings file, using defaults")
return nil
end
end
local function applyLoadedSettings(settingsData)
if not settingsData then return end
if settingsData.mainTogglePos then savedMainTogglePos = decodeUDim2(settingsData.mainTogglePos) end
if settingsData.listTogglePos then savedListTogglePos = decodeUDim2(settingsData.listTogglePos) end
if settingsData.settingsTogglePos then savedSettingsTogglePos = decodeUDim2(settingsData.settingsTogglePos) end
if settingsData.itemListPos then savedItemListGUIPos = decodeUDim2(settingsData.itemListPos) end
if settingsData.settingsGUIPos then savedSettingsGUIPos = decodeUDim2(settingsData.settingsGUIPos) end
if settingsData.MAX_DISTANCE then Settings.MAX_DISTANCE = settingsData.MAX_DISTANCE end
if settingsData.FADE_START_DISTANCE then Settings.FADE_START_DISTANCE = settingsData.FADE_START_DISTANCE end
if settingsData.NOTIFICATION_DURATION then Settings.NOTIFICATION_DURATION = settingsData.NOTIFICATION_DURATION end
if settingsData.TELEPORT_RANGE then Settings.TELEPORT_RANGE = settingsData.TELEPORT_RANGE end
if settingsData.UPDATE_INTERVAL then Settings.UPDATE_INTERVAL = settingsData.UPDATE_INTERVAL end
if settingsData.LIST_UPDATE_INTERVAL then Settings.LIST_UPDATE_INTERVAL = settingsData.LIST_UPDATE_INTERVAL end
if settingsData.guiEnabled ~= nil then guiEnabled = settingsData.guiEnabled end
if settingsData.DEBUG ~= nil then DEBUG = settingsData.DEBUG end
-- Загружаем состояние списка
if settingsData.listFilter then listState.filterType = settingsData.listFilter end
if settingsData.listSortMode then listState.sortMode = settingsData.listSortMode end
if settingsData.listSortAsc ~= nil then listState.sortAsc = settingsData.listSortAsc end
-- Загружаем объектные настройки
if settingsData.objectFavorites then savedObjectFavorites = settingsData.objectFavorites end
if settingsData.objectESP then savedObjectESP = settingsData.objectESP end
end
local saveDebounce = false
local function debouncedSaveSettings()
if not canSaveToFile then return end
if saveDebounce then return end
saveDebounce = true
task.delay(1, function()
saveSettings()
saveDebounce = false
end)
end
--------------------------------------------------------------------
-- 5. ESP CARDS
--------------------------------------------------------------------
local function createInfoCard(object)
if not guiEnabled then return nil end
local success, container = pcall(function()
local container = Instance.new("BillboardGui")
container.Name = "ObjectInfoCard"
container.AlwaysOnTop = true
container.Size = UDim2.new(0, 320, 0, 140)
container.StudsOffset = Vector3.new(0, 3, 0)
container.MaxDistance = Settings.MAX_DISTANCE
container.Enabled = true
container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
container.Active = true
local adornee
if object:IsA("BasePart") then adornee = object
elseif object:IsA("Model") then adornee = object.PrimaryPart or object:FindFirstChildWhichIsA("BasePart")
elseif object:IsA("Tool") then adornee = object:FindFirstChild("Handle") or object:FindFirstChildWhichIsA("BasePart") end
if adornee then container.Adornee = adornee end
local main = Instance.new("Frame")
main.Name = "MainFrame"
main.BackgroundColor3 = Settings.BACKGROUND_COLOR
main.BackgroundTransparency = Settings.BACKGROUND_TRANSPARENCY
main.Size = UDim2.new(1,0,1,0)
main.BorderSizePixel = 0
main.ZIndex = 1
Instance.new("UICorner", main).CornerRadius = UDim.new(0,12)
local glow = Instance.new("Frame")
glow.BackgroundColor3 = Settings.GLOW_COLOR
glow.BackgroundTransparency = 0.9
glow.Size = UDim2.new(1,10,1,10)
glow.Position = UDim2.new(0,-5,0,-5)
glow.BorderSizePixel = 0
glow.ZIndex = 0
Instance.new("UICorner", glow).CornerRadius = UDim.new(0,16)
glow.Parent = main
local header = Instance.new("Frame")
header.BackgroundColor3 = Settings.PRIMARY_COLOR
header.Size = UDim2.new(1,0,0,40)
header.BorderSizePixel = 0
header.ZIndex = 2
Instance.new("UICorner", header).CornerRadius = UDim.new(0,12,0,0)
createGradient(header, Settings.PRIMARY_COLOR, Settings.SECONDARY_COLOR, 45)
local icon = Instance.new("TextLabel")
icon.Text = object:IsA("Tool") and "🛠️" or "📝"
icon.TextColor3 = Settings.TEXT_COLOR
icon.TextSize = 28
icon.Font = Enum.Font.GothamBold
icon.BackgroundTransparency = 1
icon.Size = UDim2.new(0,28,0,28)
icon.Position = UDim2.new(0,10,0.5,-14)
icon.ZIndex = 3
icon.Parent = header
local nameLabel = Instance.new("TextLabel")
nameLabel.Text = getDisplayName(object)
nameLabel.TextColor3 = Settings.TEXT_COLOR
nameLabel.TextSize = 18
nameLabel.Font = Enum.Font.GothamBold
nameLabel.BackgroundTransparency = 1
nameLabel.Size = UDim2.new(1,-50,1,0)
nameLabel.Position = UDim2.new(0,50,0,0)
nameLabel.TextXAlignment = Enum.TextXAlignment.Left
nameLabel.ZIndex = 3
nameLabel.Parent = header
header.Parent = main
local content = Instance.new("Frame")
content.BackgroundTransparency = 1
content.Size = UDim2.new(1,-20,0,90)
content.Position = UDim2.new(0,10,0,45)
content.ZIndex = 2
local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0,8)
layout.HorizontalAlignment = Enum.HorizontalAlignment.Left
layout.VerticalAlignment = Enum.VerticalAlignment.Top
layout.Parent = content
-- Type row
local typeRow = Instance.new("Frame")
typeRow.BackgroundTransparency = 1
typeRow.Size = UDim2.new(1,0,0,24)
local typeIcon = Instance.new("TextLabel")
typeIcon.Text = "📦"
typeIcon.TextColor3 = Settings.TEXT_COLOR
typeIcon.TextSize = 20
typeIcon.Font = Enum.Font.GothamBold
typeIcon.BackgroundTransparency = 1
typeIcon.Size = UDim2.new(0,20,0,20)
typeIcon.Position = UDim2.new(0,0,0.5,-10)
typeIcon.Parent = typeRow
local typeLabel = Instance.new("TextLabel")
typeLabel.Text = "Type: "..object.ClassName
typeLabel.TextColor3 = Color3.fromRGB(200,200,200)
typeLabel.TextSize = 14
typeLabel.Font = Enum.Font.Gotham
typeLabel.BackgroundTransparency = 1
typeLabel.Size = UDim2.new(1,-30,1,0)
typeLabel.Position = UDim2.new(0,30,0,0)
typeLabel.TextXAlignment = Enum.TextXAlignment.Left
typeLabel.Parent = typeRow
typeRow.Parent = content
-- Distance row
local distRow = Instance.new("Frame")
distRow.BackgroundTransparency = 1
distRow.Size = UDim2.new(1,0,0,24)
local distIcon = Instance.new("TextLabel")
distIcon.Text = "📍"
distIcon.TextColor3 = Settings.TEXT_COLOR
distIcon.TextSize = 20
distIcon.Font = Enum.Font.GothamBold
distIcon.BackgroundTransparency = 1
distIcon.Size = UDim2.new(0,20,0,20)
distIcon.Position = UDim2.new(0,0,0.5,-10)
distIcon.Parent = distRow
local distLabel = Instance.new("TextLabel")
distLabel.Name = "DistanceLabel"
distLabel.Text = "Distance: 0 studs"
distLabel.TextColor3 = Color3.fromRGB(200,200,200)
distLabel.TextSize = 14
distLabel.Font = Enum.Font.Gotham
distLabel.BackgroundTransparency = 1
distLabel.Size = UDim2.new(1,-30,1,0)
distLabel.Position = UDim2.new(0,30,0,0)
distLabel.TextXAlignment = Enum.TextXAlignment.Left
distLabel.Parent = distRow
distRow.Parent = content
local quickTeleport = Instance.new("TextButton")
quickTeleport.Name = "QuickTeleport"
quickTeleport.Text = "TELEPORT"
quickTeleport.TextColor3 = Settings.TEXT_COLOR
quickTeleport.TextSize = 12
quickTeleport.Font = Enum.Font.GothamBold
quickTeleport.BackgroundColor3 = Settings.TELEPORT_COLOR
quickTeleport.BackgroundTransparency = 0.3
quickTeleport.Size = UDim2.new(0,80,0,25)
quickTeleport.Position = UDim2.new(1,-85,1,-30)
quickTeleport.BorderSizePixel = 0
quickTeleport.ZIndex = 3
quickTeleport.AutoButtonColor = true
Instance.new("UICorner", quickTeleport).CornerRadius = UDim.new(0,6)
local tpDeb = false
quickTeleport.MouseButton1Click:Connect(function()
if tpDeb then return end
tpDeb = true
local ok, msg = teleportToObject(object)
if ok then
quickTeleport.Text = "✓ DONE"
quickTeleport.BackgroundColor3 = Color3.fromRGB(46,204,113)
quickTeleport.AutoButtonColor = false
task.wait(0.5)
quickTeleport.Text = "TELEPORT"
quickTeleport.BackgroundColor3 = Settings.TELEPORT_COLOR
quickTeleport.AutoButtonColor = true
else
quickTeleport.Text = msg
quickTeleport.BackgroundColor3 = Color3.fromRGB(231,76,60)
quickTeleport.AutoButtonColor = false
task.wait(1.5)
quickTeleport.Text = "TELEPORT"
quickTeleport.BackgroundColor3 = Settings.TELEPORT_COLOR
quickTeleport.AutoButtonColor = true
end
tpDeb = false
end)
quickTeleport.Parent = main
local status = Instance.new("Frame")
status.Name = "StatusIndicator"
status.BackgroundColor3 = Color3.fromRGB(0,255,127)
status.Size = UDim2.new(0,8,0,8)
status.Position = UDim2.new(1,-100,0,10)
status.BorderSizePixel = 0
status.ZIndex = 3
Instance.new("UICorner", status).CornerRadius = UDim.new(1,0)
local statusTween = TweenService:Create(status, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), {BackgroundTransparency = 0.5})
statusTween:Play()
status.Parent = main
content.Parent = main
main.Parent = container
container.Size = UDim2.new(0,10,0,10)
main.BackgroundTransparency = 1
TweenService:Create(container, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = UDim2.new(0,320,0,140)}):Play()
TweenService:Create(main, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {BackgroundTransparency = Settings.BACKGROUND_TRANSPARENCY}):Play()
container.Parent = Camera
return container
end)
if success then
return container
else
debugPrint("❌ Failed to create ESP for", object.Name)
return nil
end
end
--------------------------------------------------------------------
-- 6. ESP & FAVORITE MANAGEMENT
--------------------------------------------------------------------
local function setESPEnabled(obj, enabled)
local data = objectCache[obj]
if not data then return end
data.espEnabled = enabled
if data.esp then
data.esp.Enabled = enabled and guiEnabled
end
if itemListVisible then
pcall(updateItemList)
end
debouncedSaveSettings()
end
local function toggleFavorite(obj)
local data = objectCache[obj]
if not data then return end
data.favorite = not data.favorite
if itemListVisible then
pcall(updateItemList)
end
debouncedSaveSettings()
end
--------------------------------------------------------------------
-- 7. UI COMPONENTS (INPUTS, TOGGLES, SLIDERS)
--------------------------------------------------------------------
local function createValueInput(parent, currentValue, minValue, maxValue, suffix, callback)
local frame = Instance.new("Frame")
frame.Name = "ValueInputFrame"
frame.BackgroundTransparency = 1
frame.Size = UDim2.new(0, 120, 0, 30)
local box = Instance.new("TextBox")
box.Name = "ValueInputBox"
box.Text = tostring(currentValue)
box.PlaceholderText = "Enter value..."
box.TextColor3 = Settings.TEXT_COLOR
box.PlaceholderColor3 = Color3.fromRGB(150,150,150)
box.TextSize = 14
box.Font = Enum.Font.Gotham
box.BackgroundColor3 = Color3.fromRGB(40,40,50)
box.BackgroundTransparency = 0.2
box.Size = UDim2.new(1,0,1,0)
box.BorderSizePixel = 0
Instance.new("UICorner", box).CornerRadius = UDim.new(0,6)
Instance.new("UIPadding", box).PaddingLeft = UDim.new(0,8)
box.FocusLost:Connect(function()
local val = tonumber(box.Text)
if val then
val = math.clamp(val, minValue, maxValue)
box.Text = tostring(val)
if callback then callback(val) end
debouncedSaveSettings()
else
box.Text = tostring(currentValue)
end
end)
box.Parent = frame
return frame
end
local function createToggleSetting(parent, labelText, value, callback)
local frame = Instance.new("Frame")
frame.Name = labelText.."Toggle"
frame.BackgroundTransparency = 1
frame.Size = UDim2.new(1,0,0,50)
local label = Instance.new("TextLabel")
label.Text = labelText
label.TextColor3 = Settings.TEXT_COLOR
label.TextSize = 16
label.Font = Enum.Font.GothamBold
label.BackgroundTransparency = 1
label.Size = UDim2.new(1,-100,0,25)
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = frame
local btn = Instance.new("TextButton")
btn.Text = value and "ON" or "OFF"
btn.TextColor3 = Settings.TEXT_COLOR
btn.TextSize = 14
btn.Font = Enum.Font.GothamBold
btn.BackgroundColor3 = value and Color3.fromRGB(46,204,113) or Color3.fromRGB(231,76,60)
btn.BackgroundTransparency = 0.3
btn.Size = UDim2.new(0,80,0,30)
btn.Position = UDim2.new(1,-80,0,0)
btn.BorderSizePixel = 0
btn.AutoButtonColor = true
Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8)
btn.MouseButton1Click:Connect(function()
local new = not value
btn.Text = new and "ON" or "OFF"
btn.BackgroundColor3 = new and Color3.fromRGB(46,204,113) or Color3.fromRGB(231,76,60)
value = new
if callback then callback(new) end
debouncedSaveSettings()
end)
btn.Parent = frame
return frame
end
local function createSettingSliderWithInput(labelText, value, minValue, maxValue, suffix, callback)
local frame = Instance.new("Frame")
frame.Name = labelText.."Slider"
frame.BackgroundTransparency = 1
frame.Size = UDim2.new(1,0,0,80)
local label = Instance.new("TextLabel")
label.Text = labelText
label.TextColor3 = Settings.TEXT_COLOR
label.TextSize = 16
label.Font = Enum.Font.GothamBold
label.BackgroundTransparency = 1
label.Size = UDim2.new(1,0,0,25)
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = frame
local input = createValueInput(frame, value, minValue, maxValue, suffix, function(newVal)
local pct = (newVal - minValue) / (maxValue - minValue)
fill.Size = UDim2.new(pct, 0, 1, 0)
btn.Position = UDim2.new(pct, -10, 0.5, -10)
valLabel.Text = tostring(newVal)..suffix
if callback then callback(newVal) end
debouncedSaveSettings()
end)
input.Position = UDim2.new(1, -120, 0, 0)
input.Size = UDim2.new(0, 120, 0, 30)
input.Parent = frame
local valLabel = Instance.new("TextLabel")
valLabel.Name = "ValueLabel"
valLabel.Text = tostring(value)..suffix
valLabel.TextColor3 = Settings.PRIMARY_COLOR
valLabel.TextSize = 16
valLabel.Font = Enum.Font.GothamBold
valLabel.BackgroundTransparency = 1
valLabel.Size = UDim2.new(0,120,0,25)
valLabel.Position = UDim2.new(0,0,0,25)
valLabel.TextXAlignment = Enum.TextXAlignment.Left
valLabel.Parent = frame
local bg = Instance.new("Frame")
bg.Name = "SliderBackground"
bg.BackgroundColor3 = Color3.fromRGB(40,40,50)
bg.BackgroundTransparency = 0.2
bg.Size = UDim2.new(1,0,0,10)
bg.Position = UDim2.new(0,0,0,55)
bg.BorderSizePixel = 0
Instance.new("UICorner", bg).CornerRadius = UDim.new(1,0)
local fill = Instance.new("Frame")
fill.Name = "SliderFill"
fill.BackgroundColor3 = Settings.PRIMARY_COLOR
fill.Size = UDim2.new((value-minValue)/(maxValue-minValue),0,1,0)
fill.BorderSizePixel = 0
Instance.new("UICorner", fill).CornerRadius = UDim.new(1,0)
createGradient(fill, Settings.PRIMARY_COLOR, Settings.SECONDARY_COLOR, 0)
local btn = Instance.new("TextButton")
btn.Name = "SliderButton"
btn.Text = ""
btn.BackgroundColor3 = Color3.fromRGB(255,255,255)
btn.Size = UDim2.new(0,20,0,20)
btn.Position = UDim2.new((value-minValue)/(maxValue-minValue), -10, 0.5, -10)
btn.BorderSizePixel = 0
btn.ZIndex = 5
btn.AutoButtonColor = false
Instance.new("UICorner", btn).CornerRadius = UDim.new(1,0)
local dragging = false
local function updateFromMouse(x)
local relX = math.clamp(x - bg.AbsolutePosition.X, 0, bg.AbsoluteSize.X)
local pct = relX / bg.AbsoluteSize.X
local newVal = minValue + pct * (maxValue - minValue)
if suffix == " studs" then newVal = math.floor(newVal)
elseif suffix == " sec" then newVal = math.floor(newVal)
elseif suffix == " ms" then newVal = math.floor(newVal/10)*10 end
newVal = math.clamp(newVal, minValue, maxValue)
local fillPct = (newVal - minValue) / (maxValue - minValue)
fill.Size = UDim2.new(fillPct, 0, 1, 0)
btn.Position = UDim2.new(fillPct, -10, 0.5, -10)
valLabel.Text = tostring(newVal)..suffix
local inp = input:FindFirstChild("ValueInputBox")
if inp then inp.Text = tostring(newVal) end
if callback then callback(newVal) end
end
btn.MouseButton1Down:Connect(function() dragging = true end)
bg.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
updateFromMouse(i.Position.X)
end
end)
UserInputService.InputChanged:Connect(function(i)
if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then
updateFromMouse(i.Position.X)
end
end)
UserInputService.InputEnded:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 and dragging then
dragging = false
debouncedSaveSettings()
end
end)
fill.Parent = bg
btn.Parent = bg
bg.Parent = frame
return frame
end
--------------------------------------------------------------------
-- 8. LIST FUNCTIONS
--------------------------------------------------------------------
function updateListToggleIcon()
if not listToggle then return end
local total = 0
for _ in pairs(objectCache) do total = total + 1 end
listToggle.Text = "📋 "..total
end
function updateItemList()
if not itemListGUI or not itemListGUI.Visible then return end
local container = itemListGUI:FindFirstChild("ItemsContainer")
local countLabel = itemListGUI:FindFirstChild("ItemCount")
if not container or not countLabel then return end
-- Clear container
for _, c in ipairs(container:GetChildren()) do
if c:IsA("Frame") then
pcall(function() c:Destroy() end)
end
end
-- Collect items
local items = {}
for obj, data in pairs(objectCache) do
if obj and obj.Parent then
data.position = getObjectPosition(obj)
data.className = obj.ClassName
data.displayName = getDisplayName(obj)
table.insert(items, {
obj = obj,
data = data
})
else
if data and data.esp then pcall(function() data.esp:Destroy() end) end
objectCache[obj] = nil
end
end
-- Apply filters
local filtered = {}
for _, it in ipairs(items) do
local isTool = it.obj:IsA("Tool")
local isNote = it.obj:IsA("Model") and it.obj.Name == SPECIFIC_MODEL_NAME
if listState.filterType == "all" then
table.insert(filtered, it)
elseif listState.filterType == "tool" and isTool then
table.insert(filtered, it)
elseif listState.filterType == "note" and isNote then
table.insert(filtered, it)
end
end
-- Apply search
if listState.searchText and listState.searchText ~= "" then
local search = string.lower(listState.searchText)
local searchFiltered = {}
for _, it in ipairs(filtered) do
local name = string.lower(it.data.displayName or "")
if string.find(name, search, 1, true) then
table.insert(searchFiltered, it)
end
end
filtered = searchFiltered
end
-- Sorting
local root = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
local sortSuccess = pcall(function()
table.sort(filtered, function(a, b)
local da, db = a.data, b.data
local distA = root and (root.Position - da.position).Magnitude or math.huge
local distB = root and (root.Position - db.position).Magnitude or math.huge
if listState.sortMode == "name" then
local nameA = da.displayName or ""
local nameB = db.displayName or ""
if listState.sortAsc then
return nameA < nameB
else
return nameA > nameB
end
elseif listState.sortMode == "distance" then
if listState.sortAsc then
return distA < distB
else
return distA > distB
end
elseif listState.sortMode == "favorite" then
if da.favorite ~= db.favorite then
return da.favorite and not db.favorite
else
return distA < distB
end
else
return distA < distB
end
end)
end)
if not sortSuccess then
debugPrint("Sort failed, using unsorted")
end
-- Update count
local total = 0
for _ in pairs(objectCache) do total = total + 1 end
countLabel.Text = string.format("Items: %d (showing %d)", total, #filtered)
updateListToggleIcon()
-- Create cards
for i, it in ipairs(filtered) do
local obj = it.obj
local data = it.data
local dist = root and (root.Position - data.position).Magnitude or 0
local distText = root and string.format("%.0f studs", dist) or "Unknown"
local isTool = obj:IsA("Tool")
local icon = isTool and "🛠️" or "📝"
local card = Instance.new("Frame")
card.Name = "ItemCard"
card.BackgroundColor3 = Color3.fromRGB(40,50,60)
card.BackgroundTransparency = 0.1
card.Size = UDim2.new(1, -20, 0, 60)
card.BorderSizePixel = 0
card.LayoutOrder = i
Instance.new("UICorner", card).CornerRadius = UDim.new(0, 8)
-- Icon
local iconLabel = Instance.new("TextLabel")
iconLabel.Text = icon
iconLabel.TextColor3 = Settings.TEXT_COLOR
iconLabel.TextSize = 24
iconLabel.Font = Enum.Font.GothamBold
iconLabel.BackgroundTransparency = 1
iconLabel.Size = UDim2.new(0, 30, 0, 30)
iconLabel.Position = UDim2.new(0, 5, 0.5, -15)
iconLabel.Parent = card
-- Name
local nameLabel = Instance.new("TextLabel")
nameLabel.Text = data.displayName or obj.Name
nameLabel.TextColor3 = Settings.TEXT_COLOR
nameLabel.TextSize = 14
nameLabel.Font = Enum.Font.GothamBold
nameLabel.BackgroundTransparency = 1
nameLabel.Size = UDim2.new(0, 150, 0, 30)
nameLabel.Position = UDim2.new(0, 40, 0.5, -15)
nameLabel.TextXAlignment = Enum.TextXAlignment.Left
nameLabel.TextTruncate = Enum.TextTruncate.AtEnd
nameLabel.Parent = card
-- Distance
local distLabel = Instance.new("TextLabel")
distLabel.Text = distText
distLabel.TextColor3 = Settings.PRIMARY_COLOR
distLabel.TextSize = 12
distLabel.Font = Enum.Font.Gotham
distLabel.BackgroundTransparency = 1
distLabel.Size = UDim2.new(0, 80, 0, 30)
distLabel.Position = UDim2.new(0, 200, 0.5, -15)
distLabel.Parent = card
-- Favorite button
local favBtn = Instance.new("TextButton")
favBtn.Text = data.favorite and "★" or "☆"
favBtn.TextColor3 = data.favorite and Settings.FAVORITE_COLOR or Color3.fromRGB(150,150,150)
favBtn.TextSize = 20
favBtn.Font = Enum.Font.GothamBold
favBtn.BackgroundTransparency = 1
favBtn.Size = UDim2.new(0, 30, 0, 30)
favBtn.Position = UDim2.new(0, 290, 0.5, -15)
favBtn.ZIndex = 23
favBtn.AutoButtonColor = false
favBtn.Parent = card
favBtn.MouseButton1Click:Connect(function()
toggleFavorite(obj)
end)
-- ESP button
local espBtn = Instance.new("TextButton")
espBtn.Text = "👁️"
espBtn.TextColor3 = data.esp and data.espEnabled and Settings.ESP_ENABLED_COLOR or Settings.ESP_DISABLED_COLOR
espBtn.TextSize = 20
espBtn.Font = Enum.Font.GothamBold
espBtn.BackgroundTransparency = 1
espBtn.Size = UDim2.new(0, 30, 0, 30)
espBtn.Position = UDim2.new(0, 330, 0.5, -15)
espBtn.ZIndex = 23
espBtn.AutoButtonColor = false
espBtn.Parent = card
espBtn.MouseButton1Click:Connect(function()
if data.esp then
setESPEnabled(obj, not data.espEnabled)
else
local esp = createInfoCard(obj)
if esp then
data.esp = esp
data.espEnabled = true
esp.Enabled = guiEnabled
end
end
espBtn.TextColor3 = data.esp and data.espEnabled and Settings.ESP_ENABLED_COLOR or Settings.ESP_DISABLED_COLOR
end)
-- Teleport button
local tpBtn = Instance.new("TextButton")
tpBtn.Text = "TP"
tpBtn.TextColor3 = Settings.TEXT_COLOR
tpBtn.TextSize = 12
tpBtn.Font = Enum.Font.GothamBold
tpBtn.BackgroundColor3 = Settings.TELEPORT_COLOR
tpBtn.BackgroundTransparency = 0.2
tpBtn.Size = UDim2.new(0, 40, 0, 30)
tpBtn.Position = UDim2.new(1, -50, 0.5, -15)
tpBtn.BorderSizePixel = 0
tpBtn.ZIndex = 22
tpBtn.AutoButtonColor = true
Instance.new("UICorner", tpBtn).CornerRadius = UDim.new(0, 6)
local deb = false
tpBtn.MouseButton1Click:Connect(function()
if deb then return end
deb = true
teleportToObject(obj)
deb = false
end)
tpBtn.Parent = card
card.Parent = container
end
end
--------------------------------------------------------------------
-- 9. SETTINGS WINDOW
--------------------------------------------------------------------
local function createSettingsGUI()
if settingsGUI and settingsGUI.Parent then settingsGUI:Destroy() end
settingsGUI = Instance.new("Frame")
settingsGUI.Name = "SettingsGUI"
settingsGUI.BackgroundColor3 = Settings.LIST_COLOR
settingsGUI.BackgroundTransparency = 0.2
settingsGUI.Size = UDim2.new(0,450,0,650)
settingsGUI.Position = savedSettingsGUIPos or UDim2.new(0.5,-225,0.5,-325)
settingsGUI.BorderSizePixel = 0
settingsGUI.Visible = false
settingsGUI.ZIndex = 20
Instance.new("UICorner", settingsGUI).CornerRadius = UDim.new(0,12)
-- Title bar
local titleBar = Instance.new("Frame")
titleBar.Name = "TitleBar"
titleBar.BackgroundColor3 = Settings.PRIMARY_COLOR
titleBar.Size = UDim2.new(1,0,0,50)
titleBar.BorderSizePixel = 0
titleBar.ZIndex = 21
Instance.new("UICorner", titleBar).CornerRadius = UDim.new(0,12,0,0)
createGradient(titleBar, Settings.PRIMARY_COLOR, Settings.SECONDARY_COLOR, 45)
local closeBtn = Instance.new("TextButton")
closeBtn.Text = "✕"
closeBtn.TextColor3 = Settings.TEXT_COLOR
closeBtn.TextSize = 24
closeBtn.Font = Enum.Font.GothamBold
closeBtn.BackgroundColor3 = Color3.fromRGB(231,76,60)
closeBtn.BackgroundTransparency = 0.3
closeBtn.Size = UDim2.new(0,40,0,40)
closeBtn.Position = UDim2.new(1,-50,0,5)
closeBtn.BorderSizePixel = 0
closeBtn.ZIndex = 22
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0,8)
closeBtn.MouseButton1Click:Connect(function() toggleSettings(false) end)
closeBtn.Parent = titleBar
local container = Instance.new("ScrollingFrame")
container.Name = "SettingsContainer"
container.BackgroundTransparency = 1
container.Size = UDim2.new(1,-20,1,-100)
container.Position = UDim2.new(0,10,0,60)
container.BorderSizePixel = 0
container.ScrollBarThickness = 8
container.AutomaticCanvasSize = Enum.AutomaticSize.Y
container.ZIndex = 21
Instance.new("UIListLayout", container).Padding = UDim.new(0,15)
-- Sliders
createSettingSliderWithInput("Max Distance", Settings.MAX_DISTANCE, 100, 15000, " studs", function(v) Settings.MAX_DISTANCE = v end).Parent = container
createSettingSliderWithInput("Fade Start", Settings.FADE_START_DISTANCE, 50, 10000, " studs", function(v) Settings.FADE_START_DISTANCE = v end).Parent = container
createSettingSliderWithInput("Notif Duration", Settings.NOTIFICATION_DURATION, 1, 60, " sec", function(v) Settings.NOTIFICATION_DURATION = v end).Parent = container
createSettingSliderWithInput("Teleport Range", Settings.TELEPORT_RANGE, 10, 5000, " studs", function(v) Settings.TELEPORT_RANGE = v end).Parent = container
createSettingSliderWithInput("ESP Update (ms)", Settings.UPDATE_INTERVAL * 1000, 10, 5000, " ms", function(v) Settings.UPDATE_INTERVAL = v/1000 end).Parent = container
createSettingSliderWithInput("List Refresh (ms)", Settings.LIST_UPDATE_INTERVAL * 1000, 100, 5000, " ms", function(v) Settings.LIST_UPDATE_INTERVAL = v/1000 end).Parent = container
createToggleSetting(container, "Debug Mode", DEBUG, function(v) DEBUG = v end).Parent = container
-- Save button
local saveBtn = Instance.new("TextButton")
saveBtn.Text = "💾 SAVE SETTINGS"
saveBtn.TextColor3 = Settings.TEXT_COLOR
saveBtn.TextSize = 16
saveBtn.Font = Enum.Font.GothamBold
saveBtn.BackgroundColor3 = Color3.fromRGB(46,204,113)
saveBtn.BackgroundTransparency = 0.2
saveBtn.Size = UDim2.new(1,-40,0,40)
saveBtn.Position = UDim2.new(0,20,1,-60)
saveBtn.BorderSizePixel = 0
saveBtn.ZIndex = 22
Instance.new("UICorner", saveBtn).CornerRadius = UDim.new(0,8)
saveBtn.MouseButton1Click:Connect(saveSettings)
saveBtn.Parent = settingsGUI
-- Drag
local dragging, dragStart, startPos = false, nil, nil
titleBar.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = i.Position
startPos = settingsGUI.Position
i.Changed:Connect(function()
if i.UserInputState == Enum.UserInputState.End then
dragging = false
savedSettingsGUIPos = settingsGUI.Position
debouncedSaveSettings()
end
end)
end
end)
titleBar.InputChanged:Connect(function(i)
if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then
local delta = i.Position - dragStart
settingsGUI.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
titleBar.Parent = settingsGUI
container.Parent = settingsGUI
settingsGUI.Parent = screenGui
return settingsGUI
end
--------------------------------------------------------------------
-- 10. ITEM LIST GUI
--------------------------------------------------------------------
local function createItemListGUI()
if itemListGUI and itemListGUI.Parent then itemListGUI:Destroy() end
itemListGUI = Instance.new("Frame")
itemListGUI.Name = "ItemListGUI"
itemListGUI.BackgroundColor3 = Settings.LIST_COLOR
itemListGUI.BackgroundTransparency = 0.2
itemListGUI.Size = UDim2.new(0, 650, 0, 500)
itemListGUI.Position = savedItemListGUIPos or UDim2.new(0.5, -325, 0.5, -250)
itemListGUI.BorderSizePixel = 0
itemListGUI.Visible = false
itemListGUI.ZIndex = 20
Instance.new("UICorner", itemListGUI).CornerRadius = UDim.new(0, 12)
-- Title bar
local titleBar = Instance.new("Frame")
titleBar.Name = "TitleBar"
titleBar.BackgroundColor3 = Settings.PRIMARY_COLOR
titleBar.Size = UDim2.new(1, 0, 0, 50)
titleBar.BorderSizePixel = 0
titleBar.ZIndex = 21
Instance.new("UICorner", titleBar).CornerRadius = UDim.new(0, 12, 0, 0)
createGradient(titleBar, Settings.PRIMARY_COLOR, Settings.SECONDARY_COLOR, 45)
local title = Instance.new("TextLabel")
title.Text = "TRACKED ITEMS"
title.TextColor3 = Settings.TEXT_COLOR
title.TextSize = 22
title.Font = Enum.Font.GothamBold
title.BackgroundTransparency = 1
title.Size = UDim2.new(1, -100, 1, 0)
title.Position = UDim2.new(0, 20, 0, 0)
title.TextXAlignment = Enum.TextXAlignment.Left
title.ZIndex = 23
title.Parent = titleBar
local closeBtn = Instance.new("TextButton")
closeBtn.Text = "✕"
closeBtn.TextColor3 = Settings.TEXT_COLOR
closeBtn.TextSize = 24
closeBtn.Font = Enum.Font.GothamBold
closeBtn.BackgroundColor3 = Color3.fromRGB(231, 76, 60)
closeBtn.BackgroundTransparency = 0.3
closeBtn.Size = UDim2.new(0, 40, 0, 40)
closeBtn.Position = UDim2.new(1, -50, 0, 5)
closeBtn.BorderSizePixel = 0
closeBtn.ZIndex = 22
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 8)
closeBtn.MouseButton1Click:Connect(function() toggleItemList(false) end)
closeBtn.Parent = titleBar
titleBar.Parent = itemListGUI
-- Filter bar
local filterBar = Instance.new("Frame")
filterBar.Name = "FilterBar"
filterBar.BackgroundTransparency = 1
filterBar.Size = UDim2.new(1, -20, 0, 40)
filterBar.Position = UDim2.new(0, 10, 0, 55)
filterBar.ZIndex = 21
filterBar.Parent = itemListGUI
local filterAll = Instance.new("TextButton")
filterAll.Name = "FilterAll"
filterAll.Text = "📋 All"
filterAll.TextColor3 = Settings.TEXT_COLOR
filterAll.TextSize = 14
filterAll.Font = Enum.Font.GothamBold
filterAll.BackgroundColor3 = Settings.PRIMARY_COLOR
filterAll.BackgroundTransparency = 0.3
filterAll.Size = UDim2.new(0, 80, 0, 30)
filterAll.Position = UDim2.new(0, 0, 0.5, -15)
filterAll.BorderSizePixel = 0
filterAll.ZIndex = 22
filterAll.AutoButtonColor = true
Instance.new("UICorner", filterAll).CornerRadius = UDim.new(0, 8)
filterAll.Parent = filterBar
local filterTools = Instance.new("TextButton")
filterTools.Name = "FilterTools"
filterTools.Text = "🛠️ Tools"
filterTools.TextColor3 = Settings.TEXT_COLOR
filterTools.TextSize = 14
filterTools.Font = Enum.Font.GothamBold
filterTools.BackgroundColor3 = Settings.SECONDARY_COLOR
filterTools.BackgroundTransparency = 0.3
filterTools.Size = UDim2.new(0, 90, 0, 30)
filterTools.Position = UDim2.new(0, 90, 0.5, -15)
filterTools.BorderSizePixel = 0
filterTools.ZIndex = 22
filterTools.AutoButtonColor = true
Instance.new("UICorner", filterTools).CornerRadius = UDim.new(0, 8)
filterTools.Parent = filterBar
local filterNotes = Instance.new("TextButton")
filterNotes.Name = "FilterNotes"
filterNotes.Text = "📝 Notes"
filterNotes.TextColor3 = Settings.TEXT_COLOR
filterNotes.TextSize = 14
filterNotes.Font = Enum.Font.GothamBold
filterNotes.BackgroundColor3 = Settings.TELEPORT_COLOR
filterNotes.BackgroundTransparency = 0.3
filterNotes.Size = UDim2.new(0, 90, 0, 30)
filterNotes.Position = UDim2.new(0, 190, 0.5, -15)
filterNotes.BorderSizePixel = 0
filterNotes.ZIndex = 22
filterNotes.AutoButtonColor = true
Instance.new("UICorner", filterNotes).CornerRadius = UDim.new(0, 8)
filterNotes.Parent = filterBar
local refreshBtn = Instance.new("TextButton")
refreshBtn.Name = "RefreshButton"
refreshBtn.Text = "🔄"
refreshBtn.TextColor3 = Settings.TEXT_COLOR
refreshBtn.TextSize = 20
refreshBtn.Font = Enum.Font.GothamBold
refreshBtn.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
refreshBtn.BackgroundTransparency = 0.3
refreshBtn.Size = UDim2.new(0, 40, 0, 30)
refreshBtn.Position = UDim2.new(1, -170, 0.5, -15)
refreshBtn.BorderSizePixel = 0
refreshBtn.ZIndex = 22
refreshBtn.AutoButtonColor = true
Instance.new("UICorner", refreshBtn).CornerRadius = UDim.new(0, 8)
refreshBtn.MouseButton1Click:Connect(function()
pcall(findAndSetupObjects)
pcall(updateItemList)
end)
refreshBtn.Parent = filterBar
local searchBar = Instance.new("TextBox")
searchBar.Name = "SearchBar"
searchBar.PlaceholderText = "🔍 Search..."
searchBar.Text = ""
searchBar.TextColor3 = Settings.TEXT_COLOR
searchBar.PlaceholderColor3 = Color3.fromRGB(150,150,150)
searchBar.TextSize = 14
searchBar.Font = Enum.Font.Gotham
searchBar.BackgroundColor3 = Color3.fromRGB(40,40,50)
searchBar.BackgroundTransparency = 0.2
searchBar.Size = UDim2.new(0, 120, 0, 30)
searchBar.Position = UDim2.new(1, -120, 0.5, -15)
searchBar.BorderSizePixel = 0
searchBar.ZIndex = 21
Instance.new("UICorner", searchBar).CornerRadius = UDim.new(0, 8)
Instance.new("UIPadding", searchBar).PaddingLeft = UDim.new(0, 10)
searchBar:GetPropertyChangedSignal("Text"):Connect(function()
listState.searchText = searchBar.Text
pcall(updateItemList)
end)
searchBar.Parent = filterBar
-- Sort bar
local sortBar = Instance.new("Frame")
sortBar.Name = "SortBar"
sortBar.BackgroundColor3 = Color3.fromRGB(40, 50, 60)
sortBar.BackgroundTransparency = 0.5
sortBar.Size = UDim2.new(1, -20, 0, 30)
sortBar.Position = UDim2.new(0, 10, 0, 100)
sortBar.BorderSizePixel = 0
sortBar.ZIndex = 21
Instance.new("UICorner", sortBar).CornerRadius = UDim.new(0, 6)
sortBar.Parent = itemListGUI
local iconHeader = Instance.new("TextLabel")
iconHeader.Text = "📦"
iconHeader.TextColor3 = Color3.fromRGB(200,200,200)
iconHeader.TextSize = 18
iconHeader.Font = Enum.Font.GothamBold
iconHeader.BackgroundTransparency = 1
iconHeader.Size = UDim2.new(0, 30, 1, 0)
iconHeader.Position = UDim2.new(0, 5, 0, 0)
iconHeader.ZIndex = 22
iconHeader.Parent = sortBar
local nameHeader = Instance.new("TextButton")
nameHeader.Name = "SortName"
nameHeader.Text = "Name ▲"
nameHeader.TextColor3 = Settings.TEXT_COLOR
nameHeader.TextSize = 14
nameHeader.Font = Enum.Font.GothamBold
nameHeader.BackgroundTransparency = 1
nameHeader.Size = UDim2.new(0, 150, 1, 0)
nameHeader.Position = UDim2.new(0, 40, 0, 0)
nameHeader.ZIndex = 22
nameHeader.TextXAlignment = Enum.TextXAlignment.Left
nameHeader.Parent = sortBar
local distanceHeader = Instance.new("TextButton")
distanceHeader.Name = "SortDistance"
distanceHeader.Text = "Distance ▲"
distanceHeader.TextColor3 = Settings.PRIMARY_COLOR
distanceHeader.TextSize = 14
distanceHeader.Font = Enum.Font.GothamBold
distanceHeader.BackgroundTransparency = 1
distanceHeader.Size = UDim2.new(0, 100, 1, 0)
distanceHeader.Position = UDim2.new(0, 200, 0, 0)
distanceHeader.ZIndex = 22
distanceHeader.TextXAlignment = Enum.TextXAlignment.Left
distanceHeader.Parent = sortBar
local favHeader = Instance.new("TextButton")
favHeader.Name = "SortFavorite"
favHeader.Text = "★"
favHeader.TextColor3 = Color3.fromRGB(200,200,200)
favHeader.TextSize = 18
favHeader.Font = Enum.Font.GothamBold
favHeader.BackgroundTransparency = 1
favHeader.Size = UDim2.new(0, 40, 1, 0)
favHeader.Position = UDim2.new(0, 310, 0, 0)
favHeader.ZIndex = 22
favHeader.Parent = sortBar
local espHeader = Instance.new("TextLabel")
espHeader.Text = "👁️"
espHeader.TextColor3 = Color3.fromRGB(200,200,200)
espHeader.TextSize = 18
espHeader.Font = Enum.Font.GothamBold
espHeader.BackgroundTransparency = 1
espHeader.Size = UDim2.new(0, 40, 1, 0)
espHeader.Position = UDim2.new(0, 360, 0, 0)
espHeader.ZIndex = 22
espHeader.Parent = sortBar
local actionHeader = Instance.new("TextLabel")
actionHeader.Text = "Action"
actionHeader.TextColor3 = Color3.fromRGB(200,200,200)
actionHeader.TextSize = 14
actionHeader.Font = Enum.Font.GothamBold
actionHeader.BackgroundTransparency = 1
actionHeader.Size = UDim2.new(0, 60, 1, 0)
actionHeader.Position = UDim2.new(0, 410, 0, 0)
actionHeader.ZIndex = 22
actionHeader.TextXAlignment = Enum.TextXAlignment.Center
actionHeader.Parent = sortBar
-- Items container
local itemsContainer = Instance.new("ScrollingFrame")
itemsContainer.Name = "ItemsContainer"
itemsContainer.BackgroundTransparency = 1
itemsContainer.Size = UDim2.new(1, -20, 1, -180)
itemsContainer.Position = UDim2.new(0, 10, 0, 140)
itemsContainer.BorderSizePixel = 0
itemsContainer.ScrollBarThickness = 8
itemsContainer.AutomaticCanvasSize = Enum.AutomaticSize.Y
itemsContainer.ZIndex = 21
local itemListLayout = Instance.new("UIListLayout")
itemListLayout.Padding = UDim.new(0, 8)
itemListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
itemListLayout.Parent = itemsContainer
itemsContainer.Parent = itemListGUI
-- Item counter
local itemCount = Instance.new("TextLabel")
itemCount.Name = "ItemCount"
itemCount.Text = "Items: 0"
itemCount.TextColor3 = Color3.fromRGB(200,200,200)
itemCount.TextSize = 14
itemCount.Font = Enum.Font.Gotham
itemCount.BackgroundTransparency = 1
itemCount.Size = UDim2.new(1, -20, 0, 30)
itemCount.Position = UDim2.new(0, 10, 1, -40)
itemCount.TextXAlignment = Enum.TextXAlignment.Left
itemCount.Parent = itemListGUI
-- Filter handlers
local function setActiveFilter(activeBtn)
filterAll.BackgroundTransparency = 0.7
filterTools.BackgroundTransparency = 0.7
filterNotes.BackgroundTransparency = 0.7
activeBtn.BackgroundTransparency = 0.1
end
filterAll.MouseButton1Click:Connect(function()
listState.filterType = "all"
setActiveFilter(filterAll)
pcall(updateItemList)
end)
filterTools.MouseButton1Click:Connect(function()
listState.filterType = "tool"
setActiveFilter(filterTools)
pcall(updateItemList)
end)
filterNotes.MouseButton1Click:Connect(function()
listState.filterType = "note"
setActiveFilter(filterNotes)
pcall(updateItemList)
end)
setActiveFilter(filterAll)
-- Sort handlers
local function setSort(mode, asc)
listState.sortMode = mode
listState.sortAsc = asc
nameHeader.Text = "Name" .. (mode == "name" and (asc and " ▲" or " ▼") or "")
distanceHeader.Text = "Distance" .. (mode == "distance" and (asc and " ▲" or " ▼") or "")
favHeader.Text = "★" .. (mode == "favorite" and (asc and " ▲" or " ▼") or "")
nameHeader.TextColor3 = mode == "name" and Settings.PRIMARY_COLOR or Color3.fromRGB(200,200,200)
distanceHeader.TextColor3 = mode == "distance" and Settings.PRIMARY_COLOR or Color3.fromRGB(200,200,200)
favHeader.TextColor3 = mode == "favorite" and Settings.FAVORITE_COLOR or Color3.fromRGB(200,200,200)
pcall(updateItemList)
end
nameHeader.MouseButton1Click:Connect(function()
if listState.sortMode == "name" then
setSort("name", not listState.sortAsc)
else
setSort("name", true)
end
end)
distanceHeader.MouseButton1Click:Connect(function()
if listState.sortMode == "distance" then
setSort("distance", not listState.sortAsc)
else
setSort("distance", true)
end
end)
favHeader.MouseButton1Click:Connect(function()
if listState.sortMode == "favorite" then
setSort("favorite", not listState.sortAsc)
else
setSort("favorite", true)
end
end)
-- Window drag
local dragging, dragStart, startPos = false, nil, nil
titleBar.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = i.Position
startPos = itemListGUI.Position
i.Changed:Connect(function()
if i.UserInputState == Enum.UserInputState.End then
dragging = false
savedItemListGUIPos = itemListGUI.Position
debouncedSaveSettings()
end
end)
end
end)
titleBar.InputChanged:Connect(function(i)
if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then
local delta = i.Position - dragStart
itemListGUI.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
itemListGUI.Parent = screenGui
return itemListGUI
end
--------------------------------------------------------------------
-- 11. WINDOW TOGGLE FUNCTIONS
--------------------------------------------------------------------
function toggleSettings(visible)
if visible == nil then visible = not settingsVisible end
settingsVisible = visible
if not settingsGUI then settingsGUI = createSettingsGUI() end
settingsGUI.Visible = visible
if not visible then saveSettings() end
end
function toggleItemList(visible)
if visible == nil then visible = not itemListVisible end
itemListVisible = visible
if not itemListGUI then itemListGUI = createItemListGUI() end
itemListGUI.Visible = visible
if visible then pcall(updateItemList) else saveSettings() end
end
--------------------------------------------------------------------
-- 12. DISTANCE UPDATE
--------------------------------------------------------------------
local lastESPUpdate = tick()
local lastListUpdate = tick()
local function updateDistances()
if not LocalPlayer.Character then return end
local root = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if not root then return end
local now = tick()
if now - lastESPUpdate >= Settings.UPDATE_INTERVAL then
for obj, data in pairs(objectCache) do
if obj and obj.Parent then
data.position = getObjectPosition(obj)
if data.esp then
local dist = (root.Position - data.position).Magnitude
data.esp.Enabled = guiEnabled and data.espEnabled and dist <= Settings.MAX_DISTANCE
end
else
if data and data.esp then pcall(function() data.esp:Destroy() end) end
objectCache[obj] = nil
updateListToggleIcon()
end
end
lastESPUpdate = now
end
if itemListVisible and now - lastListUpdate >= Settings.LIST_UPDATE_INTERVAL then
pcall(updateItemList)
lastListUpdate = now
end
end
--------------------------------------------------------------------
-- 13. OBJECT SEARCH & TRACKING
--------------------------------------------------------------------
local function findAndSetupObjects()
local count = 0
local function scan(parent)
for _, obj in ipairs(parent:GetChildren()) do
if shouldTrackObject(obj) and not objectCache[obj] then
-- Полный путь объекта для сохранения состояния
local path = obj:GetFullName()
local favorite = savedObjectFavorites[path] or false
local espEnabled = savedObjectESP[path] or true -- по умолчанию ESP включён
local esp = createInfoCard(obj)
objectCache[obj] = {
esp = esp,
espEnabled = espEnabled,
favorite = favorite,
addedTime = tick(),
className = obj.ClassName,
displayName = getDisplayName(obj),
position = getObjectPosition(obj),
fullPath = path
}
if esp then
esp.Enabled = guiEnabled and espEnabled
end
count = count + 1
end
if obj:IsA("Model") or obj:IsA("Folder") then pcall(scan, obj) end
end
end
pcall(scan, TRACK_PATH)
debugPrint("🔍 Initial scan:", count, "objects")
updateListToggleIcon()
end
local function onChildAdded(child)
if shouldTrackObject(child) and not objectCache[child] then
task.wait(0.2)
local path = child:GetFullName()
local favorite = savedObjectFavorites[path] or false
local espEnabled = savedObjectESP[path] or true
createSpawnNotification(child.Name, child)
local esp = createInfoCard(child)
objectCache[child] = {
esp = esp,
espEnabled = espEnabled,
favorite = favorite,
addedTime = tick(),
className = child.ClassName,
displayName = getDisplayName(child),
position = getObjectPosition(child),
fullPath = path
}
if esp then
esp.Enabled = guiEnabled and espEnabled
end
updateListToggleIcon()
if itemListVisible then pcall(updateItemList) end
end
end
local function onChildRemoving(child)
if objectCache[child] then
if objectCache[child].esp then pcall(function() objectCache[child].esp:Destroy() end) end
objectCache[child] = nil
updateListToggleIcon()
if itemListVisible then pcall(updateItemList) end
end
end
--------------------------------------------------------------------
-- 14. TOGGLE BUTTONS
--------------------------------------------------------------------
local function createToggleButtons()
mainToggle = Instance.new("TextButton")
mainToggle.Name = "MainToggleButton"
mainToggle.Text = "🔍"
mainToggle.TextColor3 = Settings.TEXT_COLOR
mainToggle.TextSize = 20
mainToggle.Font = Enum.Font.GothamBold
mainToggle.BackgroundColor3 = Settings.TOGGLE_COLOR
mainToggle.BackgroundTransparency = 0.3
mainToggle.Size = UDim2.new(0,50,0,50)
mainToggle.Position = savedMainTogglePos or UDim2.new(0,20,0.5,-25)
mainToggle.BorderSizePixel = 0
mainToggle.ZIndex = 100
mainToggle.Draggable = true
Instance.new("UICorner", mainToggle).CornerRadius = UDim.new(1,0)
listToggle = Instance.new("TextButton")
listToggle.Name = "ListToggleButton"
listToggle.Text = "📋 0"
listToggle.TextColor3 = Settings.TEXT_COLOR
listToggle.TextSize = 18
listToggle.Font = Enum.Font.GothamBold
listToggle.BackgroundColor3 = Settings.SECONDARY_COLOR
listToggle.BackgroundTransparency = 0.3
listToggle.Size = UDim2.new(0,40,0,40)
listToggle.Position = savedListTogglePos or UDim2.new(0,75,0.5,-20)
listToggle.BorderSizePixel = 0
listToggle.ZIndex = 100
listToggle.Draggable = true
listToggle.Visible = guiEnabled
Instance.new("UICorner", listToggle).CornerRadius = UDim.new(1,0)
settingsToggle = Instance.new("TextButton")
settingsToggle.Name = "SettingsToggleButton"
settingsToggle.Text = "⚙️"
settingsToggle.TextColor3 = Settings.TEXT_COLOR
settingsToggle.TextSize = 18
settingsToggle.Font = Enum.Font.GothamBold
settingsToggle.BackgroundColor3 = Color3.fromRGB(155,89,182)
settingsToggle.BackgroundTransparency = 0.3
settingsToggle.Size = UDim2.new(0,40,0,40)
settingsToggle.Position = savedSettingsTogglePos or UDim2.new(0,120,0.5,-20)
settingsToggle.BorderSizePixel = 0
settingsToggle.ZIndex = 100
settingsToggle.Draggable = true
settingsToggle.Visible = guiEnabled
Instance.new("UICorner", settingsToggle).CornerRadius = UDim.new(1,0)
-- Save position on drag end
local function savePosOnDragEnd(btn)
btn.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
if btn == mainToggle then savedMainTogglePos = btn.Position
elseif btn == listToggle then savedListTogglePos = btn.Position
elseif btn == settingsToggle then savedSettingsTogglePos = btn.Position end
debouncedSaveSettings()
end
end)
end
savePosOnDragEnd(mainToggle)
savePosOnDragEnd(listToggle)
savePosOnDragEnd(settingsToggle)
-- Main toggle functionality
mainToggle.MouseButton1Click:Connect(function()
guiEnabled = not guiEnabled
if guiEnabled then
mainToggle.BackgroundColor3 = Settings.TOGGLE_COLOR
mainToggle.Text = "🔍"
listToggle.Visible = true
settingsToggle.Visible = true
else
mainToggle.BackgroundColor3 = Settings.DISABLED_COLOR
mainToggle.Text = "👁️"
listToggle.Visible = false
settingsToggle.Visible = false
end
for _, data in pairs(objectCache) do
if data.esp then data.esp.Enabled = guiEnabled and data.espEnabled end
end
debouncedSaveSettings()
end)
listToggle.MouseButton1Click:Connect(function() toggleItemList() end)
settingsToggle.MouseButton1Click:Connect(function() toggleSettings() end)
mainToggle.Parent = screenGui
listToggle.Parent = screenGui
settingsToggle.Parent = screenGui
end
--------------------------------------------------------------------
-- 15. SPLASH SCREEN
--------------------------------------------------------------------
local function createSplashScreen()
local splash = Instance.new("Frame")
splash.Name = "SplashScreen"
splash.BackgroundColor3 = Color3.fromRGB(20,20,30)
splash.BackgroundTransparency = 0.3
splash.Size = UDim2.new(0,10,0,10)
splash.Position = UDim2.new(0.5,-5,0.5,-5)
splash.BorderSizePixel = 0
splash.ZIndex = 200
Instance.new("UICorner", splash).CornerRadius = UDim.new(0,16)
local logo = Instance.new("TextLabel")
logo.Text = "🔍"
logo.TextColor3 = Settings.PRIMARY_COLOR
logo.TextSize = 60
logo.Font = Enum.Font.GothamBold
logo.BackgroundTransparency = 1
logo.Size = UDim2.new(0,80,0,80)
logo.Position = UDim2.new(0.5,-40,0,20)
logo.ZIndex = 201
logo.Parent = splash
local title = Instance.new("TextLabel")
title.Text = "NEXUS TRACKER"
title.TextColor3 = Settings.PRIMARY_COLOR
title.TextSize = 28
title.Font = Enum.Font.GothamBold
title.BackgroundTransparency = 1
title.Size = UDim2.new(1,0,0,50)
title.Position = UDim2.new(0,0,0,100)
title.ZIndex = 201
title.Parent = splash
local subtitle = Instance.new("TextLabel")
subtitle.Text = "Object Tracking System"
subtitle.TextColor3 = Color3.fromRGB(200,200,200)
subtitle.TextSize = 16
subtitle.Font = Enum.Font.Gotham
subtitle.BackgroundTransparency = 1
subtitle.Size = UDim2.new(1,0,0,30)
subtitle.Position = UDim2.new(0,0,0,150)
subtitle.ZIndex = 201
subtitle.Parent = splash
local version = Instance.new("TextLabel")
version.Text = "v7.1.0"
version.TextColor3 = Color3.fromRGB(150,150,150)
version.TextSize = 14
version.Font = Enum.Font.Gotham
version.BackgroundTransparency = 1
version.Size = UDim2.new(1,0,0,20)
version.Position = UDim2.new(0,0,0,185)
version.ZIndex = 201
version.Parent = splash
local fs = Instance.new("TextLabel")
fs.Text = canSaveToFile and "✅ Settings autosave" or "⚠️ Settings will not persist"
fs.TextColor3 = canSaveToFile and Color3.fromRGB(46,204,113) or Color3.fromRGB(241,196,15)
fs.TextSize = 12
fs.Font = Enum.Font.Gotham
fs.BackgroundTransparency = 1
fs.Size = UDim2.new(1,0,0,20)
fs.Position = UDim2.new(0,0,0,210)
fs.ZIndex = 201
fs.Parent = splash
splash.Parent = screenGui
TweenService:Create(splash, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Size = UDim2.new(0,400,0,250),
Position = UDim2.new(0.5,-200,0.5,-125),
BackgroundTransparency = 0.3
}):Play()
-- Автоматически скрываем через 3 секунды
task.delay(3, function()
if splash and splash.Parent then
local t = TweenService:Create(splash, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
Size = UDim2.new(0,10,0,10),
Position = UDim2.new(0.5,-5,0.5,-5),
BackgroundTransparency = 1
})
t:Play()
t.Completed:Wait()
splash:Destroy()
end
end)
end
--------------------------------------------------------------------
-- 16. INITIALIZATION
--------------------------------------------------------------------
local function init()
debugPrint("Initializing Nexus Tracker...")
screenGui = Instance.new("ScreenGui")
screenGui.Name = "NexusTrackerUI"
screenGui.DisplayOrder = 10
screenGui.ResetOnSpawn = false
screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
-- Показываем загрузочный экран
createSplashScreen()
notificationContainer = Instance.new("Frame")
notificationContainer.Name = "NotificationContainer"
notificationContainer.BackgroundTransparency = 1
notificationContainer.Size = UDim2.new(1,0,1,0)
notificationContainer.Parent = screenGui
local notifLayout = Instance.new("UIListLayout")
notifLayout.Padding = UDim.new(0,10)
notifLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right
notifLayout.VerticalAlignment = Enum.VerticalAlignment.Bottom
notifLayout.Parent = notificationContainer
-- Load settings
local saved = loadSettings()
applyLoadedSettings(saved)
createToggleButtons()
-- Apply saved positions
if savedMainTogglePos and mainToggle then mainToggle.Position = savedMainTogglePos end
if savedListTogglePos and listToggle then listToggle.Position = savedListTogglePos end
if savedSettingsTogglePos and settingsToggle then settingsToggle.Position = savedSettingsTogglePos end
-- Set initial GUI state
if not guiEnabled then
mainToggle.BackgroundColor3 = Settings.DISABLED_COLOR
mainToggle.Text = "👁️"
listToggle.Visible = false
settingsToggle.Visible = false
end
-- Connect events
connections[#connections+1] = TRACK_PATH.DescendantAdded:Connect(onChildAdded)
connections[#connections+1] = TRACK_PATH.DescendantRemoving:Connect(onChildRemoving)
findAndSetupObjects()
lastESPUpdate = tick()
lastListUpdate = tick()
connections[#connections+1] = RunService.Heartbeat:Connect(updateDistances)
debugPrint("✅ Initialization complete")
end
--------------------------------------------------------------------
-- 17. START
--------------------------------------------------------------------
local function startScript()
if LocalPlayer then
if not LocalPlayer.Character then
LocalPlayer.CharacterAdded:Wait()
end
task.wait(1)
init()
end
end
startScript()
--------------------------------------------------------------------
-- 18. API
--------------------------------------------------------------------
return {
ToggleGUI = function() if mainToggle then mainToggle:MouseButton1Click() end end,
ShowItemList = function() toggleItemList(true) end,
ShowSettings = function() toggleSettings(true) end,
TeleportToNearest = teleportToNearest,
SaveSettings = saveSettings,
LoadSettings = loadSettings
}
3. Angelwings Auto QTE – (Quick Time Event Automation, Performance Mode)
In many Jump Showdown characters, specifically ones like Chara, the difference between winning and losing a confrontation depends on your ability to hit a specific sequence of button presses within a fraction of a second. This is known as a Quick Time Event (QTE). The Angelwings loader is a specialized script Jump Showdown choice designed to ensure you hit every single QTE with perfect timing, every single time. It removes the stress of reflex-based mini-games entirely.
| Mechanical Feature | Support Level | Strategic Effect |
|---|---|---|
| Perfect QTE | Automated Key Input | Solves the timing logic internally within a single frame |
| Special Target | Chara Exclusive | Designed specifically to master the Chara skill mechanics |
| Frame Assist | CPU Prioritization | Logic runs as a fast background task to avoid missed clicks |
| No Key Access | Native Support | Keyless [Jump Showdown] script access for rapid testing |
Many players find QTE mechanics frustrating due to varying network pings. A slight millisecond of server lag can mean you miss the final prompt and die to a boss. This free Jump Showdown script handles those requests at the memory level. As soon as the QTE object enters your character’s logic tree, the script sends a virtual keystroke back to the game to complete the action. This is the definition of efficiency for players on high-stakes competitive servers where losing means losing your leaderboard rank.
Because this is a PC-exclusive script, it leverages the high processing power of desktop executors to ensure zero failure rates. When you look at high-tier sorcerers who seem to never fail their domain mini-games, they are often using an scripts Jump Showdown utility like this. It is a highly focused tool that does one thing—win QTEs—better than any other script in the 2026 meta.
-- Angelwings Jump Showdown Automator
-- Specifically tuned for Chara mechanics
loadstring(game:HttpGet("https://raw.githubusercontent.com/Wingsrx/free-shit/refs/heads/main/QTE"))()
4. Quna JSD Combat Hub – (Xeno Optimization, Auto Block Dash, Auto Punch)
The Quna combat suite is for the players who treat combat as an optimized science. This is a very aggressive suite that provides what many call a “Close Range God Mode.” It focuses on physical interactions and blocking mechanics. This script Jump Showdown provides is specifically designed with Jump Showdown Xeno injection in mind, offering specialized stability patches for high-tier executor DLLs.
| Tactical Module | Function | Gameplay Change |
|---|---|---|
| Defensive Layer | Auto Block & Dash | Instinctive defensive resets based on enemy animations |
| Attack Loop | Auto Punch Mode | Cycles attacks without manual clicking, maximizing CPS |
| Ability Sync | Auto Curse Child QTE | Expands QTE coverage beyond Chara to other cursed entities |
| Fluid Combat | Auto Move Block | Allows the player to stay mobile while keeping defenses active |
One of the unique things about the Quna version is the “Auto Move Block.” In the standard game, players are often slowed or immobilized when they choose to hold the block button. This tool overrides the movement speed multiplier applied during blocking, effectively allowing you to run at full speed while maintaining a guarded state. This is an incredible tactical benefit for avoiding ranged attacks or repositioning while an enemy is spamming heavy M1 attacks at you.
For players searching for keyless Jump Showdown script variants, the Quna hub is an attractive option due to its direct API loading. It targets character abilities such as the “Curse Child” transformation, ensuring that your transition into your high-tier forms is perfectly managed by automation. It bridges the gap between purely visual assistance and aggressive combat cheating, making it a high-tier script Jump Showdown veteran’s primary loadout.
-- Quna Combat Suite for Jump Showdown
-- Optimized for Xeno injection stability
loadstring(game:HttpGet("https://api.jnkie.com/api/v1/luascripts/public/c2720814f80cfd4b1de00419267f97a649a9e5d84862ad8532d411eda74653a4/download"))()
5. Shoo Ultimate Hub (Washuu) – (Auto Parry V5, Silent Kill, Human Combo Logic)
The final entry is often regarded as the current King of combat scripts in the arena. Washuu’s hub (known simply as Shoo) is a highly professional, well-maintained product that brings elite defensive logic to the game. If you are aiming for top 10 rankings on the global sorcerer leaderboard, you have likely heard of the Xeno Jump Showdown script suite provided here. It uses some of the most advanced “Parry” logic ever developed for a Roblox battlegrounds-style game.
| Premium Module | Functional Purpose | Skill Elevation |
|---|---|---|
| Defense Mastery | Auto Parry V5 | Detects and parries incoming skills and M1s universally |
| Field Mastery | Anti-Backstab | Snaps camera 180 degrees to defend against flankers |
| Countering | Whiff Punishment | Attacks the enemy precisely the moment they miss their strike |
| Tech Automation | Higuruma Judgement Bot | Completes the instant typing for Final Judgement automatically |
The Parry V5 system is truly frame-perfect. Unlike cheaper scripts that just hold the F key, this hub listens for enemy activation packets. It only parries at the perfect moment to stagger the opponent, allowing you to counter-hit instantly. It also includes “Smart M1 Chaining,” which ensures you don’t over-commit to combos that can be blocked. It follows a Max-3 hit logic that leaves you ready to dash out or block if the enemy manages to survive your initial onslaught.
This script also focuses on character specialists. Characters like Nanami require specific “7:3” timing for their techniques to deal maximum critical damage. Washuu’s hub automates that timing flawlessly. The Higuruma Judgement feature is also game-breaking; while legitimate players have to type out legal prompts or sentences during the domain event, the Shoo Hub uses a typing macro to finish the prompt in 0.01 seconds. This results in an immediate guilty verdict for your enemy every single match. While it may require a key to support the developers, it is frequently cited as the strongest script Jump Showdown enthusiasts have ever tested.
-- shoo best Jump Showdown script hub
-- Key required from discord.gg/shoo
script_key="your key here";
loadstring(game:HttpGet("https://api.luarmor.net/files/v4/loaders/5ccbe605e47d019e049a1198eb772603.lua"))()
How to Execute Jump Showdown Scripts on PC, Mac & Mobile
Getting your Jump Showdown scripts up and running involves using a specialized application known as an “Executor” or “Injector.” Since Roblox developers constantly patch exploits, staying updated with the correct software is as important as having the right code. Below is a detailed guide on how to start scripting depending on your device.
How to Execute on Windows (PC)
PC is the most powerful and common platform for aggressive combat mods and informational ESP.
- Obtain an Executor: Download a working and vetted tool. Current reliable options include Wave, Solara, or a specific injector optimized for Jump Showdown Xeno performance. Avoid clicking random pop-up ads; stick to official developer discords.
- Safety Preparation: Almost every executor is detected as a “false positive” by your Antivirus. This is because they hook into the memory of other processes (in this case, Roblox). You will likely need to disable real-time protection in Windows Defender or add an exclusion to your script folder.
- Enter the Match: Launch the Roblox client and enter Jump Showdown. Wait for your character to fully load into the lobby area.
- Attach and Inject: Open your executor window. Click the syringe icon or the Attach button. Wait for a confirmation popup that the console has successfully linked to the Roblox process.
- Paste and Execute: Copy the script Jump Showdown code of your choice from our list above. Paste it into the executor’s script terminal and press Run or Execute. The GUI menu should now overlap on your game screen.
How to Execute on Mobile (Android & iOS)
Many scripters find mobile more accessible due to various keyless injectors like Delta and Codex.
- Install an APK Executor: For Android, tools like Delta or Hydrogen are excellent. You must uninstall the standard Roblox app first, then install the modified APK provided by these developers. iOS users often utilize MacSploit for mobile or specific sideloaded tools like Arceus X via sideloading methods like Scarlet.
- Lobby Entry: Log into your Roblox account in the new executor app. Once inside Jump Showdown, a small, floating logo will appear on the side of your touchscreen.
- Editor Usage: Tap the logo, open the built-in terminal window, and paste the Jump Showdown script pastebin or raw code.
- Play: Hit the play/checkmark button. Your menu options will now appear, optimized for touch interaction. You can farm coins and stats while you’re out on the go!
How to Execute on Mac
While the Mac community is smaller, high-tier tools now allow Apple users to enjoy Jump Showdown mods safely.
- Executor Choice: Download MacSploit, currently one of the few high-stability tools built for the Mac OS.
- Installation and Sideloading: Drag the application to your folder. You will need to allow the app to run via your System Settings under Privacy & Security since it comes from an unidentified developer.
- Link and Script: The process mirrors the PC version—attach to the Roblox game client via the MacSploit menu, paste the free Jump Showdown script loader, and enjoy your new advantages.
Jump Showdown Beginner Guide: Strategies & Mastery
Jump Showdown is more than just mindless combat; it is an experience in management. While having a free Jump Showdown script gives you incredible power, understanding the game mechanics will help you win more matches legitimately when you want to avoid drawing attention from server moderators.
Understanding Mastery and Characters
Each anime character in the roster has a unique mastery track. Higher mastery tiers unlock destructive ultimate moves like Hollow Purple or Malevolent Shrine. A popular strategy for scripters is to use the “Combat Hub” or an auto-kill script in small, low-population servers overnight to hit max level mastery before participating in public events. This ensures that when you do engage in fair fights, your stats and gear are already at the cap.
Combat Mechanics
Legit survival in Jump Showdown relies heavily on the “Dash and Punish” system.
- Dashing: Save your dash (usually Q) for the moments an enemy commitment is complete. Using it too early leaves you wide open for a Human Combo.
- Counter-attacking: After a parry occurs, the opponent enters a tiny state of “stun.” This is your only chance to deal true damage that can’t be escaped.
- Tactical Depth: Use your ESP settings to find players who are currently low on HP. Finishing off a battle between two other warriors is the fastest way to stack up trophies and cash on the scoreboard.
Using scripts responsively means not ruining the lobby for everyone. If you find a private server or use a low-key script like Andrei228’s Item ESP, you can find the high-yield items and get stronger while staying subtle. Respect the competitive landscape by knowing when to toggle your blatant features on or off. Utilizing Jump Showdown Xeno script setups during competitive seasons can help you stay ahead of “Sweat” clans who aim to farm new players for easy KDR.
Jump Showdown Game Codes
Redeemable codes provide a legitimate way to acquire rare gear, belly currency, and rerolls for your sorcerer abilities. While codes are less impactful than a full script for Jump Showdown, they are perfect for jumping-start your career or finding that perfect cosmetic aesthetic.
Status of Active Codes (Update 2026)
At this current version update of February 2026, the developer of Jump Showdown has moved rewards from traditional text codes into a task-based milestone system. However, they frequently cycle limited codes for million-visit milestones on their Twitter feed.
- Currently active codes: No active codes as of late Feb 2026.
- Redemption: To redeem if new codes drop, click the gear icon in the lobby, look for the text input box labeled ENTER CODE, and paste a verified code to gain instant gems.
To keep ahead of code expirations, we suggest joining the game’s official discord or bookmarking this guide, as we refresh this list weekly. In the absence of codes, utilizing a keyless Jump Showdown script remains the most reliable path to a fully upgraded sorcerer arsenal.
FAQs About Jump Showdown Scripts
Q: What is a keyless Jump Showdown script and why is it preferred?
A: A keyless script is one where the developer does not require you to go to third-party advertising sites to obtain a temporary 24-hour key. Keyless versions are highly sought after by the community because they are faster, safer for your browser health, and generally easier for mobile scripters to navigate.
Q: Are these Jump Showdown scripts safe from Byfron or Byfron/Hyperion?
A: While Roblox updates its platform-wide anti-cheat (Hyperion) weekly, high-end loaders such as Shoo and the Andrei hubs utilize internal “Anti-Detect” modules to hide the presence of the injector. To stay 100% safe, it is always a best practice to test a new Jump Showdown script on a backup or “alt” account before using it on your main account with expensive cosmetics.
Q: Does Jump Showdown Xeno support every feature?
A: Xeno refers to a specific DLL performance library. When you hear “Xeno Jump Showdown,” it usually implies a high-speed execution. All the scripts we’ve listed are fully verified for compatibility with Xeno, Delta, and other current injectors. If your menu fails to appear, simply check your software version.
Q: Where can I find a newer Jump Showdown script pastebin?
A: The world of scripts Jump Showdown fans use changes rapidly. Sites like Github and curated repositories provided by developers (like the ones in this guide) are the best place. Always be cautious clicking on old links found in random YouTube descriptions, as those often contain outdated or malware-injected strings.
Q: Will the Auto QTE work for Nanami or Sukuna?
A: Most of our combat scripts include a universal QTE module. Specifically, the Washuu hub listed above features dedicated “Ratio Tech” and “Judgment” solvers that cover character-specific events. It is a highly specialized bot that removes the error margin from anime techniques.
Conclusion
The combat-heavy, cinematic world of Jump Showdown offers some of the most rewarding high-speed arena fights on Roblox. However, the mountain you have to climb to become an elite sorcerer doesn’t have to be a slog of endless defeat. By utilizing the incredible hubs and scripts Jump Showdown enthusiasts have built—from Andrei’s tactical ESPs to Washuu’s frame-perfect auto parry—you give yourself the tools needed to dominate.
Always remember that consistency is the key to mastering your domain. Keep your executor updated, stay alert for new Jump Showdown script releases after game updates, and never forget to redeem official game codes for a legitimate boost. Bookmark this page for the latest updates on free Jump Showdown script loaders and meta guides. Whether you are using a keyless Jump Showdown script for speed or a performance hub for raids, the top of the leaderboard is now within your reach. See you in the showdown!