--https://www.youtube.com/c/anto6666 -- // Constants \\ -- -- [ Services ] -- local Services = setmetatable({}, {__index = function(Self, Index) local NewService = game.GetService(game, Index) if NewService then Self[Index] = NewService end return NewService end}) -- [ Modules ] -- local UserInterface = loadstring(game:HttpGet("https://raw.githubusercontent.com/icuck/collection-dump/main/AbstractUI", true))() local Drawing = loadstring(game:HttpGet("https://raw.githubusercontent.com/iHavoc101/Genesis-Studios/main/Modules/DrawingAPI.lua", true))() local ToolTip = require(Services.ReplicatedStorage.Modules_client.TooltipModule) -- [ LocalPlayer ] -- local LocalPlayer = Services.Players.LocalPlayer local Camera = workspace.CurrentCamera -- [ Raycast Parameters ] -- local RaycastParameters = RaycastParams.new() RaycastParameters.IgnoreWater = true RaycastParameters.FilterType = Enum.RaycastFilterType.Blacklist RaycastParameters.FilterDescendantsInstances = {LocalPlayer.Character} -- // Variables \\ -- -- [ Info ] -- local Info = { SilentAIMEnabled = false; TriggeredEnabled = false; ArmsCheckEnabled = true; TeamWhitelist = ""; FieldOfView = 250; } local LastArrest = time() -- [ Interface ] -- local FOVCircle = Drawing.new("Circle", { Thickness = 2.5, Color = Color3.fromRGB(200, 200, 200), NumSides = 25, Radius = _G.FOV }) local Target = Drawing.new("Triangle", { Thickness = 5, Color = Color3.fromRGB(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 (Character.FindFirstChildWhichIsA(Character, "Humanoid") and Character.FindFirstChildWhichIsA(Character, "Humanoid").Health ~= 0) or false end local function NotObstructing(Destination, Ancestor) -- [ Camera ] -- local ObstructingParts = Camera.GetPartsObscuringTarget(Camera, {Destination}, {Ancestor, LocalPlayer.Character}) for i,v in ipairs(ObstructingParts) do pcall(function() if v.Transparency >= 1 then table.remove(ObstructingParts, i) end end) end if #ObstructingParts <= 0 then return true end -- [ Raycast ] -- RaycastParameters.FilterDescendantsInstances = {LocalPlayer.Character} local Origin = Camera.CFrame.Position local Direction = (Destination - Origin).Unit * 500 local RayResult = workspace.Raycast(workspace, Origin, Direction, RaycastParameters) or { Instance = nil; Position = Origin + Direction; Material = Enum.Material.Air; } if RayResult.Instance and (RayResult.Instance.IsDescendantOf(RayResult.Instance, Ancestor) or RayResult.Instance == Ancestor) then return true end -- [ Obstructed ] -- return false end local function IsArmed(Player) for i,v in ipairs(Weapons) do local Tool = Player.Backpack.FindFirstChild(Player.Backpack, v) or Player.Character.FindFirstChild(Player.Character, 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 math.huge local MousePosition = Services.UserInputService.GetMouseLocation(Services.UserInputService) for i, v in ipairs(Services.Players.GetPlayers(Services.Players)) do if v ~= LocalPlayer and (v.Team ~= LocalPlayer.Team and tostring(v.Team) ~= Info.TeamWhitelist) and ValidCharacter(v.Character) then if Info.ArmsCheckEnabled and (v.Team == Services.Teams.Inmates and IsArmed(v) == false) then continue end local ViewportPosition, OnScreen = Camera.WorldToViewportPoint(Camera, v.Character.PrimaryPart.Position) local Magnitude = (Vector2.new(ViewportPosition.X, ViewportPosition.Y) - MousePosition).Magnitude if OnScreen == false or NotObstructing(v.Character.PrimaryPart.Position, v.Character) == 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 LocalPlayer.Character.FindFirstChild(LocalPlayer.Character, "Remington 870") then local Tool = LocalPlayer.Backpack.FindFirstChild(LocalPlayer.Backpack, "M4A1") or LocalPlayer.Backpack.FindFirstChild(LocalPlayer.Backpack, "AK-47") or LocalPlayer.Backpack.FindFirstChild(LocalPlayer.Backpack, "M9") local Humanoid = LocalPlayer.Character.FindFirstChildWhichIsA(LocalPlayer.Character, "Humanoid") Humanoid.EquipTool(Humanoid, Tool) else local Tool = LocalPlayer.Backpack.FindFirstChild(LocalPlayer.Backpack, "Remington 870") local Humanoid = LocalPlayer.Character.FindFirstChildWhichIsA(LocalPlayer.Character, "Humanoid") Humanoid.EquipTool(Humanoid, Tool) end end local function Crash(Gun, BulletCount, ShotCount) local ShootEvent = Services.ReplicatedStorage.ShootEvent local StartTime = time() local BulletTable = {} for i = 1, BulletCount do BulletTable[i] = { Cframe = CFrame.new(), Distance = math.huge } end for i = 1, ShotCount do ShootEvent:FireServer(BulletTable, Gun) if time() - StartTime > 5 then break end end end -- // User Interface \\ -- -- [ Window ] -- local Window = UserInterface.new("Confinement X", UDim2.new(0, 420, 0, 420)) -- [ Assists ] -- Window:Divider("Assists") Window:Toggle("Silent Aim", "Shoots toward the nearest player to your cursor.", false, function(State) Info.SilentAIMEnabled = State end) Window:Toggle("Trigger Bot", "Press G to temporarily disable.", false, function(State) Info.TriggeredEnabled = State end) Window:Slider("Field Of View", "Recommended: 250", 50, 500, 250, function(Value) Info.FieldOfView = Value end) Window:Dropdown("Team Whitelist", "Team for Silent-Aim to ignore.", {"Guards", "Inmates", "Criminals"}, function(Value) Info.TeamWhitelist = Value end) Window:Toggle("Danger Check", "Checks if an Inmate has gun.", false, function(State) Info.ArmsCheckEnabled = State end) -- [ Rage ] -- Window:Divider("Rage") Window:Button("Kill All", "Kills everyone in-game", function() local GunScript = (LocalPlayer.Backpack:FindFirstChild("GunInterface", true) or LocalPlayer.Character:FindFirstChild("GunInterface", true)) if GunScript then for i,v in ipairs(game.Players:GetPlayers()) do if v ~= LocalPlayer then local BulletInfo = { [1] = { ["RayObject"] = Ray.new(Vector3.new(845.555908, 101.429337, 2269.43945), Vector3.new(-391.152252, 8.65560055, -83.2166901)), ["Distance"] = 3.2524313926697, ["Cframe"] = CFrame.new(840.310791, 101.334137, 2267.87988, 0.0636406094, 0.151434347, -0.986416459, 0, 0.988420188, 0.151741937, 0.997972965, -0.00965694897, 0.0629036576), ["Hit"] = v.Character.Head }, [2] = { ["RayObject"] = Ray.new(Vector3.new(845.555908, 101.429337, 2269.43945), Vector3.new(-392.481476, -8.44939327, -76.7261353)), ["Distance"] = 3.2699294090271, ["Cframe"] = CFrame.new(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"] = v.Character.Head }, [3] = { ["RayObject"] = Ray.new(Vector3.new(845.555908, 101.429337, 2269.43945), Vector3.new(-389.21701, -2.50536323, -92.2163162)), ["Distance"] = 3.1665518283844, ["Cframe"] = CFrame.new(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"] = v.Character.Head }, [4] = { ["RayObject"] = Ray.new(Vector3.new(845.555908, 101.429337, 2269.43945), Vector3.new(-393.353973, 3.13988972, -72.5452042)), ["Distance"] = 3.3218522071838, ["Cframe"] = CFrame.new(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"] = v.Character.Head }, [5] = { ["RayObject"] = Ray.new(Vector3.new(845.555908, 101.429337, 2269.43945), Vector3.new(-390.73172, 3.2097764, -85.5477524)), ["Distance"] = 3.222757101059, ["Cframe"] = CFrame.new(840.317993, 101.286423, 2267.86035, 0.0517584644, 0.123365127, -0.991010666, 0, 0.992340803, 0.123530701, 0.99865967, -0.00639375951, 0.0513620302), ["Hit"] = v.Character.Head } } Services.ReplicatedStorage.ShootEvent:FireServer(BulletInfo, GunScript.Parent) Services.ReplicatedStorage.ShootEvent:FireServer(BulletInfo, GunScript.Parent) end end else ToolTip.update("No gun found!") end end) Window:Button("Gun Modification", "Modifies the current gun you are holding.", function() local GunStates = LocalPlayer.Character:FindFirstChild("GunStates", true) if GunStates then local GunInfo = require(GunStates) GunInfo.ReloadTime = 0 GunInfo.FireRate = 0 GunInfo.AutoFire = true GunInfo.StoredAmmo = math.huge GunInfo.MaxAmmo = math.huge GunInfo.CurrentAmmo = math.huge end end) -- [ Miscellaneous ] -- Window:Divider("Miscellaneous") Window:Button("Get Guns", "Grabs all", function() local HasSWAT = Services.MarketplaceService:UserOwnsGamePassAsync(LocalPlayer.UserId, 96651) workspace.Remote.ItemHandler:InvokeServer(workspace.Prison_ITEMS.giver["Remington 870"].ITEMPICKUP) if HasSWAT then workspace.Remote.ItemHandler:InvokeServer(workspace.Prison_ITEMS.giver["M4A1"].ITEMPICKUP) end workspace.Remote.ItemHandler:InvokeServer(workspace.Prison_ITEMS.giver["AK-47"].ITEMPICKUP) workspace.Remote.ItemHandler:InvokeServer(workspace.Prison_ITEMS.giver["M9"].ITEMPICKUP) if HasSWAT then workspace.Remote.ItemHandler: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 Info.SilentAIMEnabled == 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(Info.FieldOfView) if Closest then local Velocity = Closest.Character.PrimaryPart.AssemblyLinearVelocity local Prediction = Velocity.Unit if Velocity.Magnitude == 0 then Prediction = Vector3.new(0, 0, 0) end return CFrame.new(Closest.Character.Head.Position + Prediction) end end end end return __Index(Self, Index) end) setreadonly(RawMetatable, true) -- // Event Listeners \\ -- Services.RunService.RenderStepped:Connect(function() if Info.SilentAIMEnabled == true then -- FOV -- FOVCircle.Visible = true FOVCircle.Radius = Info.FieldOfView FOVCircle.Position = Services.UserInputService:GetMouseLocation() -- Target -- local Closest, Position = ClosestPlayerToCursor(Info.FieldOfView) if Closest then Target.PointA = Vector2.new(Position.X - 25, Position.Y + 25) Target.PointB = Vector2.new(Position.X + 25, Position.Y + 25) Target.PointC = Vector2.new(Position.X, Position.Y - 25) if Info.TriggeredEnabled and not Services.UserInputService:IsKeyDown(Enum.KeyCode.G) then mouse1click() end end Target.Visible = Closest ~= nil else FOVCircle.Visible = false Target.Visible = false end end) LocalPlayer.Chatted:Connect(function(Message) if string.find(Message:lower(), "-lag") then local GunScript = (LocalPlayer.Backpack:FindFirstChild("GunInterface", true) or LocalPlayer.Character:FindFirstChild("GunInterface", true)) if GunScript then ToolTip.update("Lagging...") Crash(GunScript.Parent, 100, 10) ToolTip.update("Lagged!") else ToolTip.update("Error: No gun found!") end end end) local LastShotDetected = time() for i,v in ipairs(getconnections(Services.ReplicatedStorage.ReplicateEvent.OnClientEvent)) do local OldFunction = v.Function v.Function = function(BulletStats, IsTaser) if #BulletStats > 25 or time() - LastShotDetected > 0.02 then ToolTip.update("Bullet Overload: Removing...") return end LastShotDetected = time() OldFunction(BulletStats, IsTaser) end end local LastSoundDetected = time() for i,v in ipairs(getconnections(Services.ReplicatedStorage.SoundEvent.OnClientEvent)) do local OldFunction = v.Function v.Function = function(Sound) if time() - LastSoundDetected > 0.02 then ToolTip.update("Audio Overload: Removing...") return end LastSoundDetected = time() OldFunction(Sound) end end -- // KeyBinds \\ -- Services.UserInputService.InputBegan:Connect(function(Input, GameProcessed) if _G.ArrestAssist == false or GameProcessed or LocalPlayer.Character:FindFirstChild("Handcuffs") == nil then return end local Delta = time() - LastArrest if Delta <= 15 then ToolTip.update("Wait " .. tostring(math.floor(Delta)) .. " seconds before arresting again!") end if Input.UserInputType == Enum.UserInputType.MouseButton1 then local Closest = ClosestPlayerToCursor(_G.FOV) if Closest then local Result = workspace.Remote.arrest:InvokeServer(Closest.Character.HumanoidRootPart) ToolTip.update(Result == true and "Successfully arrested!" or Result) if Result == true then LastArrest = time() end end end end) Services.ContextActionService:BindAction("Switch Bind", function(actionName, InputState, inputObject) if InputState == Enum.UserInputState.End then return end pcall(SwitchGuns) end, false, Enum.KeyCode.Q) -- // Actions \\ -- LocalPlayer.PlayerGui.Home.fadeFrame.Visible = false return {};