Wie wäre es, mit ein bisschen Struktur und leichterer Erweiterbarkeit?
//Oben Ins Skript
enum e_Frak {
f_Name[32], f_Skin
};
#define GetFrakName(%0) f_Info[%0][f_Name]
#define GetFrakSkin(%0) f_Info[%0][f_Skin]
stock const f_Info[][e_Frak] = {
{"Zivilist",79},{"S.A.P.D.",283},{"S.W.A.T.",285},{"F.B.I",165},{"U.S. Army",287},{"Zoll",188},
{"Ordnungsamt",227},{"S.A.F.D.",279},{"U.S. Regierung",295},{"S.A.N.Z.",187},{"Fahrschule",240},
{"Grove Street",107},{"Los Santos Vagos",108},{"Las Venturas Biker",248},{"Triaden",120},
{"BloodZ",177},{"Aztecas",174},{"Ballas",104},{"Hitman",294}
};
//Dann der Befehl
ocmd:setleader(playerid,params[]) {
if(sSpieler[playerid][Adminlevel] < 1337) return SendClientMessage(playerid,COLOR_HGRAD,"Du hast keine Berechtigung.");
new pID,frak,string[128];
if(sscanf(params,"ud",pID,frak)) return SendClientMessage(playerid,COLOR_HGRAD,"Benutze: /setleader [playerid] [Fraktion]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR_HGRAD,"Dieser Spieler ist nicht online.");
if(frak < 0 || frak > sizeof f_Info) return format(string,sizeof string,"Es gibt nur %d Fraktionen.",sizeof f_Info),SendClientMessage(playerid,COLOR_HGRAD,string);
sSpieler[pID][Leader] = frak,sSpieler[pID][Rang] = 15,SetPlayerSkin(pID,GetFrakSkin(frak)),sSpieler[pID][Skin] = GetFrakSkin(frak);
format(string,sizeof string,"Du hast %s zum Leader der Fraktion %s (FraktionsID: %d) ernannt.",GetName(pID),GetFrakName(frak),frak);
SendClientMessage(playerid,COLOR_HGRAD,string);
format(string,sizeof string,"%s hat dich zum Leader der Fraktion %s (FraktionsID: %d) ernannt.",GetName(playerid),GetFrakName(frak),frak);
return SendClientMessage(pID,COLOR_YELLOW,string);
}
//Dann die Funktion noch irgendwo ins Skript
stock GetName(playerid) {
new n[MAX_PLAYER_NAME];
return GetPlayerName(playerid,n,MAX_PLAYER_NAME),n;
}
Jetzt könntest du einfach oben noch eine Fraktion hinzufügen und der Befehl würde sich automatisch anpassen 
mfg. 
//Edit: James.Spader: damit du das auch liest...