This is for educational purposes — use it at your own risk and only on alt accounts if testing.
-- My Prison Auto Farm GUI (Works on most versions)
-- Made for educational purposes
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
-- GUI Setup
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AutoFarmGUI"
screenGui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 250, 0, 320)
frame.Position = UDim2.new(0.5, -125, 0.5, -160)
frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
frame.Parent = screenGui
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 40)
title.Text = "My Prison Auto Farm"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.Parent = frame
local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(1, 0, 0, 30)
statusLabel.Position = UDim2.new(0, 0, 0, 45)
statusLabel.Text = "Status: Idle"
statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
statusLabel.BackgroundTransparency = 1
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 14
statusLabel.Parent = frame
-- Auto Farm Toggle Button
local autoFarmBtn = Instance.new("TextButton")
autoFarmBtn.Size = UDim2.new(0.9, 0, 0, 40)
autoFarmBtn.Position = UDim2.new(0.05, 0, 0, 90)
autoFarmBtn.Text = "Start Auto Farm"
autoFarmBtn.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
autoFarmBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
autoFarmBtn.Font = Enum.Font.Gotham
autoFarmBtn.TextSize = 16
autoFarmBtn.Parent = frame
-- Walking to ores / NPCs (example: auto click nearest object)
local autoFarmEnabled = false
local targetPart = nil
local function getNearestOre()
local nearest = nil
local shortestDist = math.huge
for _, obj in pairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") and obj.Name:lower():find("ore") or obj.Name:lower():find("rock") then
if obj.Parent and obj.Parent:FindFirstChild("Humanoid") == nil then
local dist = (character.HumanoidRootPart.Position - obj.Position).Magnitude
if dist < shortestDist then
shortestDist = dist
nearest = obj
end
end
end
end
return nearest
end
local function moveTo(target)
if not target then return end
humanoid:MoveTo(target.Position)
end
local function autoFarmLoop()
while autoFarmEnabled and RunService.RenderStepped:Wait() do
statusLabel.Text = "Status: Farming..."
local ore = getNearestOre()
if ore then
moveTo(ore)
-- Simulate click/tool swing
local tool = character:FindFirstChildWhichIsA("Tool")
if tool then
tool:Activate()
end
else
statusLabel.Text = "Status: No ores found"
end
end
statusLabel.Text = "Status: Idle"
end
autoFarmBtn.MouseButton1Click:Connect(function()
autoFarmEnabled = not autoFarmEnabled
if autoFarmEnabled then
autoFarmBtn.Text = "Stop Auto Farm"
autoFarmBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
task.spawn(autoFarmLoop)
else
autoFarmBtn.Text = "Start Auto Farm"
autoFarmBtn.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
humanoid:MoveTo(character.HumanoidRootPart.Position) -- stop moving
end
end)
-- Close button
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -35, 0, 5)
closeBtn.Text = "X"
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 16
closeBtn.Parent = frame
closeBtn.MouseButton1Click:Connect(function()
screenGui:Destroy()
end)
Before we dissect the script, let's align on the game. My Prison by Obsidian Labs is a tycoon-style grinding game where players start as inmates. The core loop is simple: mine ores, sell them for cash, upgrade your pickaxe and prison cell, and climb the ranks. The problem? The progression curve becomes exponentially steeper. What takes a new player 10 hours can take a script user 30 minutes. new roblox my prison script gui auto farm new
Note: This exposition surveys the concept, typical capabilities, risks, and defensive considerations of "My Prison" auto-farm scripts and GUI trainers in Roblox. It does not provide or instruct on creating, using, or distributing game cheats, exploits, or hacking tools.
If you want, I can:
If you are searching for the "new Roblox my prison script GUI auto farm new," you are likely tired of manually breaking rocks, waiting for energy, and watching your cash stack grow at a snail’s pace.
In the competitive world of Roblox My Prison, staying ahead of the curve requires efficiency. Whether you want to dominate the leaderboards, unlock the best pickaxes, or simply skip the tedious early-game grind, an auto-farm script with a fresh, user-friendly GUI is your golden ticket. This is for educational purposes — use it
But with dozens of outdated, broken, or malware-ridden scripts circulating the web, how do you find one that is actually new, functional, and safe?
This article provides a comprehensive deep dive into the latest My Prison auto-farm scripts for 2024-2025, including their features, installation guides, and the ethical risks involved. -- My Prison Auto Farm GUI (Works on