So, the game uses GameObject.FindGameObjectWithTag( "Player" ); everywhere to find the localplayer.
This is wrong, and there should be a global variable for the local player, and a global playerlist. Because, the method you currently use, can lead to something like... the game thinking some random player is your own.