Rang system fehler

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
  • Brauche Hilfe bei dem Rang system


    hab das Rangsystem jetzt mal nur für die army


    Die Ränge sollen so aussehen
    #define arang1 "Rekrut"
    #define arang2 "Kanonier"
    #define arang3 "BT-1 | Gefreiter"
    #define arang4 "BT-2 | Obergefreiter"
    #define arang5 "BT-3 | Hauptgefreiter"
    #define arang6 "BT-4 | Oberhauptgefreiter"
    #define arang7 "ST-1 | Scharfschützenanfänger"
    #define arang8 "ST-2 | Scharfschütze"
    #define arang9 "ST-3 | Hauptschütze"
    #define arang10 "ST-4 | Oberschütze"
    #define arang11 "LW-1 | Feldwebel"
    #define arang12 "LW-2 | Oberfeldwebel"
    #define arang13 "LW-3 | Hauptfeldwebel"
    #define arang14 "LW-4 | OberHauptwebel"
    #define arang15 "Leutnant"
    #define arang16 "Oberleutnant*"
    #define arang17 "BT-Oberst**"
    #define arang18 "LW-Oberst***"
    #define arang19 "Generalleutnant****"
    #define arang20 "General*****"


    der /r chat


    /* ocmd:r(playerid, params[])
    {
    new text[128];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,COLOR_ROT,"BENUTZUNG: /r [TEXT]");
    format(text,sizeof(text),"%s %s: %s",GetRankName(playerid), SpielerName(playerid),text);//
    SendClientMessage(playerid, COLOR_BLAU, text);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
    {
    SendClientMessage(i,COLOR_BLAU,text);
    }
    }
    }
    return 1;
    }*/ Derzeit in Klammern da ein Fehler drin ist
    der /stats befehl
    if(strcmp(cmdtext,"/stats",true)==0)
    {
    new string[128];
    new fraktname[64];
    new Rang[64];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname="Keine";}
    case 1:{fraktname=fraktname1;}
    case 2:{fraktname=fraktname2;}
    case 3:{fraktname=fraktname3;}
    }
    switch(GetPVarInt(playerid,"Rang"))
    {
    case 0:{Rang="keiner";}
    case 1:{Rang=arang1;}
    case 2:{Rang=arang2;}
    case 3:{Rang=arang3;}
    case 4:{Rang=arang4;}
    case 5:{Rang=arang5;}
    case 6:{Rang=arang6;}
    case 7:{Rang=arang7;}
    case 8:{Rang=arang8;}
    case 9:{Rang=arang9;}
    case 10:{Rang=arang10;}
    case 11:{Rang=arang11;}
    case 12:{Rang=arang12;}
    case 13:{Rang=arang13;}
    case 14:{Rang=arang14;}
    case 15:{Rang=arang15;}
    case 16:{Rang=arang16;}
    case 17:{Rang=arang17;}
    case 18:{Rang=arang18;}
    case 19:{Rang=arang19;}
    case 20:{Rang=arang20;}

    }
    format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s] [Rang: %i]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname,Rang);
    SendClientMessage(playerid,COLOR_BLAU,string);
    return 1;
    }


    und die Stocks
    stock IsPlayerRank(playerid,Rank)
    {
    if(GetPVarInt(playerid,"Rang") == Rang)return 1;//Hier würde ich >= machen, damit alle anderen Einheiten, die ein Höheren Rang haben, auch die Nachricht bekommen.
    return 0;
    }
    stock GetRankName(playerid)
    {
    new faction = GetPVarInt(playerid,"Fraktion");
    new rank = GetPVarInt(playerid,"Rang");


    new tmpstr[32];


    switch ( faction )
    {
    case "Fraktion"
    {
    switch ( rank )
    {
    return rankNameArray[rank-1];
    }
    }
    }
    }


    aber da ist ein Fehler drin bei den Rängen mit dem #define das wird bei den stats oder so nicht gerechnet aufjedenfall ist ein Fehler bei den Stats wegen den Rängen
    undich weiß nicht warum