Item ESP and Server Hopper
Key Required

Item ESP and Server Hopper

[ALCHEMIST RELEASE] Jump Showdownaccsbennyaccsbenny 4.5K views 487 executesUpdated Mar 10, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•261 lines (10655 chars)
-- Place this in your executor's 'autoexec' folder.

local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")
local HttpService = game:GetService("HttpService")
local TeleportService = game:GetService("TeleportService")

local player = Players.LocalPlayer
local guiName = "JumpShowdownItemESP"
local stateFileName = "JS_SniperState.txt"

if not game:IsLoaded() then game.Loaded:Wait() end
task.wait(2)

local espTargets = {
    {keyword = "temp", displayName = "Temp-V", color = Color3.fromRGB(50, 255, 50)},
    {keyword = "railgun", displayName = "Railgun", color = Color3.fromRGB(0, 255, 255)},
    {keyword = "daybreak", displayName = "Daybreak", color = Color3.fromRGB(255, 170, 0)},
    {keyword = "helmet", displayName = "Helmet of Peace", color = Color3.fromRGB(200, 200, 200)},
    {keyword = "note", displayName = "Death Note", color = Color3.fromRGB(70, 70, 70)},
    {keyword = "arrow", displayName = "Stand Arrow", color = Color3.fromRGB(255, 215, 0)},
    {keyword = "sukuna", displayName = "Sukuna's Finger", color = Color3.fromRGB(150, 0, 255)},
    {keyword = "magic rod", displayName = "Magic Rod", color = Color3.fromRGB(255, 100, 200)},
    {keyword = "frisbee", displayName = "Frisbee", color = Color3.fromRGB(255, 100, 200)}
}


local function saveState(isHopping, targetKey, targetName)
    local data = {AutoHop = isHopping, TargetKey = targetKey, TargetName = targetName}
    pcall(function() writefile(stateFileName, HttpService:JSONEncode(data)) end)
end

local function loadState()
    local success, result = pcall(function()
        if isfile(stateFileName) then return HttpService:JSONDecode(readfile(stateFileName)) end
    end)
    if success and result then return result.AutoHop, result.TargetKey, result.TargetName end
    return false, nil, "Select Target..."
end

local autoHopEnabled, currentTargetKey, currentTargetName = loadState()

if CoreGui:FindFirstChild(guiName) then CoreGui[guiName]:Destroy() end
if player:FindFirstChild("PlayerGui") and player.PlayerGui:FindFirstChild(guiName) then
    player.PlayerGui[guiName]:Destroy()
end

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = guiName
ScreenGui.ResetOnSpawn = false
pcall(function() ScreenGui.Parent = CoreGui end)
if not ScreenGui.Parent then ScreenGui.Parent = player:WaitForChild("PlayerGui") end

local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 220, 0, 180)
MainFrame.Position = UDim2.new(0.5, -110, 0.8, -90)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true 
MainFrame.Parent = ScreenGui

Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 8)

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 30)
Title.BackgroundTransparency = 1
Title.Text = "Item Sniper"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 16
Title.Font = Enum.Font.GothamBold
Title.Parent = MainFrame

local ToggleBtn = Instance.new("TextButton")
ToggleBtn.Size = UDim2.new(0.9, 0, 0, 35)
ToggleBtn.Position = UDim2.new(0.05, 0, 0.2, 0)
ToggleBtn.BackgroundColor3 = Color3.fromRGB(220, 50, 50)
ToggleBtn.Text = "ESP: OFF"
ToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleBtn.Font = Enum.Font.GothamBold
ToggleBtn.TextSize = 14
ToggleBtn.Parent = MainFrame
Instance.new("UICorner", ToggleBtn).CornerRadius = UDim.new(0, 6)

local DropdownBtn = Instance.new("TextButton")
DropdownBtn.Size = UDim2.new(0.9, 0, 0, 30)
DropdownBtn.Position = UDim2.new(0.05, 0, 0.45, 0)
DropdownBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
DropdownBtn.Text = currentTargetName
DropdownBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
DropdownBtn.Font = Enum.Font.Gotham
DropdownBtn.TextSize = 13
DropdownBtn.Parent = MainFrame
Instance.new("UICorner", DropdownBtn).CornerRadius = UDim.new(0, 4)

local SniperBtn = Instance.new("TextButton")
SniperBtn.Size = UDim2.new(0.9, 0, 0, 35)
SniperBtn.Position = UDim2.new(0.05, 0, 0.67, 0)
SniperBtn.BackgroundColor3 = autoHopEnabled and Color3.fromRGB(255, 150, 0) or Color3.fromRGB(50, 100, 200)
SniperBtn.Text = autoHopEnabled and "AUTO-HOP: ON" or "AUTO-HOP: OFF"
SniperBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
SniperBtn.Font = Enum.Font.GothamBold
SniperBtn.TextSize = 14
SniperBtn.Parent = MainFrame
Instance.new("UICorner", SniperBtn).CornerRadius = UDim.new(0, 6)

local DropdownList = Instance.new("ScrollingFrame")
DropdownList.Size = UDim2.new(0.9, 0, 0, 120)
DropdownList.Position = UDim2.new(0.05, 0, 0.65, 0)
DropdownList.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
DropdownList.BorderSizePixel = 0
DropdownList.ZIndex = 5
DropdownList.Visible = false
DropdownList.CanvasSize = UDim2.new(0, 0, 0, #espTargets * 30)
DropdownList.ScrollBarThickness = 4
DropdownList.Parent = MainFrame

local UIListLayout = Instance.new("UIListLayout")
UIListLayout.Parent = DropdownList

for _, target in ipairs(espTargets) do
    local ItemBtn = Instance.new("TextButton")
    ItemBtn.Size = UDim2.new(1, 0, 0, 30)
    ItemBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
    ItemBtn.Text = "  " .. target.displayName
    ItemBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    ItemBtn.Font = Enum.Font.Gotham
    ItemBtn.TextSize = 12
    ItemBtn.TextXAlignment = Enum.TextXAlignment.Left
    ItemBtn.ZIndex = 6
    ItemBtn.Parent = DropdownList
    
    ItemBtn.MouseButton1Click:Connect(function()
        currentTargetKey = target.keyword
        currentTargetName = target.displayName
        DropdownBtn.Text = target.displayName
        DropdownList.Visible = false
        if autoHopEnabled then saveState(true, currentTargetKey, currentTargetName) end
    end)
end

DropdownBtn.MouseButton1Click:Connect(function()
    DropdownList.Visible = not DropdownList.Visible
end)

local espActive = false
local activeVisuals = {}
local spawnConnection = nil

local function applyVisuals(item, color, name)
    if item:FindFirstChild("ESP_High") then return end
    local hl = Instance.new("Highlight") hl.Name = "ESP_High" hl.FillColor = color hl.FillTransparency = 0.5 hl.OutlineTransparency = 0.1 hl.Parent = item
    local bg = Instance.new("BillboardGui") bg.Name = "ESP_Txt" bg.Size = UDim2.new(0, 100, 0, 30) bg.StudsOffset = Vector3.new(0,2,0) bg.AlwaysOnTop = true bg.Parent = item
    local tl = Instance.new("TextLabel") tl.Size = UDim2.new(1,0,1,0) tl.BackgroundTransparency = 1 tl.Text = name tl.TextColor3 = color tl.TextStrokeTransparency = 0 tl.Font = Enum.Font.GothamBold tl.TextSize = 14 tl.Parent = bg
    table.insert(activeVisuals, {H = hl, B = bg})
end

local function clearVisuals()
    for _, v in ipairs(activeVisuals) do if v.H then v.H:Destroy() end if v.B then v.B:Destroy() end end
    activeVisuals = {}
end

local function scanMap(targetKeyword, applyESP)
    local foundItems = {}
    local targetFound = false
    local count = 0
    
    for _, obj in ipairs(Workspace:GetDescendants()) do
        count = count + 1 if count % 800 == 0 then task.wait() end 
        
        if obj:IsA("Tool") or obj:IsA("BasePart") then
            local objNameLower = string.lower(obj.Name)
            for _, t in ipairs(espTargets) do
                if string.find(objNameLower, t.keyword) then
                    foundItems[t.displayName] = (foundItems[t.displayName] or 0) + 1
                    if applyESP then applyVisuals(obj, t.color, t.displayName) end
                    if targetKeyword and string.find(objNameLower, targetKeyword) then targetFound = true end
                    break
                end
            end
        end
    end
    
    if next(foundItems) then
        local s = "[Scanner] Found: " for n, c in pairs(foundItems) do s = s .. n .. " (x" .. c .. ") | " end print(s)
    else
        print("[Scanner] No rare items found here.")
    end
    
    return targetFound
end

ToggleBtn.MouseButton1Click:Connect(function()
    espActive = not espActive
    if espActive then
        ToggleBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50) ToggleBtn.Text = "ESP: ON"
        task.spawn(function() scanMap(nil, true) end)
    else
        ToggleBtn.BackgroundColor3 = Color3.fromRGB(220, 50, 50) ToggleBtn.Text = "ESP: OFF"
        clearVisuals()
    end
end)

local function executeServerHop()
    print("[Sniper] Target not found. Hopping servers...")
    local url = "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100"
    local success, result = pcall(function() return HttpService:JSONDecode(game:HttpGet(url)) end)
    
    if success and result and result.data then
        for _, server in ipairs(result.data) do
            if server.playing < server.maxPlayers and server.id ~= game.JobId then
                TeleportService:TeleportToPlaceInstance(game.PlaceId, server.id, player)
                task.wait(10)
            end
        end
    else
        task.wait(3) executeServerHop()
    end
end

SniperBtn.MouseButton1Click:Connect(function()
    if not currentTargetKey then
        SniperBtn.Text = "Select an item first!" task.wait(1.5) SniperBtn.Text = "AUTO-HOP: OFF" return
    end
    
    autoHopEnabled = not autoHopEnabled
    if autoHopEnabled then
        saveState(true, currentTargetKey, currentTargetName)
        SniperBtn.BackgroundColor3 = Color3.fromRGB(255, 150, 0) SniperBtn.Text = "AUTO-HOP: ON"
        
        task.spawn(function()
            if not scanMap(currentTargetKey, false) then executeServerHop() end
        end)
    else
        saveState(false, nil, "Select Target...")
        SniperBtn.BackgroundColor3 = Color3.fromRGB(50, 100, 200) SniperBtn.Text = "AUTO-HOP: OFF"
    end
end)

if autoHopEnabled and currentTargetKey then
    task.spawn(function()
        print("[Sniper] Scanning for: " .. currentTargetName)
        if scanMap(currentTargetKey, false) then
            print("\n========================================")
            print("[SUCCESS] Found: " .. string.upper(currentTargetName))
            print("========================================\n")
            
            saveState(false, nil, "Select Target...")
            SniperBtn.BackgroundColor3 = Color3.fromRGB(50, 100, 200) SniperBtn.Text = "AUTO-HOP: OFF"
            autoHopEnabled = false
            
            local s = Instance.new("Sound") s.SoundId = "rbxassetid://4590657391" s.Volume = 5 s.Parent = Workspace s:Play()
            
            ToggleBtn.BackgroundColor3 = Color3.fromRGB(50, 200, 50) ToggleBtn.Text = "ESP: ON" espActive = true
            scanMap(nil, true)
        else
            executeServerHop()
        end
    end)
end

Features & Information

Made this since some weirdo made a similar script but locked it behind a keysystem. Item ESP Server Hopper for items (must be placed in autoexec to work)

Community Comments (0)

No comments yet for this script.

More Scripts for [ALCHEMIST RELEASE] Jump Showdown