-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/TwiRwal/TwiWare/main/uilib.lua"))() local Window = Library.CreateLib("Prison Life Open Source", "TwiWare") local MainTab = Window:NewTab("Main") local MainSection = MainTab:NewSection("Main") MainSection:NewToggle("Anti Taser (Working)", "", function(state) if state then local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer local tasedRemote = ReplicatedStorage:WaitForChild("GunRemotes"):WaitForChild("PlayerTased") local function disableTaserConnections() for _, conn in pairs(getconnections(tasedRemote.OnClientEvent)) do conn:Disable() end end disableTaserConnections() _G.AntiTaserCharConn = LocalPlayer.CharacterAdded:Connect(function() task.wait(0.1) disableTaserConnections() end) _G.AntiTaserEnabled = true _G.AntiTaserLoop = task.spawn(function() while _G.AntiTaserEnabled do task.wait(1) pcall(disableTaserConnections) end end) else _G.AntiTaserEnabled = false if _G.AntiTaserCharConn then _G.AntiTaserCharConn:Disconnect() _G.AntiTaserCharConn = nil end end end) local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local StarterGui = game:GetService("StarterGui") local LocalPlayer = Players.LocalPlayer local FuncReloadRemote = nil pcall(function() local gunRemotes = ReplicatedStorage:WaitForChild("GunRemotes", 5) if gunRemotes then FuncReloadRemote = gunRemotes:WaitForChild("FuncReload", 5) end end) local autoReloadInProgress = {} local oldValues = {} local function notify(title, text) pcall(function() StarterGui:SetCore("SendNotification", { Title = title, Text = text, Duration = 3 }) end) end local function updateAmmoLabel(weapon, currentAmmo) local ok, gunFrame = pcall(function() return LocalPlayer.PlayerGui:WaitForChild("Home", 3) :WaitForChild("hud", 3) :WaitForChild("BottomRightFrame", 3) :WaitForChild("GunFrame", 3) end) if not ok or not gunFrame then return end local bulletsLabel = gunFrame:FindFirstChild("BulletsLabel") if not bulletsLabel then return end local behavior = weapon:GetAttribute("Behavior") if behavior == "Sniper" then local stored = weapon:GetAttribute("StoredAmmo") or 0 bulletsLabel.Text = currentAmmo .. " | " .. stored else local maxAmmo = weapon:GetAttribute("MaxAmmo") or currentAmmo bulletsLabel.Text = currentAmmo .. "/" .. maxAmmo end end local function getEquippedWeapon() local char = LocalPlayer.Character if not char then return nil end for _, child in ipairs(char:GetChildren()) do if child:IsA("Tool") then return child end end return nil end local function handleTool(tool) if not tool:IsA("Tool") then return end oldValues[tool] = oldValues[tool] or {} if tool:GetAttribute("ReloadTime") ~= nil then if oldValues[tool].ReloadTime == nil then oldValues[tool].ReloadTime = tool:GetAttribute("ReloadTime") end tool:SetAttribute("ReloadTime", 0) end end local function restoreTool(tool) if not tool:IsA("Tool") then return end if oldValues[tool] and oldValues[tool].ReloadTime ~= nil then tool:SetAttribute("ReloadTime", oldValues[tool].ReloadTime) oldValues[tool].ReloadTime = nil end end local function performAutoReload(weapon) if not weapon or not FuncReloadRemote then return end if autoReloadInProgress[weapon] then return end local currentReloadSession = weapon:GetAttribute("Local_ReloadSession") or 0 if currentReloadSession ~= 0 then return end local behavior = weapon:GetAttribute("Behavior") local storedAmmo = weapon:GetAttribute("StoredAmmo") if behavior == "Sniper" and storedAmmo and storedAmmo <= 0 then return end autoReloadInProgress[weapon] = true local session = tick() weapon:SetAttribute("Local_ReloadSession", session) weapon:SetAttribute("ReloadTime", 0) task.spawn(function() pcall(function() FuncReloadRemote:InvokeServer() end) end) task.delay(0, function() if weapon:GetAttribute("Local_ReloadSession") == session then if behavior == "Sniper" then local currentAmmo = weapon:GetAttribute("Local_CurrentAmmo") or 0 local maxAmmo = weapon:GetAttribute("MaxAmmo") or 1 if currentAmmo < maxAmmo then weapon:SetAttribute("Local_CurrentAmmo", 1) updateAmmoLabel(weapon, 1) end else local maxAmmo = weapon:GetAttribute("MaxAmmo") or 0 weapon:SetAttribute("Local_CurrentAmmo", maxAmmo) updateAmmoLabel(weapon, maxAmmo) end weapon:SetAttribute("Local_ReloadSession", 0) end autoReloadInProgress[weapon] = nil end) end RunService.Heartbeat:Connect(function() if not _G.AutoReloadActive then return end local char = LocalPlayer.Character local backpack = LocalPlayer:FindFirstChild("Backpack") if char then for _, tool in ipairs(char:GetChildren()) do handleTool(tool) end end if backpack then for _, tool in ipairs(backpack:GetChildren()) do handleTool(tool) end end local weapon = getEquippedWeapon() if not weapon then return end local currentAmmo = weapon:GetAttribute("Local_CurrentAmmo") or 0 local reloadSession = weapon:GetAttribute("Local_ReloadSession") or 0 if currentAmmo > 0 or reloadSession ~= 0 then return end performAutoReload(weapon) end) MainSection:NewToggle("Auto Reload", "", function(state) _G.AutoReloadActive = state if state then local char = LocalPlayer.Character local backpack = LocalPlayer:FindFirstChild("Backpack") if char then for _, tool in ipairs(char:GetChildren()) do handleTool(tool) end end if backpack then for _, tool in ipairs(backpack:GetChildren()) do handleTool(tool) end end notify("OpenBro", "Auto Reload enabled") else local char = LocalPlayer.Character local backpack = LocalPlayer:FindFirstChild("Backpack") if char then for _, tool in ipairs(char:GetChildren()) do restoreTool(tool) end end if backpack then for _, tool in ipairs(backpack:GetChildren()) do restoreTool(tool) end end notify("OpenBro", "Auto Reload disabled") end end) local invisibleActive = false local InvisibleRealCFrame = nil local InvisibleAnimationTrack = nil local InvisibleRenderKey = "OpenBroInv" local InvisibleOriginalTransparency = {} local InvisibleOriginalCanCollide = {} local function loadInvisibleAnimation(character) local humanoid = character:FindFirstChildOfClass("Humanoid") if not humanoid then return nil end local animator = humanoid:FindFirstChildOfClass("Animator") if not animator then return nil end local isR15 = humanoid.RigType == Enum.HumanoidRigType.R15 local animation = Instance.new("Animation") animation.AnimationId = isR15 and "rbxassetid://18665825805" or "rbxassetid://215384594" local track = animator:LoadAnimation(animation) track.Priority = Enum.AnimationPriority.Action4 track:Play(0, 0.001, 0) animation:Destroy() task.delay(0, function() track.TimePosition = isR15 and 1.95 or 0.4 end) return track end local function stopInvisible() pcall(function() RunService:UnbindFromRenderStep(InvisibleRenderKey) end) if InvisibleAnimationTrack then InvisibleAnimationTrack:Stop(); InvisibleAnimationTrack:Destroy(); InvisibleAnimationTrack = nil end local character = LocalPlayer.Character local rootPart = character and character:FindFirstChild("HumanoidRootPart") if rootPart and InvisibleRealCFrame then rootPart.CFrame = InvisibleRealCFrame local v = rootPart.AssemblyLinearVelocity rootPart.AssemblyLinearVelocity = Vector3.new(v.X, 0, v.Z) end InvisibleRealCFrame = nil if character then for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") and part ~= rootPart then if InvisibleOriginalTransparency[part] ~= nil then part.Transparency = InvisibleOriginalTransparency[part] end if InvisibleOriginalCanCollide[part] ~= nil then part.CanCollide = InvisibleOriginalCanCollide[part] end end end if rootPart then rootPart.Transparency = 1 end end table.clear(InvisibleOriginalTransparency) table.clear(InvisibleOriginalCanCollide) end local function startInvisible() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") local rootPart = character:FindFirstChild("HumanoidRootPart") if not humanoid or not rootPart then return end InvisibleAnimationTrack = loadInvisibleAnimation(character) InvisibleRealCFrame = nil table.clear(InvisibleOriginalTransparency) table.clear(InvisibleOriginalCanCollide) for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") and part ~= rootPart then InvisibleOriginalTransparency[part] = part.Transparency InvisibleOriginalCanCollide[part] = part.CanCollide part.Transparency = 0.5 part.CanCollide = false end end rootPart.Transparency = 1 pcall(function() RunService:UnbindFromRenderStep(InvisibleRenderKey) end) RunService:BindToRenderStep(InvisibleRenderKey, Enum.RenderPriority.Camera.Value - 1, function() if invisibleActive and InvisibleRealCFrame and rootPart.Parent then rootPart.CFrame = InvisibleRealCFrame if InvisibleAnimationTrack then InvisibleAnimationTrack:AdjustWeight(0.001) end end end) end RunService.Heartbeat:Connect(function() if not invisibleActive then return end local character = LocalPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local rootPart = character and character:FindFirstChild("HumanoidRootPart") if not humanoid or not rootPart then return end local isR15 = humanoid.RigType == Enum.HumanoidRigType.R15 local dropOffset = humanoid.HipHeight + (rootPart.Size.Y / 2) - 1 InvisibleRealCFrame = rootPart.CFrame rootPart.CFrame = (rootPart.CFrame - Vector3.new(0, dropOffset, 0)) * CFrame.Angles(math.rad(isR15 and 180 or 90), 0, 0) local v = rootPart.AssemblyLinearVelocity rootPart.AssemblyLinearVelocity = Vector3.new(v.X, 0, v.Z) if InvisibleAnimationTrack then InvisibleAnimationTrack:AdjustWeight(100) end end) LocalPlayer.CharacterAdded:Connect(function() if invisibleActive then task.wait(0.5); startInvisible() end end) MainSection:NewToggle("Invisible", "", function(state) invisibleActive = state if state then startInvisible() else stopInvisible() end end) local GunModActive = false local GunModThread = nil local GunModOldValues = {} local function handleGunTool(tool) if not tool:IsA("Tool") then return end GunModOldValues[tool] = GunModOldValues[tool] or {} if tool:GetAttribute("SpreadRadius") ~= nil then if GunModOldValues[tool].SpreadRadius == nil then GunModOldValues[tool].SpreadRadius = tool:GetAttribute("SpreadRadius") end tool:SetAttribute("SpreadRadius", 0) end if tool:GetAttribute("AutoFire") ~= nil then if GunModOldValues[tool].AutoFire == nil then GunModOldValues[tool].AutoFire = tool:GetAttribute("AutoFire") end tool:SetAttribute("AutoFire", true) end if tool:GetAttribute("ReloadTime") ~= nil then if GunModOldValues[tool].ReloadTime == nil then GunModOldValues[tool].ReloadTime = tool:GetAttribute("ReloadTime") end tool:SetAttribute("ReloadTime", 0.3) end if tool:GetAttribute("FireRate") ~= nil then if GunModOldValues[tool].FireRate == nil then GunModOldValues[tool].FireRate = tool:GetAttribute("FireRate") end tool:SetAttribute("FireRate", 0.05) end end local function enableGunMod() if GunModActive then return end GunModActive = true GunModThread = task.spawn(function() while GunModActive do task.wait(0.2) if not GunModActive then break end pcall(function() local char = LocalPlayer.Character local backpack = LocalPlayer:FindFirstChild("Backpack") if char then for _, tool in ipairs(char:GetChildren()) do handleGunTool(tool) end end if backpack then for _, tool in ipairs(backpack:GetChildren()) do handleGunTool(tool) end end end) end end) notify("OpenBro", "Gun Mod enabled") end local function disableGunMod() if not GunModActive then return end GunModActive = false if GunModThread then pcall(task.cancel, GunModThread); GunModThread = nil end task.wait(0.05) pcall(function() local char = LocalPlayer.Character local backpack = LocalPlayer:FindFirstChild("Backpack") local function revert(tool) if not tool:IsA("Tool") then return end if GunModOldValues[tool] then for attr, val in pairs(GunModOldValues[tool]) do tool:SetAttribute(attr, val) end GunModOldValues[tool] = nil end end if char then for _, tool in ipairs(char:GetChildren()) do revert(tool) end end if backpack then for _, tool in ipairs(backpack:GetChildren()) do revert(tool) end end end) notify("OpenBro", "Gun Mod disabled") end MainSection:NewToggle("Gun Mod", "", function(state) if state then enableGunMod() else disableGunMod() end end)