Stats hört mittendrin auf | Respektpunkte failen

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 liebe Brotfische.


    Ich habe 2 Probleme:

    • Mein Dialog von dem "/stats"-Befehl ist nicht vollständig, obwohl er das laut Script sein müsste. Also was ich sagen will ist, dass er länger sein müsste, aber hinter Respektpunkte aufhört!
    • Ich habe die Respektpunkte so wie ich es möchte definiert, jedoch wird mir immer "0 / 52" angezeigt, obwohl ich die '52' sogar nirgends definiert habe!?

    PWN-Codes:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    //Allgemeine Befehle
    if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    new string [128];
    new ftext[20];
    new level = sInfo[playerid][Fraktion];
    //------------------Fraktionendefinierung------------------//
    //---Staats-Fraktionen---
    if(level == 0) { ftext= "Zivilist"; }
    else if(level == 1) { ftext= "LSPD"; }
    else if(level == 2) { ftext= "SFPD"; }
    else if(level == 3) { ftext= "LVPD"; }
    else if(level == 4) { ftext= "FBI"; }
    else if(level == 5) { ftext= "S.W.A.T."; }
    else if(level == 6) { ftext= "Army"; }
    else if(level == 7) { ftext= "Ambulanz"; }
    else if(level == 8) { ftext= "O-Amt"; }
    else if(level == 9) { ftext= "Taxi"; }
    else if(level == 10) { ftext= "CNN"; }
    //---Gangs/Mafien---
    else if(level == 11) { ftext= "Groove Street"; }
    else if(level == 12) { ftext= "Ballas"; }
    else if(level == 13) { ftext= "Triaden"; }
    else if(level == 14) { ftext= "La Cosa Nostra"; }
    else if(level == 15) { ftext= "Yakuza"; }
    else if(level == 16) { ftext= "Hitman"; }
    else if(level == 17) { ftext= "Terroristen"; }
    new punkte[20];
    new level2 = sInfo[playerid][Level];
    if(level2 == 0) { punkte= "4"; }
    else if(level2 == 1) { punkte= "8"; }
    else if(level2 == 2) { punkte = "12"; }
    else if(level2 == 3) { punkte= "16"; }
    else if(level2 == 4) { punkte= "20"; }
    else if(level2 == 5) { punkte= "24"; }
    else if(level2 == 6) { punkte= "28"; }
    else if(level2 == 7) { punkte= "32"; }
    else if(level2 == 8) { punkte= "36"; }
    else if(level2 == 9) { punkte= "40"; }
    else if(level2 == 10) { punkte= "44"; }
    format(string,sizeof(string),"{D9DDD9}Name: {FFA300}%s\n{D9DDD9}Fraktion: {FFA300}%s\n\n{D9DDD9}Level: {FFA300}%d\n{D9DDD9}Respektpunkte: {FFA300}%d / %d \n{D9DDD9}Geld auf der Hand: {FFA300}%d $\n{D9DDD9}Bank: {FFA300}%d\n{D9DDD9}Zeit seit Payday: {FFA300}%i Minuten",SpielerName(playerid),ftext,sInfo[playerid][Level],sInfo[playerid][Respektpunkte], punkte,GetPlayerMoney(playerid),sInfo[playerid][Bank],sInfo[playerid][Paytime]);
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Deine Statistik",string,"Schließen","");
    return 1;
    }
    [...]


    Ich hoffe ihr könnt mir helfen...


    Danke im Vorraus! :thumbup:



    Mit freundlichen Grüßen,
    Bosei.

  • format(string,sizeof(string),"{D9DDD9}Name: {FFA300}%s\n{D9DDD9}Fraktion: {FFA300}%s\n\n{D9DDD9}Level: {FFA300}%d\n{D9DDD9}Respektpunkte: {FFA300}%d von %d \n{D9DDD9}Geld auf der Hand: {FFA300}%d $\n{D9DDD9}Bank: {FFA300}%d\n{D9DDD9}Zeit seit Payday: {FFA300}%i Minuten",SpielerName(playerid),ftext,sInfo[playerid][Level],sInfo[playerid][Respektpunkte], punkte,GetPlayerMoney(playerid),sInfo[playerid][Bank],sInfo[playerid][Paytime]);


    Versuch's mal so.

  • format(string,sizeof(string),"{D9DDD9}Name: {FFA300}%s\n{D9DDD9}Fraktion: {FFA300}%s\n\n{D9DDD9}Level: {FFA300}%d\n{D9DDD9}Respektpunkte: {FFA300}%d von %d \n{D9DDD9}Geld auf der Hand: {FFA300}%d $\n{D9DDD9}Bank: {FFA300}%d\n{D9DDD9}Zeit seit Payday: {FFA300}%i Minuten",SpielerName(playerid),ftext,sInfo[playerid][Level],sInfo[playerid][Respektpunkte], punkte,GetPlayerMoney(playerid),sInfo[playerid][Bank],sInfo[playerid][Paytime]);


    Versuch's mal so.


    Da steht jetzt 2 von 52. Ob das mit der ersten Zahl vorher auch nicht ging, weiß ich nicht. Auf jeden Fall ist die 52 noch da!

  • Damit sollte es gehen:

    new punkte;
    new level2 = sInfo[playerid][Level];
    if(level2 == 0) { punkte= 4; }
    else if(level2 == 1) { punkte= 8; }
    else if(level2 == 2) { punkte = 12; }
    else if(level2 == 3) { punkte= 16; }
    else if(level2 == 4) { punkte= 20; }
    else if(level2 == 5) { punkte= 24; }
    else if(level2 == 6) { punkte= 28; }
    else if(level2 == 7) { punkte= 32; }
    else if(level2 == 8) { punkte= 36; }
    else if(level2 == 9) { punkte= 40; }
    else if(level2 == 10) { punkte= 44; }
    format(string,sizeof(string),"{D9DDD9}Name: {FFA300}%s\n{D9DDD9}Fraktion: {FFA300}%s\n\n{D9DDD9}Level: {FFA300}%d\n{D9DDD9}Respektpunkte: {FFA300}%d / %d \n{D9DDD9}Geld auf der Hand: {FFA300}%d $\n{D9DDD9}Bank: {FFA300}%d\n{D9DDD9}Zeit seit Payday: {FFA300}%i Minuten",SpielerName(playerid),ftext,sInfo[playerid][Level],sInfo[playerid][Respektpunkte], punkte,GetPlayerMoney(playerid),sInfo[playerid][Bank],sInfo[playerid][Paytime]);
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Deine Statistik",string,"Schließen","");


    Du hast die Punkte in einem String gespeichert und als Integer ausgeben lassen, deshalb hat es gebuggt.
    @Bosei: