🔓 Keyless
Step into the tense, high-stakes rounds of Murder Mystery 2 with the ultimate tactical advantage using the MM2 Legit Script. Whether you are hunting down innocents as the Murderer or aiming to take down the threat as the Sheriff, this tool provides you with the precision and speed needed to dominate every round. Best of all, this powerful script is completely keyless, allowing you to bypass annoying linkvertises and jump straight into the action.
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Lighting = game:GetService("Lighting")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- Полная очистка старого меню перед запуском
if PlayerGui:FindFirstChild("XenoFinalMenu") then PlayerGui.XenoFinalMenu:Destroy() end
local ScreenGui = Instance.new("ScreenGui", PlayerGui)
ScreenGui.Name = "XenoFinalMenu"
ScreenGui.ResetOnSpawn = false
-- [Функция перетаскивания]
local function makeDraggable(gui)
local dragging, dragStart, startPos
gui.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true; dragStart = input.Position; startPos = gui.Position
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
gui.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 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end
end)
end
-- [Функция строгой ЧЕРНОЙ ОБВОДКИ ДЛЯ РАМОК]
local function addBlackBorder(parent)
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(0, 0, 0)
stroke.Thickness = 2
stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
stroke.Parent = parent
return stroke
end
-- ==========================================================
-- ОСТРОВОК СВЕРХУ (Кнопка Скрыть/Открыть)
-- ==========================================================
local ToggleBtn = Instance.new("TextButton", ScreenGui)
ToggleBtn.Size = UDim2.new(0, 100, 0, 30)
ToggleBtn.Position = UDim2.new(0.5, -50, 0, 20)
ToggleBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
ToggleBtn.Text = "Скрыть"
ToggleBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
ToggleBtn.Font = Enum.Font.GothamBold
ToggleBtn.TextSize = 13
ToggleBtn.ZIndex = 10
Instance.new("UICorner", ToggleBtn).CornerRadius = UDim.new(1, 0)
addBlackBorder(ToggleBtn)
makeDraggable(ToggleBtn)
-- ==========================================================
-- ГЛАВНОЕ ОКНО
-- ==========================================================
local MainPanel = Instance.new("Frame", ScreenGui)
MainPanel.Size = UDim2.new(0, 420, 0, 320)
MainPanel.Position = UDim2.new(0.5, -210, 0.5, -160)
MainPanel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
MainPanel.ZIndex = 5
Instance.new("UICorner", MainPanel).CornerRadius = UDim.new(0, 8)
addBlackBorder(MainPanel)
makeDraggable(MainPanel)
ToggleBtn.MouseButton1Click:Connect(function()
MainPanel.Visible = not MainPanel.Visible
ToggleBtn.Text = MainPanel.Visible and "Скрыть" or "Открыть"
end)
-- [БОКОВАЯ ПАНЕЛЬ ВКЛАДОК]
local Sidebar = Instance.new("Frame", MainPanel)
Sidebar.Size = UDim2.new(0, 110, 1, 0)
Sidebar.BackgroundColor3 = Color3.fromRGB(245, 245, 245)
Sidebar.ZIndex = 6
Instance.new("UICorner", Sidebar).CornerRadius = UDim.new(0, 8)
addBlackBorder(Sidebar)
local SidebarList = Instance.new("UIListLayout", Sidebar)
SidebarList.Padding = UDim.new(0, 4)
-- [СТРАНИЦЫ КОНТЕНТА СО СКРОЛЛИНГОМ]
local Pages = Instance.new("Frame", MainPanel)
Pages.Size = UDim2.new(1, -120, 1, 0)
Pages.Position = UDim2.new(0, 115, 0, 0)
Pages.BackgroundTransparency = 1
Pages.ZIndex = 6
local function CreatePage()
local f = Instance.new("ScrollingFrame", Pages)
f.Size = UDim2.new(1, 0, 1, -10)
f.Position = UDim2.new(0, 0, 0, 5)
f.BackgroundTransparency = 1
f.Visible = false
f.ScrollBarThickness = 3
f.CanvasSize = UDim2.new(0, 0, 0, 0)
local l = Instance.new("UIListLayout", f)
l.Padding = UDim.new(0, 6)
l.HorizontalAlignment = Enum.HorizontalAlignment.Center
l.VerticalAlignment = Enum.VerticalAlignment.Top
l:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
f.CanvasSize = UDim2.new(0, 0, 0, l.AbsoluteContentSize.Y + 10)
end)
return f
end
local CombatFrame = CreatePage(); CombatFrame.Visible = true
local ESPFrame = CreatePage()
local VisualsFrame = CreatePage()
local TrollingFrame = CreatePage()
local ButtonsFrame = CreatePage()
-- [ФУНКЦИЯ СОЗДАНИЯ ВКЛАДКИ СБОКУ]
local function CreateTab(text, frame)
local Btn = Instance.new("TextButton", Sidebar)
Btn.Size = UDim2.new(1, 0, 0, 38)
Btn.Text = text
Btn.TextColor3 = Color3.fromRGB(0, 0, 0)
Btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Btn.Font = Enum.Font.GothamSemibold
Btn.TextSize = 13
Btn.ZIndex = 7
addBlackBorder(Btn)
Btn.MouseButton1Click:Connect(function()
CombatFrame.Visible = false; ESPFrame.Visible = false; VisualsFrame.Visible = false; TrollingFrame.Visible = false; ButtonsFrame.Visible = false
frame.Visible = true
end)
end
CreateTab("Combat", CombatFrame)
CreateTab("ESP", ESPFrame)
CreateTab("Визуалы", VisualsFrame)
CreateTab("Троллинг", TrollingFrame)
CreateTab("Кнопки", ButtonsFrame)
-- [ФУНКЦИЯ СОЗДАНИЯ КНОПОК ФУНКЦИЙ]
local function CreateFuncBtn(text, parent, callback)
local Btn = Instance.new("TextButton", parent)
Btn.Size = UDim2.new(0, 260, 0, 32)
Btn.Text = text
Btn.TextColor3 = Color3.fromRGB(0, 0, 0)
Btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Btn.Font = Enum.Font.GothamSemibold
Btn.TextSize = 13
Btn.ZIndex = 8
Instance.new("UICorner", Btn).CornerRadius = UDim.new(0, 6)
addBlackBorder(Btn)
Btn.MouseButton1Click:Connect(function() callback(Btn) end)
end
-- ==========================================================
-- ЛОГИКА ФУНКЦИЙ ПО КАТЕГОРИЯМ
-- ==========================================================
local ESP_Enabled = false
local Aimbot_Enabled = false
local Prediction_Enabled = false
local Spin_Enabled = false
local GunESP_Enabled = false
-- Функция определения роли в MM2
local function GetPlayerRole(player)
local char = player.Character
local backpack = player:FindFirstChild("Backpack")
if (char and char:FindFirstChild("Knife")) or (backpack and backpack:FindFirstChild("Knife")) then
return "Murderer"
elseif (char and char:FindFirstChild("Gun")) or (backpack and backpack:FindFirstChild("Gun")) then
return "Sheriff"
end
return "Innocent"
end
-- 1. COMBAT
CreateFuncBtn("Aimbot: ВЫКЛ", CombatFrame, function(b)
Aimbot_Enabled = not Aimbot_Enabled
b.Text = "Aimbot: "..(Aimbot_Enabled and "ВКЛ" or "ВЫКЛ")
end)
if true then
CreateFuncBtn("Предикшн движений: ВЫКЛ", CombatFrame, function(b)
Prediction_Enabled = not Prediction_Enabled
b.Text = "Предикшн движений: "..(Prediction_Enabled and "ВКЛ" or "ВЫКЛ")
end)
end
CreateFuncBtn("Auto Click: В разработке", CombatFrame, function() end)
-- 2. ESP
CreateFuncBtn("ESP игроки: ВЫКЛ", ESPFrame, function(b)
ESP_Enabled = not ESP_Enabled
b.Text = "ESP игроки: "..(ESP_Enabled and "ВКЛ" or "ВЫКЛ")
end)
CreateFuncBtn("ESP Пистолет: ВЫКЛ", ESPFrame, function(b)
GunESP_Enabled = not GunESP_Enabled
b.Text = "ESP Пистолет: "..(GunESP_Enabled and "ВКЛ" or "ВЫКЛ")
end)
CreateFuncBtn("Full Bright (Яркий свет)", ESPFrame, function()
Lighting.Brightness = 2
Lighting.Ambient = Color3.fromRGB(255, 255, 255)
end)
-- 3. ВИЗУАЛЫ
CreateFuncBtn("FOV 120 (Широкий обзор)", VisualsFrame, function() Camera.FieldOfView = 120 end)
CreateFuncBtn("FOV 70 (Обычный обзор)", VisualsFrame, function() Camera.FieldOfView = 70 end)
-- 4. ТРОЛЛИНГ
CreateFuncBtn("SpeedHack (Быстрый бег)", TrollingFrame, function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
LocalPlayer.Character:FindFirstChildOfClass("Humanoid").WalkSpeed = 50
end
end)
CreateFuncBtn("JumpPower (Высокий прыжок)", TrollingFrame, function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
hum.UseJumpPower = true
hum.JumpPower = 100
end
end)
CreateFuncBtn("SpinBot: ВЫКЛ", TrollingFrame, function(b)
Spin_Enabled = not Spin_Enabled
b.Text = "SpinBot: "..(Spin_Enabled and "ВКЛ" or "ВЫКЛ")
task.spawn(function()
while Spin_Enabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") do
LocalPlayer.Character.HumanoidRootPart.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.Angles(0, math.rad(45), 0)
task.wait()
end
end)
end)
-- ==========================================================
-- 5. КНОПКИ & ОТДЕЛЬНАЯ КНОПКА KILL ALL НА ЭКРАНЕ
-- ==========================================================
local ScreenKillButton = Instance.new("TextButton", ScreenGui)
ScreenKillButton.Size = UDim2.new(0, 85, 0, 85)
ScreenKillButton.Position = UDim2.new(0.82, 0, 0.45, 0)
ScreenKillButton.Text = "KILL ALL"
ScreenKillButton.TextColor3 = Color3.fromRGB(240, 0, 0)
ScreenKillButton.Font = Enum.Font.GothamBold
ScreenKillButton.TextSize = 14
ScreenKillButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
ScreenKillButton.Visible = false
ScreenKillButton.ZIndex = 15
Instance.new("UICorner", ScreenKillButton).CornerRadius = UDim.new(1, 0)
addBlackBorder(ScreenKillButton)
makeDraggable(ScreenKillButton)
ScreenKillButton.MouseButton1Click:Connect(function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
local myRoot = LocalPlayer.Character.HumanoidRootPart
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
local humanoid = p.Character:FindFirstChildOfClass("Humanoid")
if humanoid and humanoid.Health > 0 then
myRoot.CFrame = p.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, 1.4)
task.wait(0.22)
end
end
end
end
end)
CreateFuncBtn("Показать Kill All на экране", ButtonsFrame, function(b)
ScreenKillButton.Visible = not ScreenKillButton.Visible
b.Text = ScreenKillButton.Visible and "Скрыть Kill All с экрана" or "Показать Kill All на экране"
end)
CreateFuncBtn("Сбросить ESP", ButtonsFrame, function()
for _, p in pairs(Players:GetPlayers()) do
if p.Character and p.Character:FindFirstChild("ESP_Highlight") then p.Character.ESP_Highlight:Destroy() end
end
local drop = workspace:FindFirstChild("GunDrop") or workspace:FindFirstChild("DroppedGun")
if drop and drop:FindFirstChild("Gun_ESP") then drop.Gun_ESP:Destroy() end
end)
CreateFuncBtn("Ресет персонажа", ButtonsFrame, function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
LocalPlayer.Character:FindFirstChildOfClass("Humanoid").Health = 0
end
end)
-- [ПОСТОЯННЫЙ ЦИКЛ ОБНОВЛЕНИЯ ДЛЯ ESP, GUN ESP И AIMBOT]
RunService.RenderStepped:Connect(function()
-- ESP Игроков
if ESP_Enabled then
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
if not p.Character:FindFirstChild("ESP_Highlight") then
local h = Instance.new("Highlight", p.Character)
h.Name = "ESP_Highlight"
h.OutlineTransparency = 0.2
h.FillTransparency = 0.5
end
local h = p.Character:FindFirstChild("ESP_Highlight")
if h then
local role = GetPlayerRole(p)
if role == "Murderer" then
h.FillColor = Color3.fromRGB(255, 0, 0)
elseif role == "Sheriff" then
h.FillColor = Color3.fromRGB(0, 0, 255)
else
h.FillColor = Color3.fromRGB(0, 255, 0)
end
end
end
end
else
for _, p in pairs(Players:GetPlayers()) do
if p.Character and p.Character:FindFirstChild("ESP_Highlight") then p.Character.ESP_Highlight:Destroy() end
end
end
-- ESP Пистолета
local gunDrop = workspace:FindFirstChild("GunDrop") or workspace:FindFirstChild("DroppedGun")
if GunESP_Enabled and gunDrop then
if not gunDrop:FindFirstChild("Gun_ESP") then
local h = Instance.new("Highlight", gunDrop)
h.Name = "Gun_ESP"
h.FillColor = Color3.fromRGB(255, 255, 0)
h.OutlineColor = Color3.fromRGB(255, 255, 255)
h.FillTransparency = 0.4
end
else
if gunDrop and gunDrop:FindFirstChild("Gun_ESP") then gunDrop.Gun_ESP:Destroy() end
end
-- Аимбот с Предикшном
if Aimbot_Enabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Gun") then
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("Head") and p.Character:FindFirstChild("HumanoidRootPart") and GetPlayerRole(p) == "Murderer" then
local targetPosition = p.Character.Head.Position
if Prediction_Enabled then
local velocity = p.Character.HumanoidRootPart.Velocity
targetPosition = targetPosition + (velocity * 0.165)
end
Camera.CFrame = CFrame.lookAt(Camera.CFrame.Position, targetPosition)
end
end
end
end)
No comments yet. Be the first!