-- MM2 Wallhack Script для Xeno Executor
-- Определяет роли по оружию в инвентаре
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")
-- Создаём папку для ESP эффектов
local ESPFolder = Instance.new("Folder")
ESPFolder.Name = "MM2_Wallhack"
ESPFolder.Parent = game.CoreGui
-- Настройки цветов
local Colors = {
Murderer = Color3.fromRGB(255, 0, 0), -- Красный
Sheriff = Color3.fromRGB(0, 0, 255), -- Синий
Innocent = Color3.fromRGB(0, 255, 0) -- Зелёный
}
-- Функция проверки роли по инвентарю
local function GetPlayerRole(player)
if player == LocalPlayer then return nil end
local character = player.Character
if not character then return "Innocent" end
-- Проверяем наличие ножа (Murderer)
if character:FindFirstChild("Knife") or
(player.Backpack and player.Backpack:FindFirstChild("Knife")) then
return "Murderer"
end
-- Проверяем наличие пистолета (Sheriff)
if character:FindFirstChild("Gun") or
character:FindFirstChild("Revolver") or
(player.Backpack and (player.Backpack:FindFirstChild("Gun") or player.Backpack:FindFirstChild("Revolver"))) then
return "Sheriff"
end
return "Innocent"
end
-- Функция создания ESP для игрока
local function AddESP(player)
local highlight = Instance.new("Highlight")
highlight.Name = player.Name .. "_ESP"
highlight.FillTransparency = 0.6
highlight.OutlineTransparency = 0.2
highlight.FillColor = Colors.Innocent
highlight.Parent = ESPFolder
-- Создаём Billboard для отображения роли
local billboard = Instance.new("BillboardGui")
billboard.Name = "RoleTag"
billboard.Size = UDim2.new(0, 100, 0, 30)
billboard.StudsOffset = Vector3.new(0, 2.5, 0)
billboard.AlwaysOnTop = true
billboard.Parent = highlight
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundTransparency = 1
textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
textLabel.TextStrokeTransparency = 0
textLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
textLabel.Font = Enum.Font.GothamBold
textLabel.TextSize = 14
textLabel.Text = "???"
textLabel.Parent = billboard
-- Обновление ESP каждый кадр
local connection
connection = RunService.RenderStepped:Connect(function()
if not player or not player.Parent then
connection:Disconnect()
highlight:Destroy()
return
end
local char = player.Character
if char and char:FindFirstChild("HumanoidRootPart") then
highlight.Adornee = char
highlight.Enabled = true
-- Определяем роль
local role = GetPlayerRole(player)
if role == "Murderer" then
highlight.FillColor = Colors.Murderer
textLabel.Text = "🔪 MURDERER"
textLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
elseif role == "Sheriff" then
highlight.FillColor = Colors.Sheriff
textLabel.Text = "🔫 SHERIFF"
textLabel.TextColor3 = Color3.fromRGB(100, 150, 255)
else
highlight.FillColor = Colors.Innocent
textLabel.Text = "👤 INNOCENT"
textLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
end
else
highlight.Enabled = false
end
end)
end
-- Обработка всех текущих игроков
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
AddESP(player)
end
end
-- Обработка новых игроков
Players.PlayerAdded:Connect(function(player)
if player ~= LocalPlayer then
AddESP(player)
end
end)
-- Очистка при выходе игрока
Players.PlayerRemoving:Connect(function(player)
local esp = ESPFolder:FindFirstChild(player.Name .. "_ESP")
if esp then
esp:Destroy()
end
end)
-- Уведомление о запуске
game.StarterGui:SetCore("SendNotification", {
Title = "MM2 Wallhack",
Text = "Успешно загружен! Игроки подсвечены через стены",
Duration = 3
})
print("MM2 Wallhack загружен! Murderer = Красный, Sheriff = Синий, Innocent = Зелёный")