Guten Morgen,
tut mir leid, wenn ich in letzter Zeit immer so Sachen veröffentliche, mir ist aber total langweilig 
Also heute ist es ein Fraktionstool, welches ich gerade geschrieben habe und dies hilft Leuten die gerade ein Selmfade schreiben wollen 
[tabmenu]
[tab='Allgemeine Informationen','http://forum.sa-mp.de/wcf/icon/infoM.png']
[subtab='Funktionen','http://forum.gamerzhost.de/wcf/icon/codeS.png']
SetPlayerFraktion(playerid, frakid); //Fügt einen Spieler in eine Fraktion
SetPlayerRang(playerid, rangid); //Setzt den Rang des Spielers
IsOnline(frakid); //Listet in einem Dialog auf, wer aus der Fraktion online ist + Titel, quasi Member: Kaliber (Rang: Rangname)
GetFraktion(playerid); //returnt frakid
GetRang(playerid); //returnt den Rang des Spielers
SetFraktionsColor(frakid, hexcode); //Hier kann man farben für die einzelnen Fraktionen setzen
SetFraktionsSpawn(frakid, Float:X,Float:Y,Float:Z, (optional)Float:A); //ja, setzt halt den Spawnpunkt für die Spieler (an einer Base)
SetRangName(frakid, rangid, name[]); //Setzt den Rangnamen für die bestimmte Fraktion
GetRangName(playerid); //returnt (nach Beispiel) "Laufbursche"
AddFrakCar(frakid,modelid,Float:X,Float:Y,Float:Z,Float:A,color1,color2,respawn); //Fügt ein Car der Fraktion hinzu
GetFrakCar(vehicleid); //returnt zu welcher Frakid dieser Wagen gehört
SetFraktionArt(frakid, art); //Setzt die Fraktions Art (ob Gang...) siehe Beispiel Tab (V3.0)
GetFraktionArt(frakid); //Returnt die Fraktionsart als String (V3.0)
CreateGangZone(frakid, Float:minx, Float:miny, Float:maxx, Float:maxy); //Erstellt eine Fraktions Gangzone (V3.0)
GetGangZoneOwner(GangZoneID); //Returnt die frakid von dem Owner der Gangzone (V3.0)
SetGangZoneOwner(GangZoneID,frakid); //Setzt den Owner der Gangzone (V3.0)
[subtab='Wichtig','http://www.rezepte-guru.de/template/images/icon_stern.gif']
Man kann den MAX_RANG setzen:
#define MAX_RANG 10 //Hier setzen wir den "Leader Rang" auf 10
#define MAX_FRAKTIONS 30 //Hier könnte man die Anzahl der Fraktionen erhöhen
//Das muss man nicht machen mit MAX_RANG oder MAX_FRAKTIONS
//Da MAX_RANG (ohne verändern) den Wert 6 hätte und MAX_FRAKTIONS (ohne verändern) 20
#include <frakhelp> //Wichtig, erst unter dem #define stehen !
PS: Wer den Leader Rang hat, ist automatisch Leader der Fraktion.
PS²: Es gibt keine Fraktion 0 = keine Fraktion !!!
[subtab='Beispiele','http://www.damen-eishockey.de/images/lampe.gif']
//Unter OnGameModeInit
SetFraktionsColor(1, 0xFFFFFFFF); //Die Fraktion 1 hätte jetzt die Farbe weiß
SetFraktionsSpawn(1, 0.0, 0.0, 0.0); //Die Fraktion 1 würde jetzt an den Koordinaten 0,0,0 spawnen
SetRangName(1, 1, "Laufbursche"); //In der Fraktion 1, wenn man Rang 1 ist heißt man Laufbursche
//Ein Beispiel Invite Befehl
ocmd:invite(playerid, params[]) //ich hoffe du nutzt ocmd
{
//if(!IsPlayerAdmin(playerid)) return 1; //Man sollte für diesen Befehl Admin sein, ich lasse es mal weg...
new pID, frakid;
if(sscanf(params,"ui",pID,frakid)) return SendClientMessage(playerid,rot,"Verwendung: /invite [spielerid] [frakid]");
SetPlayerFraktion(pID, frakid);
SetPlayerRang(pID, 1);
SetPlayerSkin(playerid, 299); //halt irgendein neuer Fraktions Skin
return 1;
}
Hier ein Beispiel zu der Verwendung vom Leadersystem: Leader Beispiel
[subtab='Download','http://www.projekt-deutsch.de/templates/cback/images/download.gif']
Pastebin: Pastebin (V.3.0)
Mediafire: Download Mediafire (V.3.0)
[/tabmenu]
Zu den Fraktionscars:
Zitat
Man kann die Fraktion Cars nur benutzen, wenn man zu der Fraktion gehört, sie sind durch SetVehicleParams abgeschlossen !
Hier nun die Version 3.0, Viel Spaß 
mfg.
//Edit:
-
Besser Erklärt mit dem eigenen Directive.
-
Da hatte ich noch einen Fehler...
-
Neuer Pastebin Link, habe da noch was verbessert.
-
Wichtige Info hinzugefügt.
-
Hatte noch den Array bei n_name vergessen...editiert neuer pastebin Link...
-
Version 1.1 mit FraktionsCars
-
-
-
Beispiel mit Leader hinzugefügt
-
Version 3.0 ist draußen mit neuen Funktionen