Item Esp KEYLESS
Key Required

Item Esp KEYLESS

[SKY ASSASSIN] Jujutsu Shenaniganskilincberat059kilincberat059 188 views 248 executesUpdated Aug 4, 2026
Unrated
00
Lua Script•265 lines (7933 chars)
task.wait(2)

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local playerGui = LocalPlayer:WaitForChild("PlayerGui")

-- Cấu hình
local CONFIG = {
    Enabled = true,
    MaxDistance = 2000,
    ShowName = true,
    ShowDistance = true,
    BoxESP = true,
    BoxColor = Color3.fromRGB(0, 255, 0),
    TextColor = Color3.fromRGB(255, 255, 255),
}

local espMap = {}
local itemsFolder = Workspace:FindFirstChild("Items")
local scanThread = nil
local renderConn = nil
local gui = nil

-- Kiểm tra object có phải vật phẩm hợp lệ không
local function isValidItem(obj)
    if not obj or not obj.Parent then return false end
    if obj:IsA("BasePart") then return true end
    if obj:IsA("Model") then
        return obj:FindFirstChildWhichIsA("BasePart") ~= nil
    end
    return false
end

-- Lấy tất cả item hiện tại (đệ quy toàn bộ Items)
local function getAllItems()
    local items = {}
    if not itemsFolder then return items end
    local function scan(parent)
        for _, child in ipairs(parent:GetChildren()) do
            if isValidItem(child) then
                table.insert(items, child)
            end
            if child:IsA("Model") or child:IsA("Folder") then
                scan(child)
            end
        end
    end
    scan(itemsFolder)
    return items
end

-- Tạo ESP cho một item
local function createESP(item)
    if espMap[item] then return end
    local box = Drawing.new("Square")
    box.Visible = false
    box.Color = CONFIG.BoxColor
    box.Thickness = 2
    box.Filled = false
    local text = Drawing.new("Text")
    text.Visible = false
    text.Color = CONFIG.TextColor
    text.Size = 14
    text.Center = true
    text.Outline = true
    text.OutlineColor = Color3.new(0,0,0)
    text.Font = 3
    espMap[item] = {Box = box, Text = text}
end

-- Xóa ESP của item
local function removeESP(item)
    local d = espMap[item]
    if d then
        d.Box:Remove()
        d.Text:Remove()
        espMap[item] = nil
    end
end

-- Lấy vị trí của item
local function getItemPos(item)
    if item:IsA("BasePart") then
        return item.Position
    elseif item:IsA("Model") then
        local p = item.PrimaryPart or item:FindFirstChild("HumanoidRootPart") or item:FindFirstChildWhichIsA("BasePart")
        if p then return p.Position end
    end
    return nil
end

-- Quét toàn bộ và đồng bộ ESP (thêm mới, xóa cũ)
local function syncESP()
    if not itemsFolder then
        itemsFolder = Workspace:FindFirstChild("Items")
        if not itemsFolder then return end
    end
    local current = getAllItems()
    -- Xóa những item không còn tồn tại
    for item, _ in pairs(espMap) do
        if not item.Parent then
            removeESP(item)
        end
    end
    -- Thêm item mới
    for _, item in ipairs(current) do
        if not espMap[item] then
            createESP(item)
        end
    end
end

-- Vòng lặp tự động cập nhật danh sách item (mỗi 2 giây)
local function autoScanLoop()
    while true do
        task.wait(2)
        syncESP()
    end
end

-- Cập nhật ESP mỗi frame (vị trí, hiển thị)
local function updateESP()
    if not CONFIG.Enabled then
        for _, d in pairs(espMap) do
            d.Box.Visible = false
            d.Text.Visible = false
        end
        return
    end
    local char = LocalPlayer.Character
    if not char then return end
    local root = char:FindFirstChild("HumanoidRootPart")
    if not root then return end
    local myPos = root.Position
    for item, d in pairs(espMap) do
        if not item or not item.Parent then
            removeESP(item)
            continue
        end
        local pos = getItemPos(item)
        if not pos then
            d.Box.Visible = false
            d.Text.Visible = false
            continue
        end
        local dist = (pos - myPos).Magnitude
        if dist > CONFIG.MaxDistance then
            d.Box.Visible = false
            d.Text.Visible = false
            continue
        end
        local vec, onScreen = Camera:WorldToViewportPoint(pos)
        if not onScreen then
            d.Box.Visible = false
            d.Text.Visible = false
            continue
        end
        if CONFIG.BoxESP then
            local scale = 80 / (vec.Z * 0.5 + 0.1)
            local sz = Vector2.new(30 * scale, 30 * scale)
            d.Box.Position = Vector2.new(vec.X - sz.X/2, vec.Y - sz.Y/2)
            d.Box.Size = sz
            d.Box.Visible = true
            d.Box.Color = CONFIG.BoxColor
        else
            d.Box.Visible = false
        end
        local txt = item.Name
        if CONFIG.ShowDistance then
            txt = txt .. " [" .. math.floor(dist) .. "m]"
        end
        d.Text.Text = txt
        d.Text.Position = Vector2.new(vec.X, vec.Y - 25)
        d.Text.Visible = CONFIG.ShowName or CONFIG.ShowDistance
        d.Text.Color = CONFIG.TextColor
    end
end

-- Tạo GUI (chỉ có nút ON/OFF)
local function createGUI()
    if gui and gui.Parent then gui:Destroy() end
    local screenGui = Instance.new("ScreenGui")
    screenGui.Name = "ItemESP_Auto"
    screenGui.Parent = playerGui
    screenGui.ResetOnSpawn = false

    local frame = Instance.new("Frame")
    frame.Size = UDim2.new(0, 200, 0, 90)
    frame.Position = UDim2.new(0.5, -100, 0.5, -45)
    frame.BackgroundColor3 = Color3.fromRGB(30,30,40)
    frame.BackgroundTransparency = 0.1
    frame.Active = true
    frame.Draggable = true
    frame.Parent = screenGui
    Instance.new("UICorner").CornerRadius = UDim.new(0, 10)

    local title = Instance.new("TextLabel")
    title.Size = UDim2.new(1,0,0,25)
    title.BackgroundColor3 = Color3.fromRGB(0,150,255)
    title.Text = "📦 Item ESP"
    title.TextColor3 = Color3.new(1,1,1)
    title.TextSize = 16
    title.Font = Enum.Font.GothamBold
    title.Parent = frame
    Instance.new("UICorner").CornerRadius = UDim.new(0, 10)

    local toggleBtn = Instance.new("TextButton")
    toggleBtn.Size = UDim2.new(0.7, 0, 0, 35)
    toggleBtn.Position = UDim2.new(0.15, 0, 0.4, 0)
    toggleBtn.BackgroundColor3 = CONFIG.Enabled and Color3.fromRGB(0,200,0) or Color3.fromRGB(200,0,0)
    toggleBtn.Text = CONFIG.Enabled and "ON" or "OFF"
    toggleBtn.TextColor3 = Color3.new(1,1,1)
    toggleBtn.TextSize = 18
    toggleBtn.Font = Enum.Font.GothamBold
    toggleBtn.Parent = frame
    Instance.new("UICorner").CornerRadius = UDim.new(0, 8)

    toggleBtn.MouseButton1Click:Connect(function()
        CONFIG.Enabled = not CONFIG.Enabled
        toggleBtn.Text = CONFIG.Enabled and "ON" or "OFF"
        toggleBtn.BackgroundColor3 = CONFIG.Enabled and Color3.fromRGB(0,200,0) or Color3.fromRGB(200,0,0)
    end)

    local info = Instance.new("TextLabel")
    info.Size = UDim2.new(1, -10, 0, 15)
    info.Position = UDim2.new(0, 5, 1, -18)
    info.BackgroundTransparency = 1
    info.Text = "RightShift ẩn/hiện"
    info.TextColor3 = Color3.fromRGB(150,150,150)
    info.TextSize = 10
    info.Font = Enum.Font.Gotham
    info.Parent = frame

    gui = screenGui
end

-- Phím tắt RightShift
UserInputService.InputBegan:Connect(function(i, gp)
    if gp then return end
    if i.KeyCode == Enum.KeyCode.RightShift and gui then
        gui.Enabled = not gui.Enabled
    end
end)

-- Khởi tạo
task.spawn(function()
    createGUI()
    -- Đợi một chút để game load
    task.wait(1)
    itemsFolder = Workspace:FindFirstChild("Items")
    if itemsFolder then
        print("[ItemESP] Đã tìm thấy Workspace.Items. Đang khởi tạo ESP...")
        syncESP()   -- quét lần đầu
        scanThread = task.spawn(autoScanLoop)
    else
        print("[ItemESP] Không thấy Workspace.Items. Hãy đảm bảo bạn đang ở đúng game.")
    end
    renderConn = RunService.RenderStepped:Connect(updateESP)
end)

print("✅ Item ESP")

Features & Information

all item esp with button ( keyless)
#esp#jujutsu shenanigans#item#item esp

Community Comments (0)

No comments yet for this script.

More Scripts for [SKY ASSASSIN] Jujutsu Shenanigans