Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey Community


    ich hab mir mal gedacht eine Include zur Erleichterung eines Fraktionssystems zu machen.


    [tabmenu]


    [tab='Die Funktions']
    [subtab='Liste']
    Es gibt folgende Befehle mit Parametern:


    addFraktion(frakid, frakname[], color);
    makeFraktionLeader(playerid, id);
    setFraktion(playerid, id);
    getLeader(playerid);
    getFraktion(playerid);
    getFraktionName(playerid);


    [subtab='addFraktion']
    Die Funktion addFraktion() kommt am besten unter OnGameModeInit.
    Beispiel: addFraktion(1, "Polizei", 0x0000FFFF);
    Hinweis: Jede ID darf nur einmal existieren sonst wird die Fraktion überschrieben!


    [subtab='makeFraktionLeader']
    Die Funktion makeFraktionLeader() sagt eigentlich schon alles und müsste bei euren Befehl /setleader drunter.
    Beispiel: makeFraktionLeader(playerid, 1);
    Dieser Spieler wäre dann der Leader von der Fraktion 1 (Polizei).
    Hinweis: Sollte makeFraktionLeader(playerid,1) -1 ergeben, dann ist er in keine Fraktion oder die Fraktion mit der ID existiert nicht.


    [subtab='setFraktion']
    Die Funktion setFraktion() sagt schon alles und müsste bei euren Befehl /setfraktion drunter.
    Beispiel: setFraktion(playerid, 1);
    Tja und jetzt wäre der Spieler in der Fraktion 1 (Polizei).


    [subtab='getLeader']
    Die Funktion getLeader() sagt euch ob der Spieler Leader der Fraktion ist.
    Dies kann man in if-Abfragen eigentlich sehr gut nutzen.
    Beispiel: if ( getLeader(playerid) == 1 ) { format(string,sizeof string, "Du bist Leader der Fraktion %s", getFraktionName(playerid)); SendClientMessage(playerid,0xFFFFFFFF, string); }
    Sollte er jetzt der Leader sein dann würde kommen "Du bist Leader der Fraktion NAME".
    Allerdings muss man bevor man Leader wird erstmal in einer Fraktion beitreten, daher das man keine 2 Fraktionen angehören kann/soll.


    [subtab='getFraktion']
    Jetzt kommen wir zu getFraktion().
    Dies kann man ebenfalls gut in if-Abfragen überprüfen.
    Beispiel: if ( getFraktion(playerid) == 1 ) { SendClientMessage(playerid,0xFFFFFFFF, "Du bist Polizist!"); }
    Sollte der Spieler jetzt in der Fraktion 1 (Polizei) sein, dann käme "Du bist Polizist!".
    Hinweis: Sollte bei getFraktion(playerid) -1 ergeben, dann ist er in keine Fraktion.


    [subtab='getFraktionName']
    Zu guter letzt kommt noch getFraktionName().
    Dies funktioniert eigentlich fast genau so wie GetPlayerName().
    Beispiel: format(string,sizeof string, "%s", getFraktionName(playerid));
    Und in der Variable string wäre jetzt: "Polizei", der Name der Fraktion.
    Hinweis: Sollte -1 in der Variable stecken, dann ist der Spieler in keiner Fraktion.


    [tab='Sonstiges']
    [subtab='Test Gamemode']
    Dieses Gamemode wurde von mir zum testen entwickelt:
    Pastebin
    Und die Befehle sind:
    /setto (Zum Fraktion machen)
    /get (Fraktion auslesen)
    Setleader ist nicht drin, aber dies funktioniert auch ;)
    [subtab='Benötigte Ordner']
    Ihr benötigt im Ordner "scriptfiles" den Ordner "pFrak" sonst kommen Fehler in der Konsole.
    [subtab='Benötigte Includes']
    Ihr benötigt die Include Datei dini.inc!
    Ich habe sie hier mal bei pastebin gepostet.


    Meine Include Datei (pFraktion).
    Die findet ihr genau hier.


    Hinweis zur Installation: Die Include Dateien müssen in den pawno/include Ordner mit dem Namen:
    dini.inc und pFraktion.inc.
    [subtab='Beschreibung']
    Man kann sich soviele Fraktionen machen wie man will.
    Jede Fraktion hat eine bestimmte Farbe.
    Außerdem kann man die Spieler zu Leadern machen.
    [/tabmenu]


    Diese Include Datei ist zur Erleichterung eines Fraktionssystems bestimmt.



    Mfg pierre