Murder Mystery 2
Скрипт

Скрипт ММ2 на автофарм монет: открытый Lua без ключа

Статус не проверенВерсия: OneRoblox 1.0.0
259.2K онлайн★ 90.83%
← Все скрипты

О скрипте

СтатусСтатус не проверен
ВерсияOneRoblox 1.0.0
ИграMurder Mystery 2

Скачать скрипт

Код скрипта

Скопируйте loader-код, если используете совместимую среду.

-- OneRoblox MM2 Coin Farm 1.0.0
-- MIT License. Copyright (c) 2026 OneRoblox.
-- Permission is granted, free of charge, to use, copy, modify, merge, publish,
-- distribute, sublicense, and/or sell copies, subject to including this notice.
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
-- Not tested in-game. No currency generation or anti-cheat bypass.
if game.PlaceId ~= 142823291 then warn("OneRoblox: MM2 only"); return end
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local pg = player and player:FindFirstChildOfClass("PlayerGui")
if not pg then return end
local name = "OneRobloxMM2Farm"
local previous = pg:FindFirstChild(name)
if previous then previous:Destroy() end
local gui = Instance.new("ScreenGui")
gui.Name = name
gui.ResetOnSpawn = false
local panel = Instance.new("Frame")
panel.Size = UDim2.fromOffset(280, 218)
panel.Position = UDim2.new(1, -292, 0, 12)
panel.BackgroundColor3 = Color3.fromRGB(22, 25, 29)
panel.Parent = gui
local enabled, closed = false, false
local speed, activeTween, activeCoin, activeRoot, deadline = 30, nil, nil, nil, 0
local recent, connections = setmetatable({}, {__mode = "k"}), {}
local function connect(signal, callback)
    table.insert(connections, signal:Connect(callback))
end
local function element(class, text, x, y, w, h)
    local el = Instance.new(class)
    el.Text = text
    el.Position = UDim2.fromOffset(x, y)
    el.Size = UDim2.fromOffset(w, h)
    el.BackgroundColor3 = Color3.fromRGB(42, 47, 54)
    el.TextColor3 = Color3.fromRGB(240, 242, 246)
    el.Font = Enum.Font.Gotham
    el.TextSize = 13
    el.TextWrapped = true
    el.Parent = panel
    return el
end
element("TextLabel", "MM2 Coin Farm | OneRoblox", 12, 8, 256, 26)
local toggle = element("TextButton", "Auto Farm: OFF", 12, 42, 256, 34)
local input = element("TextBox", "30", 12, 84, 70, 32)
input.ClearTextOnFocus = false
local apply = element("TextButton", "Apply speed (10-60)", 90, 84, 178, 32)
local status = element("TextLabel", "OFF | Not tested in game", 12, 124, 256, 42)
local close = element("TextButton", "Close", 12, 178, 256, 28)
local function cancelMove()
    if activeTween then activeTween:Cancel() end
    activeTween, activeCoin, activeRoot = nil, nil, nil
end
local function stop(message)
    enabled = false
    cancelMove()
    toggle.Text = "Auto Farm: OFF"
    status.Text = message or "Stopped"
end
connect(gui.Destroying, function()
    if closed then return end
    closed = true
    stop()
    for _, c in ipairs(connections) do c:Disconnect() end
end)
connect(close.Activated, function() gui:Destroy() end)
connect(toggle.Activated, function()
    if enabled then stop(); return end
    enabled = true
    toggle.Text = "Auto Farm: ON"
    status.Text = "Waiting for round and loaded coins"
end)
connect(apply.Activated, function()
    local n = tonumber(input.Text)
    if not n or n ~= n or n < 10 or n > 60 then status.Text = "Enter a number from 10 to 60"; return end
    speed = n
    cancelMove()
    status.Text = "Movement rate set: " .. tostring(speed)
end)
connect(player.CharacterRemoving, function() stop("Character removed: stopped") end)
connect(player.CharacterAdded, function() stop("New character: stopped") end)
local function getContainer()
    for _, map in ipairs(workspace:GetChildren()) do
        if map.Name ~= "Lobby" and map:FindFirstChild("Spawns") then
            local container = map:FindFirstChild("CoinContainer")
            if container then return container end
        end
    end
end
local function nearest(container, position)
    local best, distance = nil, 200
    for _, coin in ipairs(container:GetDescendants()) do
        if coin:IsA("BasePart") and coin:FindFirstChildWhichIsA("TouchTransmitter")
            and (coin.Name == "Coin_Server" or coin:FindFirstChild("CoinVisual")) then
            local d = (coin.Position - position).Magnitude
            if d <= distance and (not recent[coin] or os.clock() >= recent[coin]) then
                best, distance = coin, d
            end
        end
    end
    return best, distance
end
local function tickFarm()
    local char = player.Character
    local humanoid = char and char:FindFirstChildOfClass("Humanoid")
    local root = char and char:FindFirstChild("HumanoidRootPart")
    if not humanoid or humanoid.Health <= 0 or not root then stop("Character unavailable: stopped"); return end
    if player:GetAttribute("Alive") ~= true then
        cancelMove()
        status.Text = "Waiting: Alive round flag unavailable"
        return
    end
    local container = getContainer()
    if not container then cancelMove(); status.Text = "Waiting for CoinContainer"; return end
    if activeTween then
        if root ~= activeRoot or not activeCoin:IsDescendantOf(container) or os.clock() >= deadline then
            cancelMove()
        else
            return
        end
    end
    local coin, distance = nearest(container, root.Position)
    if not coin then status.Text = "No eligible loaded coins within 200 studs"; return end
    local duration = math.max(distance / speed, 0.2)
    activeCoin, activeRoot, deadline = coin, root, os.clock() + duration + 0.4
    recent[coin] = deadline + 8
    activeTween = TweenService:Create(root, TweenInfo.new(duration, Enum.EasingStyle.Linear), {CFrame = CFrame.new(coin.Position)})
    activeTween:Play()
    status.Text = "Moving to coin | Server decides rewards"
end
gui.Parent = pg
task.spawn(function()
    while not closed do
        task.wait(0.25)
        if enabled and not closed then
            local ok = pcall(tickFarm)
            if not ok then stop("Map changed: stopped after error") end
        end
    end
end)
Важно Использование сторонних скриптов и программ может нарушать правила Roblox. OneRoblox не гарантирует отсутствие ограничений или блокировки аккаунта.

Описание скрипта

Lua-скрипт автофарма монет в Murder Mystery 2: ручное включение, скорость движения и остановка. Открытый код OneRoblox без ключа; в игре не проверен.

OneRoblox Coin Farm для Murder Mystery 2 ищет подходящие монеты на загруженной карте и пытается перемещать персонажа к ближайшей. Сбор запускается кнопкой Auto Farm, а не сразу при открытии панели. Это отдельный открытый Lua-файл, не Pulse Hub и не установщик Delta.

Статус: не проверен в игре. Проверка кода и модельные тесты не подтверждают начисление монет в текущей версии ММ2. Скрипт не создаёт валюту, не выдаёт ножи и не обходит защиту сервера.

Murder Mystery 2 в Roblox
Murder Mystery 2. Иллюстрация игры, не результат запуска скрипта.

Что делает автофарм

ФункцияРеализация
Поиск монетИщет CoinContainer на карте со Spawns, исключая Lobby. Отбирает детали с TouchTransmitter и именем Coin_Server либо дочерним CoinVisual.
Выбор целиВыбирает ближайшую подходящую монету в пределах 200 studs. Данные, не загруженные клиентом, не видит.
ПеремещениеИспользует TweenService для движения по прямой. Темп задаётся числом от 10 до 60; начальное значение 30.
ПаузаЖдёт флаг Alive у своего игрока и доступную карту. Если формат игры изменился, сбор может не начаться.
ОстановкаВыключение кнопки, закрытие панели, удаление или смена персонажа отменяют текущее движение.

Как включить и выключить

Файл .lua содержит исходный текст, который можно просмотреть до запуска. Обычный клиент Roblox не запускает скачанные Lua-файлы как приложения. Работу с конкретными сторонними средами исполнения редакция не проверяла.

  1. После загрузки панели функция выключена: на кнопке написано Auto Farm: OFF.
  2. Кнопка включает попытки поиска и движения. В лобби панель ожидает доступный флаг участия в раунде.
  3. Поле рядом с Apply speed меняет темп перемещения, а не начисление валюты и не обычный WalkSpeed.
  4. Для остановки нажмите Auto Farm повторно или Close. После смерти или появления нового персонажа включение потребуется заново.

Почему монеты могут не собираться

Скрипт перемещается по прямой и не строит маршрут вокруг стен. Здесь нет noclip, автоматического убийства игроков, вмешательства в трейды или подделки серверных наград. Сервер может исправлять положение персонажа или не засчитывать касание. Достижение позиции монеты не считается доказательством её получения.

Если отображается Alive round flag unavailable, код не получил ожидаемый признак участия в раунде. Сообщение Waiting for CoinContainer означает отсутствие нужной папки карты. Скрипт не подменяет отсутствующие данные случайными объектами. Повторная попытка движения к той же цели откладывается на восемь секунд после расчётного завершения предыдущей.

Телефон, Delta, Xeno и ключ

В Lua-файле нет ключевой системы, сетевых загрузок, рекламы или записи файлов на устройство. Для управления предусмотрены кнопки и поле ввода. Это не подтверждение совместимости с Delta на телефоне, Xeno на ПК или конкретной версией Roblox. Отдельный APK и установщик экзекутора здесь не предлагаются.

Скачать Lua-файл

Кнопка скачивания выдаёт текстовый .lua после десятисекундного ожидания. Автор: OneRoblox, версия 1.0.0, лицензия MIT приведена в файле. Проверен синтаксис и поведение на модельных объектах; игрового теста не было.

Roblox относит использование эксплойтов к нарушениям правил и предупреждает о риске потери аккаунта и вредоносных загрузок. Предупреждение Roblox Support.

Ещё по ММ2

Скрипты ММ2 · Автофарм монет · Pulse Hub · Годли, дюп и заморозка трейда · Монеты и алмазы

Скачивание файла

Скачивание начнётся автоматически.

Скрипты и обновления Murder Mystery 2 в TelegramПодписка не нужна для скачивания.