Prop Rotation ??

Hi, I’ve been searching for days and days and days after seeing all prop hunt servers. Most of the ones I get confused on are the ones that have prop rotation, lock and unlock. I’m really tired of it and would like some help on making props rotatable not just for props but also for hunters(AKA props lay down, on hunters view, laying down). I don’t know if anybody has a clue where I could get this or even buy if possible. I don’t know if this is the right place to ask but I am willing to pay $3.00 who can help me because I’m tired of not having that feature but everybody else does, help would be appreciated thanks or if you know the codes, those would help to where to put them. Thanks. class_hunter.lua:


// Create new class
local CLASS = {}


// Some settings for the class
CLASS.DisplayName			= "Hunter"
CLASS.WalkSpeed 			= 230
CLASS.CrouchedWalkSpeed 	= 0.2
CLASS.RunSpeed				= 230
CLASS.DuckSpeed				= 0.2
CLASS.DrawTeamRing			= false


// Called by spawn and sets loadout
function CLASS:Loadout(pl)
	pl:Give("weapon_crowbar")
	pl:GiveAmmo(64, "Buckshot")
	pl:GiveAmmo(255, "SMG1")
	pl:Give("weapon_shotgun")
	pl:Give("weapon_smg1")

	if GetConVar("WEAPONS_ALLOW_GRENADE"):GetBool() then
		pl:Give("item_ar2_grenade")
	end
	
	local cl_defaultweapon = pl:GetInfo("cl_defaultweapon") 
 	 
 	if pl:HasWeapon(cl_defaultweapon) then 
 		pl:SelectWeapon(cl_defaultweapon)
 	end 
end


// Called when player spawns with this class
function CLASS:OnSpawn(pl)
	local unlock_time = math.Clamp(GetConVar("HUNTER_BLINDLOCK_TIME"):GetInt() - (CurTime() - GetGlobalFloat("RoundStartTime", 0)), 0, GetConVar("HUNTER_BLINDLOCK_TIME"):GetInt())
	
	//function MyLockFunc()
	//function MyUnlockFunc()
	
	local unblindfunc = function()
		//MyUnblindFunc(pl.Blind(false))
		pl:Blind(false)
	end
	local lockfunc = function()
		//MyLockFunc(pl.Lock())
		pl.Lock(pl)
	end
	local unlockfunc = function()
		//MyUnlockFunc(pl.UnLock())
		pl.UnLock(pl)
	end
	
	if unlock_time > 2 then
		pl:Blind(true)
		
		timer.Simple(unlock_time, unblindfunc)
		
		timer.Simple(2, lockfunc)
		timer.Simple(unlock_time, unlockfunc)
	end
end


// Called when a player dies with this class
function CLASS:OnDeath(pl, attacker, dmginfo)
	pl:CreateRagdoll()
	pl:UnLock()
end


// Register
player_class.Register("Hunter", CLASS)

class_props.lua:


// Create new class
local CLASS = {}


// Some settings for the class
CLASS.DisplayName			= "Prop"
CLASS.WalkSpeed 			= 250
CLASS.CrouchedWalkSpeed 	= 0.2
CLASS.RunSpeed				= 250
CLASS.DuckSpeed				= 0.2
CLASS.DrawTeamRing			= false


// Called by spawn and sets loadout
function CLASS:Loadout(pl)
	// Props don't get anything
end


// Called when player spawns with this class
function CLASS:OnSpawn(pl)
	pl:SetColor( Color(255, 255, 255, 0))
	
	pl.ph_prop = ents.Create("ph_prop")
	pl.ph_prop:SetPos(pl:GetPos())
	pl.ph_prop:SetAngles(pl:GetAngles())
	pl.ph_prop:Spawn()
	pl.ph_prop:SetSolid(SOLID_BBOX)
	pl.ph_prop:SetParent(pl)
	pl.ph_prop:SetOwner(pl)
	
	pl.ph_prop.max_health = 100
end


// Called when a player dies with this class
function CLASS:OnDeath(pl, attacker, dmginfo)
	pl:RemoveProp()
end


// Register
player_class.Register("Prop", CLASS)

Extra details: If those are the wrong files, tell me which file code you need and I’ll post it below your post.
Edit: Facepunch with its disrespectful staff & players can go to hell. You can help me here https://scriptfodder.net/jobs/view/889 lazy cunts.