Admin ränge erstellen

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
  • Meinst du so etwas?

    stock AdminName(playerid)
    {
    new name[32];
    if(PlayerInfo[playerid][pAdmin] == 1) format(name, sizeof(name), "Adminrang 1");
    else if(PlayerInfo[playerid][pAdmin] == 2) format(name, sizeof(name), "Adminrang 2");
    else if(PlayerInfo[playerid][pAdmin] == 3) format(name, sizeof(name), "Adminrang 3");
    else if(PlayerInfo[playerid][pAdmin] == 4) format(name, sizeof(name), "Adminrang 4");
    else if(PlayerInfo[playerid][pAdmin] == 5) format(name, sizeof(name), "Adminrang 5");
    else if(PlayerInfo[playerid][pAdmin] == 6) format(name, sizeof(name), "Adminrang 6");
    else if(PlayerInfo[playerid][pAdmin] == 7) format(name, sizeof(name), "Adminrang 7");
    else if(PlayerInfo[playerid][pAdmin] == 8) format(name, sizeof(name), "Adminrang 8");
    return name;
    }



    format(string, sizeof(string), "** %s %s: %s", AdminName(playerid), SpielerName(playerid), text);

  • Da ich nicht weiß, auf was Du speziell eine Antwort haben möchtest, eben mal ein kleines Tutorial:


    Adminränge sind genauso wie Fraktionen: Du nimmst verschiedene ID's für die Ränge (bspw. Supporter = 1, Admin = 2, Head Admin = 3).
    Das sind dann die numerischen Ränge, welche Du bei Adminabfragen in bspw. Befehlen brauchst.
    Du fragst dann ab, welchen numerischen Rang der Spieler hat und wenn er bspw. = 1 ist, ist er Suporter.


    Du kannst diese numerischen Ränge aber auch leicht in Rangnamen umwandeln, dafür gebe ich Dir mal eine Beispielfunktion, welche ich selbst verwende und auch definitiv funktioniert.



    stock GetRankName(rank){
    new rankname[20]; //Variable definieren, welche den Rangnamen beinhaltet
    switch(rank){ //Switch...Case Abfrage, nichts Anderes als eine Alternative zur gewöhnlichen if Abfrage
    case 0: format(rankname, sizeof(rankname), "User") //Case 0 - wenn rank == 0 ist, wird der Variable rankname der Wert "User" zugewiesen.
    case 1: format(rankname, sizeof(rankname), "Supporter")
    case 2: format(rankname, sizeof(rankname), "Admin")
    case 3: format(rankname, sizeof(rankname), "Head Admin")
    }
    return rankname; //Rückgabe des endgültigen Rangnamens
    }

  • Wie meinst Du das mit "automatisch gespeichert"? Du musst den Rang des Spielers (als numerischen Rang) natürlich noch in der Spielerdatei / MySQL Tabelle speichern.
    Einfach eine normale If Abfrage verwenden.


    if(GetPVarInt(playerid, "adminlevel") == 1){
    SendClientMessage(playerid, "Du darfst diesen Befehl verwenden.");
    }else{
    SendClientMessage(playerid, "Du darfst diesen Befehl nicht verwenden.");
    }