function DSRP.Knockout(ply)
if ply:GetTable().Knockedout then return end
local ragdoll = ents.Create("prop_ragdoll")
ragdoll:SetPos(ply:GetPos())
ragdoll:SetModel(ply:GetModel())
ragdoll:Spawn()
local ragdollphys = ragdoll:GetPhysicsObject()
ragdollphys:Wake()
ply:GetTable().Ragdoll = ragdoll
ply:Spectate(OBS_MODE_CHASE)
ply:SpectateEntity(ragdoll)
ply:StripWeapons()
ply:GetTable().Knockedout = true
end
concommand.Add("knockout", DSRP.Knockout)
function DSRP.UnKnockout(ply)
if !ply:GetTable().Knockedout then return end
ply:GetTable().Ragdoll:Remove()
ply:GetTable().Ragdoll = nil
ply:UnSpectate()
ply:Give("weapon_physgun")
ply:Give("weapon_physcannon")
ply:GetTable().Knockedout = false
end
concommand.Add("unknockout", DSRP.UnKnockout)