Ich habe bis jetzt noch nichts weil ich nicht weiß wie das geht.
Naja, einfach so:
#define MAX_FRAKS 15 //Halt wie viele du hast
new bool:frak[MAX_FRAKS char]; //Da alles mit false (0x00) initialisiert wird in Pawn, sind alle Fraktionen am Anfang offen
//Dann wenn der Spieler sich eingeloggt hat
const id = SpielerInfo[playerid][Fraktion]; //Halt mit deiner Speicherung anpassen
if(frak{id} && id != 0)
{
//Hier ist die Fraktion geschlossen.
SpielerInfo[playerid][Fraktion] = 0; //Hier setzt du ihn zum Zivi
SpawnPlayer(playerid);//damit er nochmal spawnt als Zivi
}
//In deinem FrakClose command:
frak{frakid} = true;
//In deinem FrakOpen command:
frak{frakid} = false;
//Und dann halt noch Speichern.
Hoffe das hilft dir als grobe Richtung 
mfg. 