Fraktion fail

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
  • if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    new string[128];
    new ftext[20];
    new level = sSpieler[playerid][Fraktion];
    if(level == 0) { ftext= "Zivilist"; }
    if(level == 1) { ftext= "LSPD"; }
    if(level == 2) { ftext= "Army"; }
    if(level == 3) { ftext= "Triaden"; }
    if(level == 4) { ftext= "Grove Street"; }
    if(level == 5) { ftext= "Terroristen"; }
    else if(level == 1) { ftext= "LSPD"; }
    else if(level == 2) { ftext= "Army"; }
    else if(level == 3) { ftext= "Triaden"; }
    else if(level == 4) { ftext= "Grove Street"; }
    else if(level == 5) { ftext= "Terroristen"; }
    format(string,sizeof(string),"Name: %s\nDein Level: %i\nDein Adminlevel: %i\nFraktion: %s\nDein Geld: %i",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),ftext,GetPlayerMoney(playerid));
    ShowPlayerDialog(playerid,STATS,DIALOG_STYLE_MSGBOX,"{FF1400}Deine Stats",string,"Ok","");
    return 1;
    }
    Ingame zeigt der egal welche leaderposten ich vergebe immer "Zivilist" an. :o
    Warum?


    Beiträge:
    150 {X}
    300 {X}
    450 {X}
    600 { }

  • Omg was ist das denn für ein abfrage gemurksel?


    if(level == 0) { ftext= "Zivilist"; }
    else if(level == 1) { ftext= "LSPD"; }
    else if(level == 2) { ftext= "Army"; }
    else if(level == 3) { ftext= "Triaden"; }
    else if(level == 4) { ftext= "Grove Street"; }
    else if(level == 5) { ftext= "Terroristen"; }


    So gehört es erstmal.
    Außerdem würde ich das mit einer switch-case Verbindung machen, da du dir daruch eine Variable sparst ;)


    Lass dir mal deine level-Variable ausgeben
    mit


    printf("%i", level);


    Danach schau auf deine Serverkonsole und überprüfe welcher Wert diese Variable besitzt.

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


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

  • Mach doch einfach einen switch!



    new fraktname[64];
    switch(sSpieler[playerid][Fraktion])
    {
    case 0:{fraktname="/";}
    case 1:{fraktname="LSPD";}
    case 2:{fraktname="Army";}
    case 3:{fraktname="Triaden";}
    case 4:{fraktname="Grove Street";}
    case 5:{fraktname="Terroristen";}
    }

  • if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    new string[128];
    new fraktname[64];
    switch(sSpieler[playerid][Fraktion])
    {
    case 0:{fraktname="Zivilist";}
    case 1:{fraktname="LSPD";}
    case 2:{fraktname="Army";}
    case 3:{fraktname="Triaden";}
    case 4:{fraktname="Grove Street";}
    case 5:{fraktname="Terroristen";}
    }
    format(string,sizeof(string),"Name: %s\nDein Level: %i\nDein Adminlevel: %i\nFraktion: %s\nDein Geld: %i",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname,GetPlayerMoney(playerid));
    ShowPlayerDialog(playerid,STATS,DIALOG_STYLE_MSGBOX,"{FF1400}Deine Stats",string,"Ok","");
    return 1;
    }


    Bleibt immer noch Zivi, egal welchen Leader posten ich vergebe.


    Beiträge:
    150 {X}
    300 {X}
    450 {X}
    600 { }