Basically in each team there would be points and ranks, for a certain amount of team points you get promoted to a new rank.
Example:
10 Science Points for the scientist team = Head Scientist
5 Military Points for the military team = Corporal
Each team has their own unique points and ranks and isint accessible if you are in another team, an example of this being used in games are SCP: Roleplay and Virus Border Roleplay
How it is complicated? Lets take an example from @S3CR3TH4CK.
You have several teams: each of them has it’s own player, so each player in the specific team has IntValue with stored number of points in it. Then some kind of the system checks when specific IntValue from any player in any team gets updated number and you give them specific rank based on the number.
The said above using an example of IntValue was lightest way to implement your ranking and points system. But, you may could try to look up at another method to make an ranking + points system but this is what we have right now, honestly.