role esp
Key Required

role esp

Blood Debt [COMPLIANCE]IvStudioIvStudio 549 views 3.7K executesUpdated Aug 22, 2026
Unrated
00
Lua Script•411 lines (14588 chars)
-- Blood Debt: Intents Surfaced 多功能脚本
-- 适用于 Xeno Executor

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

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local CoreGui = game:GetService("CoreGui")

-- 警察武器列表
local POLICE_WEAPONS = {
    "J9a1 Meretta", "GG-17", "Dual GG-17s", "HWISSH-226 SHIELD", "GG-26",
    "Dual Merettas", "KriegsHerr-9", "Gild GG-17", "Gild J9a1 M",
    "PRIDE H-226 SHIELD", "R&E Snubby", "R&E M10", "IZVEKH-412",
    "Beagle-50", "Beagle-44", "'Paradise'", "Steel R&E Snubby",
    "ZKZ-Obrez", "H&W-MPi5K", "JS-5A-Obrez", "SHOT-7",
    "Buxxberg-COMPACT", "SAKURA ZKZ-Obrez", "SWAG-7", "ANKO46",
    "Gild ZKZ-Obrez", "Unioned ZKZ-Obrez"
}

-- 杀手武器列表
local KILLER_WEAPONS = {
    "JS2-Derringy", "410BONDS-Derringy", "WISP", "Fleet-K51", "Whizz",
    "JS1-CYCLOPS", "Jolibri", "'Memories'", "Pol357", "Cute JS2-Derringy",
    "Sawn-off", "JS", "JS1-Competitor", "Door'bler", "Mandols-5",
    "Sawed-THUMPA", "FT100", "Lenitrovyak-23", "Gild Sawn-off",
    "Gild JS", "Blaze Sawn-off", "K1911", "Mooser", "K1911 Threaded",
    "Gisil-Pistole", "HEARDBALLA", "ZT-33", "Bouquet", "Gild K1911",
    "H&W-K7", "ZT-33 (Golden)", "Gild Gisil-Pistole", "'Memorial'",
    "JS-22", "1895-Rosey", "AGM22", "RR-MarkII", "J21a Meretta",
    "JS-22 Sealed", "'Desperation'", "Plastic JS-22", "Steel 1895-Rosey",
    "RR-LightCompactPistol", "RR-LightCompactPistolS", "Bezzhumny",
    "HWISSH-KP9", "Kamatov", "ChromeSlide Turqoise RR-LCP",
    "Camo RR-LCPS", "Cute RR-LCPS", "Rosen-Obrez", "Daniqui-Obrez",
    "ZOZ-106", "Mares Leg", "ZOZ-106SCOPED", "Skeleton Rosen-Obrez",
    "JAVELIN-OBREZS", "Gild Rosen-Obrez", "Steel Mares Leg",
    "Steel Rosen-Obrez", "SKORPION", "ZZ-90", "PPm-41", "MAK-10",
    "Dual Micro KZis", "TEKE-9", "ZZ-71", "LUT-E 'PIP'", "Cr7s",
    "OTz-02", "PRIDE SKORPION", "Unioned PPm-41", "JTS225-Obrez",
    "JSK-44", "Kensington", "RUZKH-12", "Gild JTS225-Obrez",
    "Party Cannon JTS225-Obrez"
}

-- Создаем словарь для быстрого поиска
local WEAPON_DICT = {}
for _, weapon in ipairs(POLICE_WEAPONS) do
    WEAPON_DICT[weapon] = "Vigilante"
end
for _, weapon in ipairs(KILLER_WEAPONS) do
    WEAPON_DICT[weapon] = "Killer"
end

-- 脚本配置
local Config = {
    ESPEnabled = true,
    AimbotEnabled = false,
    ESPMode = "Highlight", -- "Highlight" или "Hitbox"
    WeaponHighlight = true, -- Подсветка оружия
    Language = "Russian"
}

-- ================================= GUI 面板创建 =================================
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "BloodDebtCheat"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = CoreGui

local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 280, 0, 190)
MainFrame.Position = UDim2.new(0.02, 0, 0.5, -95)
MainFrame.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1)
MainFrame.BackgroundTransparency = 0.3
MainFrame.BorderColor3 = Color3.new(0.5, 0.5, 0.5)
MainFrame.BorderSizePixel = 1
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui

local TitleLabel = Instance.new("TextLabel")
TitleLabel.Name = "TitleLabel"
TitleLabel.Size = UDim2.new(1, 0, 0, 30)
TitleLabel.Position = UDim2.new(0, 0, 0, 0)
TitleLabel.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
TitleLabel.Text = "Blood Debt Panel"
TitleLabel.TextColor3 = Color3.new(1, 1, 1)
TitleLabel.TextSize = 16
TitleLabel.Font = Enum.Font.SourceSansBold
TitleLabel.Parent = MainFrame

local function createToggleButton(name, yPos, default, text)
    local button = Instance.new("TextButton")
    button.Name = name
    button.Size = UDim2.new(1, 0, 0, 30)
    button.Position = UDim2.new(0, 0, yPos, 0)
    button.BackgroundColor3 = default and Color3.new(0, 0.5, 0) or Color3.new(0.5, 0, 0)
    button.Text = text
    button.TextColor3 = Color3.new(1, 1, 1)
    button.TextSize = 14
    button.Font = Enum.Font.SourceSans
    button.Parent = MainFrame
    return button
end

local ESPToggle = createToggleButton("ESPToggle", 30, Config.ESPEnabled, "ESP: Вкл")
local WeaponToggle = createToggleButton("WeaponToggle", 60, Config.WeaponHighlight, "Оружие: Подсветка")
local AimbotToggle = createToggleButton("AimbotToggle", 90, Config.AimbotEnabled, "Аимбот: Выкл")
local CloseButton = createToggleButton("CloseButton", 120, false, "Закрыть")

-- GUI события
ESPToggle.MouseButton1Click:Connect(function()
    Config.ESPEnabled = not Config.ESPEnabled
    ESPToggle.BackgroundColor3 = Config.ESPEnabled and Color3.new(0, 0.5, 0) or Color3.new(0.5, 0, 0)
    ESPToggle.Text = Config.ESPEnabled and "ESP: Вкл" or "ESP: Выкл"
end)

WeaponToggle.MouseButton1Click:Connect(function()
    Config.WeaponHighlight = not Config.WeaponHighlight
    WeaponToggle.BackgroundColor3 = Config.WeaponHighlight and Color3.new(0, 0.5, 0) or Color3.new(0.5, 0, 0)
    WeaponToggle.Text = Config.WeaponHighlight and "Оружие: Подсветка" or "Оружие: Выкл"
end)

AimbotToggle.MouseButton1Click:Connect(function()
    Config.AimbotEnabled = not Config.AimbotEnabled
    AimbotToggle.BackgroundColor3 = Config.AimbotEnabled and Color3.new(0, 0.5, 0) or Color3.new(0.5, 0, 0)
    AimbotToggle.Text = Config.AimbotEnabled and "Аимбот: Вкл" or "Аимбот: Выкл"
end)

CloseButton.MouseButton1Click:Connect(function()
    ScreenGui:Destroy()
    script:Destroy()
end)

-- Перетаскивание окна
local dragging = false
local dragStart = Vector2.new()
local startPos = UDim2.new()

TitleLabel.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        dragStart = input.Position
        startPos = MainFrame.Position
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
        local delta = input.Position - dragStart
        MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = false
    end
end)

-- ================================= ESP функции =================================
local ESPObjects = {}

local function getRole(player)
    local character = player.Character
    if not character then return "Innocent" end

    for _, tool in ipairs(character:GetChildren()) do
        if tool:IsA("Tool") and WEAPON_DICT[tool.Name] then
            return WEAPON_DICT[tool.Name]
        end
    end

    local backpack = player:FindFirstChild("Backpack")
    if backpack then
        for _, tool in ipairs(backpack:GetChildren()) do
            if tool:IsA("Tool") and WEAPON_DICT[tool.Name] then
                return WEAPON_DICT[tool.Name]
            end
        end
    end

    return "Innocent"
end

local function createESP(player)
    if ESPObjects[player] or player == LocalPlayer then return end

    local character = player.Character
    if not character then return end

    local humanoid = character:FindFirstChildOfClass("Humanoid")
    local rootPart = character:FindFirstChild("HumanoidRootPart")
    if not humanoid or not rootPart then return end

    local highlight = Instance.new("Highlight")
    highlight.Name = "ESPHighlight"
    highlight.Parent = character
    highlight.Enabled = Config.ESPMode == "Highlight"
    highlight.FillColor = Color3.new(0, 1, 0)
    highlight.FillTransparency = 0.6
    highlight.OutlineColor = Color3.new(1, 1, 1)
    highlight.OutlineTransparency = 0.5
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop

    local billboardGui = Instance.new("BillboardGui")
    billboardGui.Name = "ESPName"
    billboardGui.Adornee = rootPart
    billboardGui.Size = UDim2.new(0, 250, 0, 100)
    billboardGui.AlwaysOnTop = true
    billboardGui.StudsOffset = Vector3.new(0, 3.5, 0)
    billboardGui.Parent = rootPart

    local nameText = Instance.new("TextLabel")
    nameText.Parent = billboardGui
    nameText.Size = UDim2.new(1, 0, 0.25, 0)
    nameText.Text = player.Name
    nameText.TextColor3 = Color3.new(1, 1, 1)
    nameText.BackgroundTransparency = 1
    nameText.TextStrokeTransparency = 0
    nameText.Font = Enum.Font.SourceSansBold
    nameText.TextSize = 14

    local roleText = Instance.new("TextLabel")
    roleText.Parent = billboardGui
    roleText.Size = UDim2.new(1, 0, 0.2, 0)
    roleText.Position = UDim2.new(0, 0, 0.25, 0)
    roleText.Text = "Innocent"
    roleText.TextColor3 = Color3.new(0, 1, 0)
    roleText.BackgroundTransparency = 1
    roleText.TextStrokeTransparency = 0
    roleText.Font = Enum.Font.SourceSans
    roleText.TextSize = 12

    ESPObjects[player] = {
        Highlight = highlight,
        Billboard = billboardGui,
        NameText = nameText,
        RoleText = roleText,
        Character = character,
        Humanoid = humanoid,
        LastUpdate = 0
    }
end

local function updateESP()
    if not Config.ESPEnabled then
        for player, esp in pairs(ESPObjects) do
            if esp.Highlight then esp.Highlight.Enabled = false end
            if esp.Billboard then esp.Billboard.Enabled = false end
        end
        return
    end

    local currentTime = os.clock()
    
    for player, esp in pairs(ESPObjects) do
        if not player:IsDescendantOf(Players) or not esp.Character:IsDescendantOf(Workspace) or esp.Humanoid.Health <= 0 or player.Character ~= esp.Character then
            esp.Highlight:Destroy()
            esp.Billboard:Destroy()
            ESPObjects[player] = nil
            if player.Character then
                createESP(player)
            end
            continue
        end

        if currentTime - esp.LastUpdate > 1 then
            esp.LastUpdate = currentTime
            esp.Highlight.Enabled = Config.ESPMode == "Highlight"
            esp.Billboard.Enabled = true
            
            local role = getRole(player)
            if role == "Vigilante" then
                esp.Highlight.FillColor = Color3.new(0, 0, 1)
                esp.RoleText.Text = "Полиция"
                esp.RoleText.TextColor3 = Color3.new(0, 0, 1)
            elseif role == "Killer" then
                esp.Highlight.FillColor = Color3.new(1, 0, 0)
                esp.RoleText.Text = "Убийца"
                esp.RoleText.TextColor3 = Color3.new(1, 0, 0)
            else
                esp.Highlight.FillColor = Color3.new(0, 1, 0)
                esp.RoleText.Text = "Невинный"
                esp.RoleText.TextColor3 = Color3.new(0, 1, 0)
            end
        end
    end
    
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character and not ESPObjects[player] then
            createESP(player)
        end
    end
end

-- ================================= Подсветка оружия =================================
local highlightedWeapons = {}

local function isWeaponInHands(tool)
    local parent = tool.Parent
    while parent do
        if parent:IsA("Model") and parent:FindFirstChild("Humanoid") then
            return true
        end
        parent = parent.Parent
    end
    return false
end

local function updateWeaponHighlight()
    if not Config.WeaponHighlight then
        for weapon, highlight in pairs(highlightedWeapons) do
            highlight:Destroy()
            highlightedWeapons[weapon] = nil
        end
        return
    end
    
    for weapon, highlight in pairs(highlightedWeapons) do
        if not weapon:IsDescendantOf(Workspace) or isWeaponInHands(weapon) then
            highlight:Destroy()
            highlightedWeapons[weapon] = nil
        end
    end
    
    local bloodFolder = Workspace:FindFirstChild("BloodFolder")
    if not bloodFolder then return end
    
    for _, child in pairs(bloodFolder:GetDescendants()) do
        if child:IsA("Tool") and WEAPON_DICT[child.Name] and not highlightedWeapons[child] and not isWeaponInHands(child) then
            local highlight = Instance.new("Highlight")
            highlight.Name = "ToolESP"
            highlight.Parent = child
            highlight.FillColor = Color3.new(1, 1, 0)
            highlight.FillTransparency = 0.6
            highlight.OutlineColor = Color3.new(1, 1, 0)
            highlight.OutlineTransparency = 1
            highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
            highlightedWeapons[child] = highlight
        end
    end
end

-- ================================= Аимбот =================================
local function getClosestPlayer()
    local closest = nil
    local shortest = math.huge
    local camera = Workspace.CurrentCamera
    local mousePos = UserInputService:GetMouseLocation()

    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character then
            local head = player.Character:FindFirstChild("Head")
            if head then
                local screenPos, onScreen = camera:WorldToScreenPoint(head.Position)
                if onScreen then
                    local dist = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).magnitude
                    if dist < shortest then
                        shortest = dist
                        closest = player
                    end
                end
            end
        end
    end
    return closest
end

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.UserInputType == Enum.UserInputType.MouseButton2 and Config.AimbotEnabled then
        local target = getClosestPlayer()
        if target and target.Character then
            local head = target.Character:FindFirstChild("Head")
            if head then
                Workspace.CurrentCamera.CFrame = CFrame.new(Workspace.CurrentCamera.CFrame.Position, head.Position)
            end
        end
    end
end)

-- ================================= Инициализация =================================
for _, player in ipairs(Players:GetPlayers()) do
    if player ~= LocalPlayer and player.Character then
        createESP(player)
    end
end

Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function()
        task.wait(1)
        if player ~= LocalPlayer then
            createESP(player)
        end
    end)
end)

-- Главный цикл
task.spawn(function()
    while true do
        updateESP()
        updateWeaponHighlight()
        task.wait(1)
    end
end)

warn("Скрипт загружен!")

Features & Information

made by ai

Community Comments (1)

daukes7702daukes7702Oct 8, 2026

yo what ai did you use

More Scripts for Blood Debt [COMPLIANCE]