Ducking SetViewOffset (like in cs:s)

I’m trying to see if there is a way to lower the SetViewOffset for when the player crouches under a tunnel or something.

pl:SetHullDuck( Vector( -16, -16, 0 ), Vector( 16, 16, 32 ))

offset at 45 but the SetHullDuck is 32. When a players eye gets obstructed by the map, the SetViewOffset would go to 28 or 4 units below whatever is obstructing it (This happens in CS:S).

Is there any sort of way in lua that allows me to do this? I tried looking around but couldn’t really see anything.