Ca ressemble comme deux gouttes d'eau à un problème de SetPlayerInterior.
Et effectivement, dans SetupPlayerForClassSelection tu fais un SetPlayerInterior (playerid, 14); donc le joueur est dans l'intérieur 14 et il reste quand il spawn dans l'intérieur 0.
Pour corriger ça, rajouter la ligne SetPlayerInterior (playerid, 0); dans OnPlayerSpawn, ça devrait marcher.
++
Syg