-- 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 POLICE_WEAPONS = { "J9-Meretta", "RR-Snubby", "Beagle", "HW-226", "HW-M5K", "Mini Ranch Rifle", "ZKZ-Obrez", "GG-17", "IZVEKH-412" } -- 杀手武器列表 local KILLER_WEAPONS = { "JS-2 Derringy", "WISP", "Mooser", "K1911", "HW-K7", "HEARDBALLER", "Kamatov", "RR-LightCombatPistol (S)", "HWISHH-KP9", "RUZKH-12", "JS-44", "RR-MARK2", "JS-22", "Rosen-Obrez", "AGM-22", "JS1 Competitor", "Door'bler", "Hammer n Bullet", "Jolibri", "TEKE-9", "KR7S", "MAK-10", "HW-M5K", "ZZ-90", "IZVEKH-BISEN", "LUT-E", "KRUS", "SKORPION", "APZ", "Micro KZI" } -- 脚本配置 local Config = { ESPEnabled = true, AimbotEnabled = true, Language = "Chinese", -- "Chinese" 或 "English" ShowAmmo = true } -- 检查是否在正确的游戏中 (请自行更新PlaceId) local TARGET_PLACE_ID = 123456789 if game.PlaceId ~= TARGET_PLACE_ID then warn("警告:当前游戏的 PlaceId 与脚本预设的不符。脚本可能无法正常工作!") end -- ================================= GUI 面板创建 ================================= local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "BloodDebtCheat" ScreenGui.Parent = game.CoreGui local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 280, 0, 220) MainFrame.Position = UDim2.new(0.02, 0, 0.5, -110) 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 多功能面板" TitleLabel.TextColor3 = Color3.new(1, 1, 1) TitleLabel.TextSize = 16 TitleLabel.Font = Enum.Font.SourceSansBold TitleLabel.Parent = MainFrame -- 功能开关按钮 local function createToggleButton(name, yPos, default, ChineseText, EnglishText) 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 = Config.Language == "Chinese" and ChineseText or EnglishText 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: 开启", "ESP: Enabled") local AimbotToggle = createToggleButton("AimbotToggle", 60, Config.AimbotEnabled, "自瞄: 开启", "Aimbot: Enabled") local AmmoToggle = createToggleButton("AmmoToggle", 90, Config.ShowAmmo, "显示弹药: 开启", "Show Ammo: Enabled") local LanguageToggle = createToggleButton("LanguageToggle", 120, false, "语言: 中文", "Language: English") local CloseButton = createToggleButton("CloseButton", 150, false, "关闭脚本", "Close Script") -- 弹药显示标签 local AmmoLabel = Instance.new("TextLabel") AmmoLabel.Name = "AmmoLabel" AmmoLabel.Size = UDim2.new(0, 200, 0, 30) AmmoLabel.Position = UDim2.new(0.5, -100, 0, -35) AmmoLabel.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1) AmmoLabel.BackgroundTransparency = 0.3 AmmoLabel.Text = "弹药: --/--" AmmoLabel.TextColor3 = Color3.new(1, 1, 0) AmmoLabel.TextSize = 14 AmmoLabel.Font = Enum.Font.SourceSansBold AmmoLabel.Parent = ScreenGui AmmoLabel.Visible = Config.ShowAmmo -- ================================= 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.Language == "Chinese" and (Config.ESPEnabled and "ESP: 开启" or "ESP: 关闭") or (Config.ESPEnabled and "ESP: Enabled" or "ESP: Disabled") 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.Language == "Chinese" and (Config.AimbotEnabled and "自瞄: 开启" or "自瞄: 关闭") or (Config.AimbotEnabled and "Aimbot: Enabled" or "Aimbot: Disabled") end) AmmoToggle.MouseButton1Click:Connect(function() Config.ShowAmmo = not Config.ShowAmmo AmmoLabel.Visible = Config.ShowAmmo AmmoToggle.BackgroundColor3 = Config.ShowAmmo and Color3.new(0, 0.5, 0) or Color3.new(0.5, 0, 0) AmmoToggle.Text = Config.Language == "Chinese" and (Config.ShowAmmo and "显示弹药: 开启" or "显示弹药: 关闭") or (Config.ShowAmmo and "Show Ammo: Enabled" or "Show Ammo: Disabled") end) LanguageToggle.MouseButton1Click:Connect(function() Config.Language = Config.Language == "Chinese" and "English" or "Chinese" LanguageToggle.Text = Config.Language == "Chinese" and "语言: 中文" or "Language: English" TitleLabel.Text = Config.Language == "Chinese" and "Blood Debt 多功能面板" or "Blood Debt多功能 Panel" ESPToggle.Text = Config.Language == "Chinese" and (Config.ESPEnabled and "ESP: 开启" or "ESP: 关闭") or (Config.ESPEnabled and "ESP: Enabled" or "ESP: Disabled") AimbotToggle.Text = Config.Language == "Chinese" and (Config.AimbotEnabled and "自瞄: 开启" or "自瞄: 关闭") or (Config.AimbotEnabled and "Aimbot: Enabled" or "Aimbot: Disabled") AmmoToggle.Text = Config.Language == "Chinese" and (Config.ShowAmmo and "显示弹药: 开启" or "显示弹药: 关闭") or (Config.ShowAmmo and "Show Ammo: Enabled" or "Show Ammo: Disabled") CloseButton.Text = Config.Language == "Chinese" and "关闭脚本" or "Close Script" 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) -- ================================= 核心功能实现 ================================= -- 1. 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") then for _, weaponName in ipairs(POLICE_WEAPONS) do if tool.Name == weaponName then return "Vigilante" end end for _, weaponName in ipairs(KILLER_WEAPONS) do if tool.Name == weaponName then return "Killer" end 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 espBox = Instance.new("BoxHandleAdornment") espBox.Name = "ESPBox" espBox.Adornee = rootPart espBox.ZIndex = 5 espBox.AlwaysOnTop = true espBox.Size = Vector3.new(4, 6, 2.5) espBox.Transparency = 0.7 espBox.Parent = rootPart 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 = "Role: Innocent" roleText.TextColor3 = Color3.new(0, 1, 0) roleText.BackgroundTransparency = 1 roleText.TextStrokeTransparency = 0 roleText.Font = Enum.Font.SourceSans roleText.TextSize = 12 local weaponText = Instance.new("TextLabel") weaponText.Parent = billboardGui weaponText.Size = UDim2.new(1, 0, 0.2, 0) weaponText.Position = UDim2.new(0, 0, 0.45, 0) weaponText.Text = "Weapon: None" weaponText.TextColor3 = Color3.new(1, 1, 1) weaponText.BackgroundTransparency = 1 weaponText.TextStrokeTransparency = 0 weaponText.Font = Enum.Font.SourceSans weaponText.TextSize = 12 local invText = Instance.new("TextLabel") invText.Parent = billboardGui invText.Size = UDim2.new(1, 0, 0.35, 0) invText.Position = UDim2.new(0, 0, 0.65, 0) invText.Text = "Inventory:\nNone" invText.TextColor3 = Color3.new(0.8, 0.8, 0.8) invText.BackgroundTransparency = 1 invText.TextStrokeTransparency = 0 invText.Font = Enum.Font.SourceSans invText.TextSize = 11 invText.TextWrapped = true ESPObjects[player] = { Box = espBox, Billboard = billboardGui, NameText = nameText, RoleText = roleText, WeaponText = weaponText, InvText = invText, Character = character, Humanoid = humanoid } end local function updateESP() if not Config.ESPEnabled then return end for player, esp in pairs(ESPObjects) do if not player:IsDescendantOf(Players) or not esp.Character:IsDescendantOf(Workspace) or esp.Humanoid.Health <= 0 then esp.Box:Destroy() esp.Billboard:Destroy() ESPObjects[player] = nil continue end local role = getRole(player) local color = role == "Vigilante" and Color3.new(0, 0, 1) or role == "Killer" and Color3.new(1, 0, 0) or Color3.new(0, 1, 0) local roleDisplayName = Config.Language == "Chinese" and (role == "Vigilante" and "警察" or role == "Killer" and "杀手" or "无辜") or role local currentWeapon = "None" local inventory = {} for _, tool in ipairs(esp.Character:GetChildren()) do if tool:IsA("Tool") then if tool.Parent == esp.Character then currentWeapon = tool.Name end table.insert(inventory, tool.Name) end end esp.Box.Color3 = color esp.NameText.TextColor3 = color esp.RoleText.Text = (Config.Language == "Chinese" and "身份: " or "Role: ") .. roleDisplayName esp.RoleText.TextColor3 = color esp.WeaponText.Text = (Config.Language == "Chinese" and "手持: " or "Weapon: ") .. currentWeapon esp.InvText.Text = (Config.Language == "Chinese" and "物品栏:\n" or "Inventory:\n") .. (next(inventory) and table.concat(inventory, ", ") or "None") end end -- 2. 自瞄功能 local function getClosestPlayer() local closestPlayer = nil local shortestDistance = math.huge local camera = Workspace.CurrentCamera local mousePos = UserInputService:GetMouseLocation() for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character and player.Character:FindFirstChildOfClass("Humanoid") and player.Character.Humanoid.Health > 0 then local head = player.Character:FindFirstChild("Head") if head then local screenPos, onScreen = camera:WorldToScreenPoint(head.Position) if onScreen then local distance = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).magnitude if distance < shortestDistance then shortestDistance = distance closestPlayer = player end end end end end return closestPlayer end UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.UserInputType == Enum.UserInputType.MouseButton2 then -- 右键 if Config.AimbotEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") and LocalPlayer.Character.Humanoid.Health > 0 then local targetPlayer = getClosestPlayer() if targetPlayer and targetPlayer.Character then local head = targetPlayer.Character:FindFirstChild("Head") if head then Workspace.CurrentCamera.CFrame = CFrame.new(Workspace.CurrentCamera.CFrame.Position, head.Position) end end end end end) -- 3. 弹药显示功能 local function updateAmmo() if not Config.ShowAmmo then return end if not LocalPlayer.Character then return end local tool = LocalPlayer.Character:FindFirstChildOfClass("Tool") if not tool then AmmoLabel.Text = Config.Language == "Chinese" and "弹药: 无武器" or "Ammo: No Weapon" return end local ammoValue = tool:FindFirstChild("Ammo") or tool:FindFirstChild("CurrentAmmo") local maxAmmoValue = tool:FindFirstChild("MaxAmmo") local ammo = ammoValue and ammoValue.Value or "?" local maxAmmo = maxAmmoValue and maxAmmoValue.Value or "?" AmmoLabel.Text = (Config.Language == "Chinese" and "弹药: " or "Ammo: ") .. ammo .. "/" .. maxAmmo end -- ================================= 循环更新 ================================= -- 监听玩家加入和角色加载 Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function(character) wait(1) if player ~= LocalPlayer then createESP(player) end end) end) -- 为已存在的玩家创建ESP for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then createESP(player) end end -- 主循环 RunService.RenderStepped:Connect(function() updateESP() updateAmmo() end) warn("脚本已成功加载!")