Sign In to Your Account

Manual registration is temporarily disabled. Please use Discord, Google or GitHub to create an account.

CONTINUE WITH
EUGENEv2 MM2 Opensource ESP - Murder Mystery 2 Script | Free Roblox Script
Murder Mystery 2 Murder Mystery 2

EUGENEv2 MM2 Opensource ESP

Murder Mystery 2 1 views just now
EUGENEv2 MM2 Opensource ESP - Roblox Script
Mobile Mobile Friendly
Key Key Required

Description

Credits: 1337

Open Source MM2 ESP!UI Library used in this script: https://diser.me/EUGENE/library/Credits:Creator: @EUGENE Developer of the Script: @Dooomer

Murder Mystery 2
Explore more scripts
View all Murder Mystery 2 scripts

215 Lines 9,864 Bytes
local targetPlaceId = 142823291

if game.PlaceId ~= targetPlaceId then game.StarterGui:SetCore("SendNotification", { Title = "EUGENEv2 MM2 ESP Opensource"; Text = "You are not in the correct game! (Murder Mystery 2)\nPlease join Murder Mystery 2 to use this script!"; Duration = 5; }) return end

local EUGENE = loadstring(game:HttpGet("https://diser.me/EUGENE/library/ui-library.lua"))()

local Window = EUGENE.new("EUGENEv2 MM2 ESP Open Source", "https://rscripts.net/@EUGENE")

local Flags = { MurdererESP = true, SheriffESP = true, InnocentESP = true, SelfESP = false, }

local VisualsTab = Window:AddTab("Visuals", "Player highlights", "lucide-eye")

VisualsTab:AddSection("Outlines")

VisualsTab:AddToggle("Murderer", false, function(state) Flags.MurdererESP = state end, "MurdererESP")

VisualsTab:AddToggle("Sheriff", false, function(state) Flags.SheriffESP = state end, "SheriffESP")

VisualsTab:AddToggle("Innocent", false, function(state) Flags.InnocentESP = state end, "InnocentESP")

local SettingsTab = Window:AddTab("Settings", "Menu Settings", "lucide-settings") SettingsTab:AddSection("Self Highlight") SettingsTab:AddToggle("Self", false, function(state) Flags.SelfESP = state end, "SelfESP")

SettingsTab:AddSection("Theme Selection") local ThemeNames = {"Cosmos", "Aurora", "Obsidian", "Sunset"} SettingsTab:AddSelector("Menu Theme", ThemeNames, 1, function(index, value) Window:SetTheme(value) end, "Theme")

Window:AddConfigTab("EUGENEv2-Library/configs", Flags)

local CreditsTab = Window:AddTab("Credits", "Information", "lucide-heart") CreditsTab:AddSection("Made by EUGENE - rscripts.net/@EUGENE") CreditsTab:AddButton("Copy Credits", function() setclipboard("https://rscripts.net/@EUGENE") Window:Notify("Credits copied!", 3.5) end) CreditsTab:AddSection("EUGENEv2 UI Library") CreditsTab:AddButton("Copy UI Library", function() setclipboard("https://diser.me/EUGENE/library/") Window:Notify("UI Library copied!", 3.5) end) local highlights = {}

local function createHighlight(player, color) local char = player.Character if not char then return end

if highlights[player] then
    highlights[player]:Destroy()
end

local highlight = Instance.new("Highlight")
highlight.FillColor = color
highlight.OutlineColor = color
highlight.FillTransparency = 0
highlight.OutlineTransparency = 0
highlight.Parent = char
highlights[player] = highlight
end

local function removeHighlight(player) if highlights[player] then highlights[player]:Destroy() highlights[player] = nil end end

local function getRole(player) if not player.Character then return nil end

local hasKnife = false
local hasGun = false

local backpack = player:FindFirstChild("Backpack")
if backpack then
    for _, tool in ipairs(backpack:GetChildren()) do
        if tool:IsA("Tool") then
            local name = tool.Name:lower()
            if name:find("knife") or name:find("murderer") then 
                hasKnife = true 
            end
            if name:find("gun") or name:find("revolver") or name:find("sheriff") then 
                hasGun = true 
            end
        end
    end
end

local charTool = player.Character:FindFirstChildOfClass("Tool")
if charTool then
    local name = charTool.Name:lower()
    if name:find("knife") or name:find("murderer") then 
        hasKnife = true 
    end
    if name:find("gun") or name:find("revolver") or name:find("sheriff") then 
        hasGun = true 
    end
end

if hasKnife then return "Murderer" end
if hasGun then return "Sheriff" end
return "Innocent"
end

local function updateESP() for _, player in ipairs(game.Players:GetPlayers()) do if player == game.Players.LocalPlayer and not Flags.SelfESP then continue end

    local role = getRole(player)
    
    if Flags.MurdererESP and role == "Murderer" then
        createHighlight(player, Color3.fromRGB(255, 0, 0))
    elseif Flags.SheriffESP and role == "Sheriff" then
        createHighlight(player, Color3.fromRGB(0, 0, 255))
    elseif Flags.InnocentESP and role == "Innocent" then
        createHighlight(player, Color3.fromRGB(0, 255, 0))
    else
        removeHighlight(player)
    end
end
end

local function cleanupESP() for player, hl in pairs(highlights) do if hl then hl:Destroy() end end highlights = {} end

game:GetService("RunService").RenderStepped:Connect(updateESP)

game.Players.PlayerRemoving:Connect(function(player) removeHighlight(player) end)

for _, player in ipairs(game.Players:GetPlayers()) do if player ~= game.Players.LocalPlayer then player.CharacterAdded:Connect(function() task.wait(0.5) updateESP() end) end end

game.Players.PlayerAdded:Connect(function(player) if player ~= game.Players.LocalPlayer then player.CharacterAdded:Connect(function() task.wait(0.5) updateESP() end) end end)

game.Players.LocalPlayer.CharacterAdded:Connect(function() task.wait(0.5) updateESP() end)local targetPlaceId = 142823291

if game.PlaceId ~= targetPlaceId then game.StarterGui:SetCore("SendNotification", { Title = "EUGENEv2 MM2 ESP Opensource"; Text = "You are not in the correct game! (Murder Mystery 2)\nPlease join Murder Mystery 2 to use this script!"; Duration = 5; }) return end

local EUGENE = loadstring(game:HttpGet("https://diser.me/EUGENE/library/ui-library.lua"))()

local Window = EUGENE.new("EUGENEv2 MM2 ESP Open Source", "https://rscripts.net/@EUGENE")

local Flags = { MurdererESP = true, SheriffESP = true, InnocentESP = true, SelfESP = false, }

local VisualsTab = Window:AddTab("Visuals", "Player highlights", "lucide-eye")

VisualsTab:AddSection("Outlines")

VisualsTab:AddToggle("Murderer", false, function(state) Flags.MurdererESP = state end, "MurdererESP")

VisualsTab:AddToggle("Sheriff", false, function(state) Flags.SheriffESP = state end, "SheriffESP")

VisualsTab:AddToggle("Innocent", false, function(state) Flags.InnocentESP = state end, "InnocentESP")

local SettingsTab = Window:AddTab("Settings", "Menu Settings", "lucide-settings") SettingsTab:AddSection("Self Highlight") SettingsTab:AddToggle("Self", false, function(state) Flags.SelfESP = state end, "SelfESP")

SettingsTab:AddSection("Theme Selection") local ThemeNames = {"Cosmos", "Aurora", "Obsidian", "Sunset"} SettingsTab:AddSelector("Menu Theme", ThemeNames, 1, function(index, value) Window:SetTheme(value) end, "Theme")

Window:AddConfigTab("EUGENEv2-Library/configs", Flags)

local CreditsTab = Window:AddTab("Credits", "Information", "lucide-heart") CreditsTab:AddSection("Made by EUGENE - rscripts.net/@EUGENE") CreditsTab:AddButton("Copy Credits", function() setclipboard("https://rscripts.net/@EUGENE") Window:Notify("Credits copied!", 3.5) end) CreditsTab:AddSection("EUGENEv2 UI Library") CreditsTab:AddButton("Copy UI Library", function() setclipboard("https://diser.me/EUGENE/library/") Window:Notify("UI Library copied!", 3.5) end) local highlights = {}

local function createHighlight(player, color) local char = player.Character if not char then return end

if highlights[player] then
    highlights[player]:Destroy()
end

local highlight = Instance.new("Highlight")
highlight.FillColor = color
highlight.OutlineColor = color
highlight.FillTransparency = 0
highlight.OutlineTransparency = 0
highlight.Parent = char
highlights[player] = highlight
end

local function removeHighlight(player) if highlights[player] then highlights[player]:Destroy() highlights[player] = nil end end

local function getRole(player) if not player.Character then return nil end

local hasKnife = false
local hasGun = false

local backpack = player:FindFirstChild("Backpack")
if backpack then
    for _, tool in ipairs(backpack:GetChildren()) do
        if tool:IsA("Tool") then
            local name = tool.Name:lower()
            if name:find("knife") or name:find("murderer") then 
                hasKnife = true 
            end
            if name:find("gun") or name:find("revolver") or name:find("sheriff") then 
                hasGun = true 
            end
        end
    end
end

local charTool = player.Character:FindFirstChildOfClass("Tool")
if charTool then
    local name = charTool.Name:lower()
    if name:find("knife") or name:find("murderer") then 
        hasKnife = true 
    end
    if name:find("gun") or name:find("revolver") or name:find("sheriff") then 
        hasGun = true 
    end
end

if hasKnife then return "Murderer" end
if hasGun then return "Sheriff" end
return "Innocent"
end

local function updateESP() for _, player in ipairs(game.Players:GetPlayers()) do if player == game.Players.LocalPlayer and not Flags.SelfESP then continue end

    local role = getRole(player)
    
    if Flags.MurdererESP and role == "Murderer" then
        createHighlight(player, Color3.fromRGB(255, 0, 0))
    elseif Flags.SheriffESP and role == "Sheriff" then
        createHighlight(player, Color3.fromRGB(0, 0, 255))
    elseif Flags.InnocentESP and role == "Innocent" then
        createHighlight(player, Color3.fromRGB(0, 255, 0))
    else
        removeHighlight(player)
    end
end
end

local function cleanupESP() for player, hl in pairs(highlights) do if hl then hl:Destroy() end end highlights = {} end

game:GetService("RunService").RenderStepped:Connect(updateESP)

game.Players.PlayerRemoving:Connect(function(player) removeHighlight(player) end)

for _, player in ipairs(game.Players:GetPlayers()) do if player ~= game.Players.LocalPlayer then player.CharacterAdded:Connect(function() task.wait(0.5) updateESP() end) end end

game.Players.PlayerAdded:Connect(function(player) if player ~= game.Players.LocalPlayer then player.CharacterAdded:Connect(function() task.wait(0.5) updateESP() end) end end)

game.Players.LocalPlayer.CharacterAdded:Connect(function() task.wait(0.5) updateESP() end)

Comments

Comments section coming soon...

Frequently Asked Questions

To use this script, you need a Roblox Executor. Simply copy the script from this page, paste it into your executor, and run it while you are in the Murder Mystery 2 game.

This script may require a payment or subscription. Please check the script's description for more details.

Yes, this script has a key system. You may need to complete a task or join a Discord server to get a key.

Yes, this script is designed to be compatible with mobile executors.

Similar Scripts

Share Script

Share this script with others by copying the link or using your device's share options.

https://rbxscripts.net/scripts/eugenev2-mm2-opensource-esp/
or

Report Script

Help us maintain a safe community. Your report will be reviewed by our moderation team and appropriate action will be taken if needed.

Select a reason...
Malicious Code
Inappropriate Content
Copyright Infringement
Spam
Misleading Information
Other