you can attach the world-model to a bone on your model
this model will be visible for all but the player
the player gets a view entity (easy-to-implement, bad light effects) or a normal entity which is attached to the camera (position+angle, more work, but nicer results because model reacts on lights)
you have to differ between player and others
if you want to switch between a fps and a tps you need to switch the visibility of the first person weapon and add a world-model also for the player


Visit my site: www.masterq32.de