О скрипте
Скачать скрипт
Код скрипта
Скопируйте 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)Описание скрипта
Lua-скрипт автофарма монет в Murder Mystery 2: ручное включение, скорость движения и остановка. Открытый код OneRoblox без ключа; в игре не проверен.
OneRoblox Coin Farm для Murder Mystery 2 ищет подходящие монеты на загруженной карте и пытается перемещать персонажа к ближайшей. Сбор запускается кнопкой Auto Farm, а не сразу при открытии панели. Это отдельный открытый Lua-файл, не Pulse Hub и не установщик Delta.
Статус: не проверен в игре. Проверка кода и модельные тесты не подтверждают начисление монет в текущей версии ММ2. Скрипт не создаёт валюту, не выдаёт ножи и не обходит защиту сервера.

Что делает автофарм
| Функция | Реализация |
|---|---|
| Поиск монет | Ищет CoinContainer на карте со Spawns, исключая Lobby. Отбирает детали с TouchTransmitter и именем Coin_Server либо дочерним CoinVisual. |
| Выбор цели | Выбирает ближайшую подходящую монету в пределах 200 studs. Данные, не загруженные клиентом, не видит. |
| Перемещение | Использует TweenService для движения по прямой. Темп задаётся числом от 10 до 60; начальное значение 30. |
| Пауза | Ждёт флаг Alive у своего игрока и доступную карту. Если формат игры изменился, сбор может не начаться. |
| Остановка | Выключение кнопки, закрытие панели, удаление или смена персонажа отменяют текущее движение. |
Как включить и выключить
Файл .lua содержит исходный текст, который можно просмотреть до запуска. Обычный клиент Roblox не запускает скачанные Lua-файлы как приложения. Работу с конкретными сторонними средами исполнения редакция не проверяла.
- После загрузки панели функция выключена: на кнопке написано Auto Farm: OFF.
- Кнопка включает попытки поиска и движения. В лобби панель ожидает доступный флаг участия в раунде.
- Поле рядом с Apply speed меняет темп перемещения, а не начисление валюты и не обычный WalkSpeed.
- Для остановки нажмите 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 · Годли, дюп и заморозка трейда · Монеты и алмазы