🔓 Keyless
Dominate the prison yard and maintain absolute order in Roblox’s classic Prison Life with the ultimate Cheat Cop Helper script. Designed specifically for players looking to enforce the law effortlessly, this tool allows you to track down and neutralize escaping inmates instantly. Best of all, this script is completely keyless, meaning you can bypass annoying linkvertises and start arresting criminals right away.
-- Prison Life Cheats GUI
-- With Warning Screen & Draggable GUI with Teleport + ESP
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
local RunService = game:GetService("RunService")
-- Create Main ScreenGui (will be shown after warning)
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "PrisonLifeCheatsGUI"
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
ScreenGui.Enabled = false -- Hidden until user accepts warning
-- ========== WARNING GUI ==========
local WarningGui = Instance.new("ScreenGui")
WarningGui.Name = "WarningGUI"
WarningGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
WarningGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
-- Warning Frame
local WarningFrame = Instance.new("Frame")
WarningFrame.Name = "WarningFrame"
WarningFrame.Parent = WarningGui
WarningFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
WarningFrame.BackgroundTransparency = 0.1
WarningFrame.BorderSizePixel = 2
WarningFrame.BorderColor3 = Color3.fromRGB(255, 50, 50)
WarningFrame.Position = UDim2.new(0.2, 0, 0.15, 0)
WarningFrame.Size = UDim2.new(0, 500, 0, 400)
WarningFrame.Active = true
WarningFrame.Draggable = true
WarningFrame.Selectable = true
-- Warning Title Bar
local WarningTitleBar = Instance.new("Frame")
WarningTitleBar.Name = "WarningTitleBar"
WarningTitleBar.Parent = WarningFrame
WarningTitleBar.BackgroundColor3 = Color3.fromRGB(50, 0, 0)
WarningTitleBar.BorderSizePixel = 0
WarningTitleBar.Size = UDim2.new(1, 0, 0, 35)
WarningTitleBar.Position = UDim2.new(0, 0, 0, 0)
-- Warning Title
local WarningTitle = Instance.new("TextLabel")
WarningTitle.Name = "WarningTitle"
WarningTitle.Parent = WarningTitleBar
WarningTitle.BackgroundTransparency = 1
WarningTitle.Size = UDim2.new(1, 0, 1, 0)
WarningTitle.Text = "⚠️ WARNING ⚠️"
WarningTitle.TextColor3 = Color3.fromRGB(255, 50, 50)
WarningTitle.TextScaled = true
WarningTitle.Font = Enum.Font.GothamBold
WarningTitle.TextXAlignment = Enum.TextXAlignment.Center
-- Warning Content
local WarningContent = Instance.new("TextLabel")
WarningContent.Name = "WarningContent"
WarningContent.Parent = WarningFrame
WarningContent.BackgroundTransparency = 1
WarningContent.Position = UDim2.new(0.05, 0, 0.12, 0)
WarningContent.Size = UDim2.new(0.9, 0, 0.7, 0)
WarningContent.Text = [[Thanks for using TeamSploit2026 Cop Helper!
We advise that you use teleport to nearest criminal
every 20 seconds to avoid bans and termination.
We do not take responsibility for your accounts
being banned or terminated.
ANY SCRIPTS FOUND SIMILIAR TO THIS ONE WILL BEING
A COPY WILL BE USED AGAINST YOU.
The ban wave is currently on and off at the moment
so stay safe and never use your main account.]]
WarningContent.TextColor3 = Color3.fromRGB(255, 200, 200)
WarningContent.TextScaled = false
WarningContent.Font = Enum.Font.Gotham
WarningContent.TextSize = 16
WarningContent.TextWrapped = true
WarningContent.TextXAlignment = Enum.TextXAlignment.Center
WarningContent.TextYAlignment = Enum.TextYAlignment.Top
WarningContent.LineHeight = 1.3
-- Accept Button
local AcceptButton = Instance.new("TextButton")
AcceptButton.Name = "AcceptButton"
AcceptButton.Parent = WarningFrame
AcceptButton.BackgroundColor3 = Color3.fromRGB(40, 200, 40)
AcceptButton.BorderSizePixel = 2
AcceptButton.BorderColor3 = Color3.fromRGB(0, 255, 0)
AcceptButton.Position = UDim2.new(0.35, 0, 0.85, 0)
AcceptButton.Size = UDim2.new(0, 150, 0, 40)
AcceptButton.Text = "✅ OK, I ACCEPT"
AcceptButton.TextColor3 = Color3.fromRGB(255, 255, 255)
AcceptButton.TextScaled = true
AcceptButton.Font = Enum.Font.GothamBold
AcceptButton.TextSize = 18
-- Accept Button Hover Effect
AcceptButton.MouseEnter:Connect(function()
AcceptButton.BackgroundColor3 = Color3.fromRGB(60, 255, 60)
AcceptButton.TextColor3 = Color3.fromRGB(0, 0, 0)
end)
AcceptButton.MouseLeave:Connect(function()
AcceptButton.BackgroundColor3 = Color3.fromRGB(40, 200, 40)
AcceptButton.TextColor3 = Color3.fromRGB(255, 255, 255)
end)
-- ========== MAIN CHEATS GUI ==========
-- Main Frame (Draggable)
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Parent = ScreenGui
MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
MainFrame.BackgroundTransparency = 0.15
MainFrame.BorderSizePixel = 1
MainFrame.BorderColor3 = Color3.fromRGB(255, 200, 0)
MainFrame.Position = UDim2.new(0.35, 0, 0.3, 0)
MainFrame.Size = UDim2.new(0, 280, 0, 320)
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Selectable = true
MainFrame.Visible = true
-- Title Bar (for dragging visual feedback)
local TitleBar = Instance.new("Frame")
TitleBar.Name = "TitleBar"
TitleBar.Parent = MainFrame
TitleBar.BackgroundColor3 = Color3.fromRGB(50, 50, 55)
TitleBar.BorderSizePixel = 0
TitleBar.Size = UDim2.new(1, 0, 0, 30)
TitleBar.Position = UDim2.new(0, 0, 0, 0)
-- Title Label
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Name = "TitleLabel"
TitleLabel.Parent = TitleBar
TitleLabel.BackgroundTransparency = 1
TitleLabel.Size = UDim2.new(1, 0, 1, 0)
TitleLabel.Text = "Prison Life Cheats"
TitleLabel.TextColor3 = Color3.fromRGB(255, 200, 0)
TitleLabel.TextScaled = true
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextXAlignment = Enum.TextXAlignment.Center
-- Close Button
local CloseButton = Instance.new("TextButton")
CloseButton.Name = "CloseButton"
CloseButton.Parent = TitleBar
CloseButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
CloseButton.BorderSizePixel = 0
CloseButton.Size = UDim2.new(0, 25, 0, 25)
CloseButton.Position = UDim2.new(1, -30, 0, 2.5)
CloseButton.Text = "X"
CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseButton.TextScaled = true
CloseButton.Font = Enum.Font.GothamBold
CloseButton.MouseButton1Click:Connect(function()
ScreenGui:Destroy()
WarningGui:Destroy()
end)
-- Teleport Toggle Button
local TeleportToggle = Instance.new("TextButton")
TeleportToggle.Name = "TeleportToggle"
TeleportToggle.Parent = MainFrame
TeleportToggle.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
TeleportToggle.BorderSizePixel = 1
TeleportToggle.BorderColor3 = Color3.fromRGB(255, 200, 0)
TeleportToggle.Position = UDim2.new(0.1, 0, 0.15, 0)
TeleportToggle.Size = UDim2.new(0, 220, 0, 40)
TeleportToggle.Text = "🔴 Teleport to Nearest Criminal: OFF"
TeleportToggle.TextColor3 = Color3.fromRGB(255, 100, 100)
TeleportToggle.TextScaled = true
TeleportToggle.Font = Enum.Font.GothamBold
-- ESP Toggle Button
local ESPToggle = Instance.new("TextButton")
ESPToggle.Name = "ESPToggle"
ESPToggle.Parent = MainFrame
ESPToggle.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
ESPToggle.BorderSizePixel = 1
ESPToggle.BorderColor3 = Color3.fromRGB(255, 200, 0)
ESPToggle.Position = UDim2.new(0.1, 0, 0.4, 0)
ESPToggle.Size = UDim2.new(0, 220, 0, 40)
ESPToggle.Text = "🔴 ESP Criminals: OFF"
ESPToggle.TextColor3 = Color3.fromRGB(255, 100, 100)
ESPToggle.TextScaled = true
ESPToggle.Font = Enum.Font.GothamBold
-- Status Label
local StatusLabel = Instance.new("TextLabel")
StatusLabel.Name = "StatusLabel"
StatusLabel.Parent = MainFrame
StatusLabel.BackgroundTransparency = 1
StatusLabel.Position = UDim2.new(0.1, 0, 0.65, 0)
StatusLabel.Size = UDim2.new(0, 220, 0, 30)
StatusLabel.Text = "Status: Idle"
StatusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
StatusLabel.TextScaled = true
StatusLabel.Font = Enum.Font.Gotham
-- Info Label
local InfoLabel = Instance.new("TextLabel")
InfoLabel.Name = "InfoLabel"
InfoLabel.Parent = MainFrame
InfoLabel.BackgroundTransparency = 1
InfoLabel.Position = UDim2.new(0.1, 0, 0.8, 0)
InfoLabel.Size = UDim2.new(0, 220, 0, 25)
InfoLabel.Text = "Toggle teleport & ESP for criminals"
InfoLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
InfoLabel.TextScaled = true
InfoLabel.Font = Enum.Font.Gotham
-- Variables
local teleportEnabled = false
local espEnabled = false
local teleportConnection = nil
local espConnections = {}
local espHighlights = {}
local teleportTimer = nil
local timeSinceLastTeleport = 0
-- Function to create ESP highlight for a character
local function CreateESP(character)
if not character or not character.Parent then return nil end
if espHighlights[character] then
return espHighlights[character]
end
local highlight = Instance.new("Highlight")
highlight.Name = "ESPHighlight"
highlight.Adornee = character
highlight.FillColor = Color3.fromRGB(255, 0, 0)
highlight.FillTransparency = 0.5
highlight.OutlineColor = Color3.fromRGB(255, 0, 0)
highlight.OutlineTransparency = 0.2
highlight.Parent = character
espHighlights[character] = highlight
return highlight
end
local function RemoveESP(character)
if character and espHighlights[character] then
espHighlights[character]:Destroy()
espHighlights[character] = nil
end
end
local function UpdateESP()
for character, highlight in pairs(espHighlights) do
if highlight and highlight.Parent then
highlight:Destroy()
end
end
espHighlights = {}
if not espEnabled then return end
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Team and player.Team.Name == "Criminals" then
local character = player.Character
if character and character.Parent then
CreateESP(character)
end
end
end
end
local function GetNearestCriminal()
local nearestCriminal = nil
local shortestDistance = math.huge
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Team and player.Team.Name == "Criminals" then
local character = player.Character
if character and character:FindFirstChild("HumanoidRootPart") then
local rootPart = character.HumanoidRootPart
local distance = (rootPart.Position - HumanoidRootPart.Position).Magnitude
if distance < shortestDistance then
shortestDistance = distance
nearestCriminal = player
end
end
end
end
return nearestCriminal, shortestDistance
end
local function TeleportToNearestCriminal()
if not teleportEnabled then return end
-- Check if 20 seconds have passed since last teleport
if timeSinceLastTeleport > 0 then
StatusLabel.Text = "⏳ Waiting 20s cooldown... (" .. math.floor(20 - timeSinceLastTeleport) .. "s)"
StatusLabel.TextColor3 = Color3.fromRGB(255, 200, 0)
return
end
local criminal, distance = GetNearestCriminal()
if criminal and Character and Character:FindFirstChild("HumanoidRootPart") then
local criminalRoot = criminal.Character.HumanoidRootPart
local teleportPosition = criminalRoot.Position + Vector3.new(0, 2, 0)
HumanoidRootPart.CFrame = CFrame.new(teleportPosition)
StatusLabel.Text = "✅ Teleported to " .. criminal.Name
StatusLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
-- Reset cooldown timer
timeSinceLastTeleport = 20
task.wait(2)
StatusLabel.Text = "⏳ Cooldown: 20s"
StatusLabel.TextColor3 = Color3.fromRGB(255, 200, 0)
else
StatusLabel.Text = "❌ No criminal found!"
StatusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
task.wait(2)
StatusLabel.Text = "Status: Waiting for next teleport"
StatusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
end
end
local function ToggleTeleport()
teleportEnabled = not teleportEnabled
if teleportEnabled then
TeleportToggle.Text = "🟢 Teleport to Nearest Criminal: ON"
TeleportToggle.TextColor3 = Color3.fromRGB(100, 255, 100)
TeleportToggle.BackgroundColor3 = Color3.fromRGB(40, 80, 40)
StatusLabel.Text = "Status: Teleport Enabled (20s cooldown)"
StatusLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
timeSinceLastTeleport = 0
if teleportConnection then
teleportConnection:Disconnect()
teleportConnection = nil
end
-- Start cooldown timer
if teleportTimer then
teleportTimer:Disconnect()
teleportTimer = nil
end
teleportTimer = RunService.Heartbeat:Connect(function(deltaTime)
if timeSinceLastTeleport > 0 then
timeSinceLastTeleport = timeSinceLastTeleport - deltaTime
if timeSinceLastTeleport < 0 then
timeSinceLastTeleport = 0
if teleportEnabled then
StatusLabel.Text = "✅ Ready to teleport!"
StatusLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
task.wait(1)
if teleportEnabled then
StatusLabel.Text = "Status: Teleport Enabled (Ready)"
StatusLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
end
end
end
end
end)
teleportConnection = RunService.Heartbeat:Connect(function()
TeleportToNearestCriminal()
end)
else
TeleportToggle.Text = "🔴 Teleport to Nearest Criminal: OFF"
TeleportToggle.TextColor3 = Color3.fromRGB(255, 100, 100)
TeleportToggle.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
StatusLabel.Text = "Status: Teleport Disabled"
StatusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
timeSinceLastTeleport = 0
if teleportConnection then
teleportConnection:Disconnect()
teleportConnection = nil
end
if teleportTimer then
teleportTimer:Disconnect()
teleportTimer = nil
end
end
end
local function ToggleESP()
espEnabled = not espEnabled
if espEnabled then
ESPToggle.Text = "🟢 ESP Criminals: ON"
ESPToggle.TextColor3 = Color3.fromRGB(100, 255, 100)
ESPToggle.BackgroundColor3 = Color3.fromRGB(40, 80, 40)
StatusLabel.Text = "Status: ESP Enabled - All criminals highlighted"
StatusLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
UpdateESP()
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(character)
if espEnabled then
task.wait(0.5)
if player.Team and player.Team.Name == "Criminals" then
CreateESP(character)
end
end
end)
if espEnabled and player.Team and player.Team.Name == "Criminals" then
local character = player.Character
if character and character.Parent then
CreateESP(character)
end
end
end
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
onPlayerAdded(player)
end
end
local playerAddedConnection = Players.PlayerAdded:Connect(onPlayerAdded)
table.insert(espConnections, playerAddedConnection)
local function onPlayerTeamChanged(player)
if espEnabled and player ~= LocalPlayer then
task.wait(0.5)
local character = player.Character
if character and character.Parent then
if player.Team and player.Team.Name == "Criminals" then
CreateESP(character)
else
RemoveESP(character)
end
end
end
end
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
local teamConnection = player:GetPropertyChangedSignal("Team"):Connect(function()
onPlayerTeamChanged(player)
end)
table.insert(espConnections, teamConnection)
end
end
local teamConnectionAdded = Players.PlayerAdded:Connect(function(player)
local teamConnection = player:GetPropertyChangedSignal("Team"):Connect(function()
onPlayerTeamChanged(player)
end)
table.insert(espConnections, teamConnection)
end)
table.insert(espConnections, teamConnectionAdded)
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
local charConnection = player.CharacterAdded:Connect(function(character)
if espEnabled then
task.wait(0.5)
if player.Team and player.Team.Name == "Criminals" then
CreateESP(character)
end
end
end)
table.insert(espConnections, charConnection)
end
end
else
ESPToggle.Text = "🔴 ESP Criminals: OFF"
ESPToggle.TextColor3 = Color3.fromRGB(255, 100, 100)
ESPToggle.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
StatusLabel.Text = "Status: ESP Disabled"
StatusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
for character, highlight in pairs(espHighlights) do
if highlight and highlight.Parent then
highlight:Destroy()
end
end
espHighlights = {}
for _, connection in ipairs(espConnections) do
connection:Disconnect()
end
espConnections = {}
end
end
-- Connect toggle buttons
TeleportToggle.MouseButton1Click:Connect(ToggleTeleport)
ESPToggle.MouseButton1Click:Connect(ToggleESP)
-- Handle character respawn
LocalPlayer.CharacterAdded:Connect(function(newCharacter)
Character = newCharacter
HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
StatusLabel.Text = "Status: Character respawned"
StatusLabel.TextColor3 = Color3.fromRGB(255, 255, 0)
task.wait(2)
StatusLabel.Text = "Status: Idle"
StatusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
if espEnabled then
task.wait(1)
UpdateESP()
end
end)
-- Handle players leaving
Players.PlayerRemoving:Connect(function(player)
if espEnabled then
if player.Character then
RemoveESP(player.Character)
end
end
end)
-- ========== ACCEPT BUTTON FUNCTION ==========
AcceptButton.MouseButton1Click:Connect(function()
-- Hide warning GUI
WarningGui.Enabled = false
WarningGui:Destroy()
-- Show main cheats GUI
ScreenGui.Enabled = true
print("Prison Life Cheats loaded with warning accepted! Drag the GUI anywhere on screen.")
print("⚠️ Remember: Use teleport every 20 seconds to avoid detection!")
end)
-- Make warning GUI visible initially
WarningGui.Enabled = true
ScreenGui.Enabled = false
print("⚠️ WARNING: Please read the warning before using the cheats!")
No comments yet. Be the first!