The reason most dont work is the missing variables from the old base(the one that was used before you put in thetweapon_ttbase) The old base had things in it that set up some functions in the weapon, when you switched the bases it dosnt know what to do with those functions.
Example:
SWEP.Primary.KickUp = 0.3 // Maximum up recoil (rise)
SWEP.Primary.KickDown = 0.3 // Maximum down recoil (skeet)
SWEP.Primary.KickHorizontal = 0.3 // Maximum up recoil (stock)
With that said, you could alter the base.