I've worked a bit with OJP 1.2 source code and if I remember correctly, Legacy RP is somehow based on Open Jedi Project, so my tips may be useful for you. From my experience a lot depends on changedSaber qboolean - it is originally located in ClientSpawn function, which contains the whole saber assign system. What I did was just copying all that saber-related stuff into ClientUserinfoChanged function and changing one of two changedSaber variables to qfalse (although I don't remember which one exactly should be changed). This solution worked perfectly fine in my case but only for single sabers - unfortunately changing saber_single for saber_staff and going into spectator was crashing the server. Why? Oh God, I'd like to know