Fraktionsrangnamen 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
  • Hallo zusammen


    ich habe eben versucht die Rangnamen festzulegen


    dabei habe ich mir das "Adminrangnamensystem" als Beispiel genommen


    da nicht jede Fraktion dieselben Rangnamen haben soll wollte ich erst mit switch die FrakID abfragen und dann jeweils die Ränge switchen


    das ganze sah dann so aus


    Rangnamensystem pwn Code
    stock GetPlayerAdminName(playerid){ new aName[]="Stellv. Projektleiter"; switch(sInfo[playerid][alevel]) { case 0: aName="User"; case 1: aName="Probe Supporter"; case 2: aName="Supporter"; case 3: aName="Moderator"; case 4: aName="Chef Moderator"; case 5: aName="Administrator"; case 6: aName="Chef Administrator"; case 7: aName="Server Manager"; case 8: aName="Development"; case 9: aName="Projektleiter"; default: aName="ERROR"; } return aName;}public GetPlayerRangName(playerid,fID){ new rName[]="Stellv. Projektleiter"; switch(sInfo[playerid][fraktion]) { if(case 1:{ switch(sInfo[playerid][rang]]) case 0: rName="Praktikant des LSPD"; case 1: rName="Azubi des LSPD"; case 2: rName="Polizist I"; case 3: rName="Polizist II"; case 4: rName="Polizist III"; case 5: rName="Co Leader des LSPD"; case 6: rName="Leader des LSPD"; } else if(case 2:{ switch(sInfo[playerid][rang]]) case 0: rName="Praktikant des SFPD"; case 1: rName="Azubi des SFPD"; case 2: rName="Polizist I"; case 3: rName="Polizist II"; case 4: rName="Polizist III"; case 5: rName="Co Leader des SFPD"; case 6: rName="Leader des SFPD"; } else if(case 3:{ switch(sInfo[playerid][rang]]) case 0: rName=""; case 1: rName=""; case 2: rName=""; case 3: rName=""; case 4: rName=""; case 5: rName=""; case 6: rName=""; } default: rName="ERROR"; } return aName;}



    leider mag der Compiler das nicht und sagt mir dass ich im Switch nicht nochmal switchen kann




    Wie kann ich das ganze anders schreiben?


    und war diese art überhaupt sinnvoll?


    MFG


    Roleplaymaker

  • nun jetzt sieht er so aus, den doppelten switch nimmt er doch



    stock GetPlayerRangName(playerid)
    {
    new rName[]="Stellv. Projektleiter";
    switch(sInfo[playerid][fraktion])
    {
    if(case 1:{
    switch(sInfo[playerid][rang]))
    case 0: rName="Praktikant des LSPD";
    case 1: rName="Azubi des LSPD";
    case 2: rName="Polizist I";
    case 3: rName="Polizist II";
    case 4: rName="Polizist III";
    case 5: rName="Co Leader des LSPD";
    case 6: rName="Leader des LSPD";
    }
    else if(case 2:{
    switch(sInfo[playerid][rang]))
    case 0: rName="Praktikant des SFPD";
    case 1: rName="Azubi des SFPD";
    case 2: rName="Polizist I";
    case 3: rName="Polizist II";
    case 4: rName="Polizist III";
    case 5: rName="Co Leader des SFPD";
    case 6: rName="Leader des SFPD";
    }
    else if(case 3:{
    switch(sInfo[playerid][rang]))
    case 0: rName=".";
    case 1: rName=".";
    case 2: rName=".";
    case 3: rName=".";
    case 4: rName=".";
    case 5: rName=".";
    case 6: rName=".";
    }

    default: rName="ERROR";

    }
    return rName;
    }



    in der letzten return zeile also


    return rName;


    meckert er wegen invalid function or declaration




    Jeffry

  • Du hattest da Klammerfehler drin, außerdem haben die if's und else's in einem switch nichts zu suchen. ;)
    stock GetPlayerRangName(playerid)
    {
    new rName[32]="Stellv. Projektleiter";
    switch(sInfo[playerid][fraktion])
    {
    case 1:
    {
    switch(sInfo[playerid][rang])
    {
    case 0: rName="Praktikant des LSPD";
    case 1: rName="Azubi des LSPD";
    case 2: rName="Polizist I";
    case 3: rName="Polizist II";
    case 4: rName="Polizist III";
    case 5: rName="Co Leader des LSPD";
    case 6: rName="Leader des LSPD";
    }
    }
    case 2:
    {
    switch(sInfo[playerid][rang])
    {
    case 0: rName="Praktikant des SFPD";
    case 1: rName="Azubi des SFPD";
    case 2: rName="Polizist I";
    case 3: rName="Polizist II";
    case 4: rName="Polizist III";
    case 5: rName="Co Leader des SFPD";
    case 6: rName="Leader des SFPD";
    }
    }
    case 3:
    {
    switch(sInfo[playerid][rang])
    {
    case 0: rName=".";
    case 1: rName=".";
    case 2: rName=".";
    case 3: rName=".";
    case 4: rName=".";
    case 5: rName=".";
    case 6: rName=".";
    }
    }
    default: rName="ERROR";

    }
    return rName;
    }