-- MM2 ESP with Role Detection (Murderer/Cop/Innocent) + Speed local Players = game:GetService("Players") local Workspace = game:GetService("Workspace") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer local Camera = Workspace.CurrentCamera -- ESP colors local RoleColors = { ["Murderer"] = Color3.fromRGB(255,0,0), ["Sheriff"] = Color3.fromRGB(0,0,255), ["Innocent"] = Color3.fromRGB(0,255,0) } local ESPs = {} -- Function to detect role local function getRole(player) local char = player.Character if not char then return "Innocent" end -- Murderer detection: has Knife in character or Backpack if char:FindFirstChild("Knife") or (player:FindFirstChild("Backpack") and player.Backpack:FindFirstChild("Knife")) then return "Murderer" end -- Sheriff detection: has Gun in character or Backpack if char:FindFirstChild("Gun") or (player:FindFirstChild("Backpack") and player.Backpack:FindFirstChild("Gun")) then return "Sheriff" end -- Otherwise innocent return "Innocent" end -- Create/update ESP box local function createESP(player) if not player.Character or not player.Character:FindFirstChild("Head") then return end if ESPs[player] then ESPs[player]:Destroy() end local box = Instance.new("BoxHandleAdornment") box.Adornee = player.Character.Head box.Size = Vector3.new(2,2,2) box.AlwaysOnTop = true box.ZIndex = 10 box.Transparency = 0.5 box.Parent = Camera local role = getRole(player) box.Color3 = RoleColors[role] or Color3.fromRGB(255,255,255) ESPs[player] = box end -- Update ESP continuously RunService.RenderStepped:Connect(function() for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Head") then createESP(player) end end end) -- Cleanup ESP when a player leaves Players.PlayerRemoving:Connect(function(player) if ESPs[player] then ESPs[player]:Destroy() ESPs[player] = nil end end) -- ================= SPEED BOOST ================= local function applySpeed() local character = LocalPlayer.Character if character and character:FindFirstChildOfClass("Humanoid") then local humanoid = character:FindFirstChildOfClass("Humanoid") humanoid.WalkSpeed = 24 -- default is 16 end end LocalPlayer.CharacterAdded:Connect(function(char) char:WaitForChild("Humanoid") applySpeed() end) if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then applySpeed() end