local Services = setmetatable({}, {__index = function(Self, Index)
local NewService = [Link](game, Index)
if NewService then
Self[Index] = NewService
end
return NewService
end})
-- [ Modules ] --
local UserInterface =
loadstring(game:HttpGet("[Link]
main/AbstractUI", true))()
local Drawing =
loadstring(game:HttpGet("[Link]
Studios/main/Modules/[Link]", true))()
local ToolTip = require([Link].Modules_client.TooltipModule)
-- [ LocalPlayer ] --
local LocalPlayer = [Link]
local Camera = [Link]
-- [ Raycast Parameters ] --
local RaycastParameters = [Link]()
[Link] = true
[Link] = [Link]
[Link] = {[Link]}
-- // Variables \\ --
-- [ Info ] --
local Info = {
SilentAIMEnabled = false;
TriggeredEnabled = false;
ArmsCheckEnabled = true;
TeamWhitelist = "";
FieldOfView = 250;
}
local LastArrest = time()
-- [ Interface ] --
local FOVCircle = [Link]("Circle", {
Thickness = 2.5,
Color = [Link](200, 200, 200),
NumSides = 25,
Radius = _G.FOV
})
local Target = [Link]("Triangle", {
Thickness = 5,
Color = [Link](0, 200, 255)
})
-- [ Weapons ] --
local Weapons = {
"Remington 870";
"AK-47";
"M9";
"M4A1";
"Hammer";
"Crude Knife";
}
-- [ Metatable ] --
local RawMetatable = getrawmetatable(game)
local __NameCall = RawMetatable.__namecall
local __Index = RawMetatable.__index
-- // Functions \\ --
local function ValidCharacter(Character)
return Character and ([Link](Character, "Humanoid")
and [Link](Character, "Humanoid").Health ~= 0) or false
end
local function NotObstructing(Destination, Ancestor)
-- [ Camera ] --
local ObstructingParts = [Link](Camera, {Destination},
{Ancestor, [Link]})
for i,v in ipairs(ObstructingParts) do
pcall(function()
if [Link] >= 1 then
[Link](ObstructingParts, i)
end
end)
end
if #ObstructingParts <= 0 then
return true
end
-- [ Raycast ] --
[Link] = {[Link]}
local Origin = [Link]
local Direction = (Destination - Origin).Unit * 500
local RayResult = [Link](workspace, Origin, Direction,
RaycastParameters) or {
Instance = nil;
Position = Origin + Direction;
Material = [Link];
}
if [Link] and ([Link]([Link],
Ancestor) or [Link] == Ancestor) then
return true
end
-- [ Obstructed ] --
return false
end
local function IsArmed(Player)
for i,v in ipairs(Weapons) do
local Tool = [Link]([Link], v) or
[Link]([Link], v)
if Tool then
return true
end
end
return false
end
local function ClosestPlayerToCursor(Distance)
local Closest = nil
local Position = nil
local ShortestDistance = Distance or [Link]
local MousePosition =
[Link]([Link])
for i, v in ipairs([Link]([Link])) do
if v ~= LocalPlayer and ([Link] ~= [Link] and tostring([Link]) ~=
[Link]) and ValidCharacter([Link]) then
if [Link] and ([Link] == [Link] and
IsArmed(v) == false) then
continue
end
local ViewportPosition, OnScreen = [Link](Camera,
[Link])
local Magnitude = ([Link](ViewportPosition.X, ViewportPosition.Y) -
MousePosition).Magnitude
if OnScreen == false or NotObstructing([Link],
[Link]) == false then
continue
end
if Magnitude < ShortestDistance then
Closest = v
Position = ViewportPosition
ShortestDistance = Magnitude
end
end
end
return Closest, Position
end
local function SwitchGuns()
if [Link]([Link], "Remington 870")
then
local Tool = [Link]([Link],
"M4A1") or [Link]([Link], "AK-47") or
[Link]([Link], "M9")
local Humanoid =
[Link]([Link], "Humanoid")
[Link](Humanoid, Tool)
else
local Tool = [Link]([Link],
"Remington 870")
local Humanoid =
[Link]([Link], "Humanoid")
[Link](Humanoid, Tool)
end
end
local function Crash(Gun, BulletCount, ShotCount)
local ShootEvent = [Link]
local StartTime = time()
local BulletTable = {}
for i = 1, BulletCount do
BulletTable[i] = {
Cframe = [Link](),
Distance = [Link]
}
end
for i = 1, ShotCount do
ShootEvent:FireServer(BulletTable, Gun)
if time() - StartTime > 5 then
break
end
end
end
-- // User Interface \\ --
-- [ Window ] --
local Window = [Link]("Confinement X", [Link](0, 420, 0, 420))
-- [ Assists ] --
Window:Divider("Assists")
Window:Toggle("Silent Aim", "Shoots toward the nearest player to your cursor.",
false, function(State)
[Link] = State
end)
Window:Toggle("Trigger Bot", "Press G to temporarily disable.", false,
function(State)
[Link] = State
end)
Window:Slider("Field Of View", "Recommended: 250", 50, 500, 250, function(Value)
[Link] = Value
end)
Window:Dropdown("Team Whitelist", "Team for Silent-Aim to ignore.", {"Guards",
"Inmates", "Criminals"}, function(Value)
[Link] = Value
end)
Window:Toggle("Danger Check", "Checks if an Inmate has gun.", false,
function(State)
[Link] = State
end)
-- [ Rage ] --
Window:Divider("Rage")
Window:Button("Kill All", "Kills everyone in-game", function()
local GunScript = ([Link]:FindFirstChild("GunInterface", true) or
[Link]:FindFirstChild("GunInterface", true))
if GunScript then
for i,v in ipairs([Link]:GetPlayers()) do
if v ~= LocalPlayer then
local BulletInfo = {
[1] = {
["RayObject"] = [Link]([Link](845.555908, 101.429337,
2269.43945), [Link](-391.152252, 8.65560055, -83.2166901)),
["Distance"] = 3.2524313926697,
["Cframe"] = [Link](840.310791, 101.334137, 2267.87988,
0.0636406094, 0.151434347, -0.986416459, 0, 0.988420188, 0.151741937, 0.997972965,
-0.00965694897, 0.0629036576),
["Hit"] = [Link]
},
[2] = {
["RayObject"] = [Link]([Link](845.555908, 101.429337,
2269.43945), [Link](-392.481476, -8.44939327, -76.7261353)),
["Distance"] = 3.2699294090271,
["Cframe"] = [Link](840.290466, 101.184189, 2267.93506,
0.0964837447, 0.0589403138, -0.993587971, 4.65661287e-10, 0.998245299,
0.0592165813, 0.995334625, -0.00571343815, 0.0963144377),
["Hit"] = [Link]
},
[3] = {
["RayObject"] = [Link]([Link](845.555908, 101.429337,
2269.43945), [Link](-389.21701, -2.50536323, -92.2163162)),
["Distance"] = 3.1665518283844,
["Cframe"] = [Link](840.338867, 101.236496, 2267.80371,
0.0166504811, 0.0941716284, -0.995416701, 1.16415322e-10, 0.995554805,
0.0941846818, 0.999861419, -0.00156822044, 0.0165764652),
["Hit"] = [Link]
},
[4] = {
["RayObject"] = [Link]([Link](845.555908, 101.429337,
2269.43945), [Link](-393.353973, 3.13988972, -72.5452042)),
["Distance"] = 3.3218522071838,
["Cframe"] = [Link](840.277222, 101.285957, 2267.9707,
0.117109694, 0.118740402, -0.985994935, -1.86264515e-09, 0.992826641, 0.119563118,
0.993119001, -0.0140019981, 0.116269611),
["Hit"] = [Link]
},
[5] = {
["RayObject"] = [Link]([Link](845.555908, 101.429337,
2269.43945), [Link](-390.73172, 3.2097764, -85.5477524)),
["Distance"] = 3.222757101059,
["Cframe"] = [Link](840.317993, 101.286423, 2267.86035,
0.0517584644, 0.123365127, -0.991010666, 0, 0.992340803, 0.123530701, 0.99865967, -
0.00639375951, 0.0513620302),
["Hit"] = [Link]
}
}
[Link]:FireServer(BulletInfo,
[Link])
[Link]:FireServer(BulletInfo,
[Link])
end
end
else
[Link]("No gun found!")
end
end)
Window:Button("Gun Modification", "Modifies the current gun you are holding.",
function()
local GunStates = [Link]:FindFirstChild("GunStates", true)
if GunStates then
local GunInfo = require(GunStates)
[Link] = 0
[Link] = 0
[Link] = true
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
end
end)
-- [ Miscellaneous ] --
Window:Divider("Miscellaneous")
Window:Button("Get Guns", "Grabs all", function()
local HasSWAT =
[Link]:UserOwnsGamePassAsync([Link], 96651)
[Link]:InvokeServer(workspace.Prison_ITEMS.giver["Remington
870"].ITEMPICKUP)
if HasSWAT then
[Link]:InvokeServer(workspace.Prison_ITEMS.giver["M4A1"].ITEM
PICKUP)
end
[Link]:InvokeServer(workspace.Prison_ITEMS.giver["AK-
47"].ITEMPICKUP)
[Link]:InvokeServer(workspace.Prison_ITEMS.giver["M9"].ITEMPI
CKUP)
if HasSWAT then
[Link]:InvokeServer(workspace.Prison_ITEMS.clothes["Riot
Police"].ITEMPICKUP)
end
end)
-- [ Credits ] --
Window:Divider("Credits")
Window:Button("OminousVibes#7259", "Script Creator", function()
setclipboard("OminousVibes#7259")
end)
-- // Metatable \\ --
setreadonly(RawMetatable, false)
RawMetatable.__index = newcclosure(function(Self, Index)
if [Link] == true and checkcaller() == false then
if typeof(Self) == "Instance" and (Self:IsA("PlayerMouse") or
Self:IsA("Mouse")) then
if Index == "Hit" then
local Closest = ClosestPlayerToCursor([Link])
if Closest then
local Velocity =
[Link]
local Prediction = [Link]
if [Link] == 0 then
Prediction = [Link](0, 0, 0)
end
return [Link]([Link] + Prediction)
end
end
end
end
return __Index(Self, Index)
end)
setreadonly(RawMetatable, true)
-- // Event Listeners \\ --
[Link]:Connect(function()
if [Link] == true then
-- FOV --
[Link] = true
[Link] = [Link]
[Link] = [Link]:GetMouseLocation()
-- Target --
local Closest, Position = ClosestPlayerToCursor([Link])
if Closest then
[Link] = [Link](Position.X - 25, Position.Y + 25)
[Link] = [Link](Position.X + 25, Position.Y + 25)
[Link] = [Link](Position.X, Position.Y - 25)
if [Link] and not
[Link]:IsKeyDown([Link].G) then
mouse1click()
end
end
[Link] = Closest ~= nil
else
[Link] = false
[Link] = false
end
end)
[Link]:Connect(function(Message)
if [Link](Message:lower(), "-lag") then
local GunScript = ([Link]:FindFirstChild("GunInterface", true)
or [Link]:FindFirstChild("GunInterface", true))
if GunScript then
[Link]("Lagging...")
Crash([Link], 100, 10)
[Link]("Lagged!")
else
[Link]("Error: No gun found!")
end
end
end)
local LastShotDetected = time()
for i,v in
ipairs(getconnections([Link])) do
local OldFunction = [Link]
[Link] = function(BulletStats, IsTaser)
if #BulletStats > 25 or time() - LastShotDetected > 0.02 then
[Link]("Bullet Overload: Removing...")
return
end
LastShotDetected = time()
OldFunction(BulletStats, IsTaser)
end
end
local LastSoundDetected = time()
for i,v in
ipairs(getconnections([Link])) do
local OldFunction = [Link]
[Link] = function(Sound)
if time() - LastSoundDetected > 0.02 then
[Link]("Audio Overload: Removing...")
return
end
LastSoundDetected = time()
OldFunction(Sound)
end
end
-- // KeyBinds \\ --
[Link]:Connect(function(Input, GameProcessed)
if _G.ArrestAssist == false or GameProcessed or
[Link]:FindFirstChild("Handcuffs") == nil then
return
end
local Delta = time() - LastArrest
if Delta <= 15 then
[Link]("Wait " .. tostring([Link](Delta)) .. " seconds before
arresting again!")
end
if [Link] == [Link].MouseButton1 then
local Closest = ClosestPlayerToCursor(_G.FOV)
if Closest then
local Result =
[Link]:InvokeServer([Link])
[Link](Result == true and "Successfully arrested!" or Result)
if Result == true then
LastArrest = time()
end
end
end
end)
[Link]:BindAction("Switch Bind", function(actionName,
InputState, inputObject)
if InputState == [Link] then
return
end
pcall(SwitchGuns)
end, false, [Link].Q)
-- // Actions \\ --
[Link] = false
return {};