frage zu Ränge/Fraktionschat.

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
  • Moin. und zwar will ich im /r chat (staatsfraktionen) Ränge mit einbinden.


    Das ist der /r chat
    ocmd:r(playerid,params[])
    {
    new frak = GetPVarInt(playerid,"Fraktion");
    if(frak == 1||frak == 2||frak == 11||frak == 13||frak == 14||frak == 15)
    {
    new text[128];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,COLOR_GRAU,"/r [text]");
    format(text,sizeof(text),"Fraktionsmember %s: %s",SpielerName(playerid),text);
    TeamMessage(frak,text);
    return 1;
    }
    return 1;
    }
    forward TeamMessage(fraktion,text[]);
    public TeamMessage(fraktion,text[])
    {
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,fraktion))
    {
    SendClientMessage(i, 0x8C8EFFFF, text);
    }
    }
    }
    }


    Meine frage ist, wie baue ich dort Ränge ein, bzw. wenn ich /r benutze das dort steht z.b Polizeimeisteranwärter XYZ: Hi


    Definieren tuh ich die ränge foldendermaßen
    #define lspdrangname1 "Polizeimeisteranwärter"
    #define lspdrangname2 "Polizeikommissar"
    #define lspdrangname3 "Polizeioberkommissar"
    #define lspdrangname4 "Polizeihauptkommissar"
    #define lspdrangname5 "Erster Polizeihauptkommissar"
    #define lspdrangname6 "Polizeiratanwärter"
    #define lspdrangname7 "Polizeirat"
    #define lspdrangname8 "Polizeioberrat"
    #define lspdrangname9 "Polizeidirektor"
    #define lspdrangname10 "Leitender Polizeidirektor"
    #define lspdrangname11 "Direktor in der Bundespolizei"
    #define lspdrangname12 "Präsident der Bundespolizeidirektion"
    #define lspdrangname13 "Vizepräsident beim Bundespolizeipräsidium"
    #define lspdrangname14 "Präsident des Bundespolizeipräsidiums"
    kann mir dort jemand helfen?
    Danke im Vorraus.
    LG

  • Bitte benutze Switch-case Bedingungen als diese langen If-Bedingungen.
    Am besten du speicherst den Rang jedes Spielers und formatierst dann einen String der den Rangnamen ergibt wie z.B:
    format(string, sizeof(string), "lspdrangname%i", rang);
    So hast du deinen Rangnamen. Rang ist der Int-Wert.

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • format(rangname, sizeof(rangname), "lspdrangname%d", GetPVarInt(playerid, "Rank")); // Hier deine Rank Definition einsetzen
    format(text,sizeof(text),"%s %s: %s",rangname, SpielerName(playerid),text);


    Sollte so funktionieren... ( ungetestet )