/stats verursacht Errors

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 Community hier bin ich wiedermal mit einem Problem :/


    habe Angefangen mein eigenes Stats system zu Bauen damit die Spieler überhaupt sehen können was sie haben und bekomme 6 Errors


    Schonmal Danke im Vorraus



    Zeilen 3722-3730
    if(strcmp("/stats",cmdtext,true,6) == 0)
    {
    new statstring[500], stringnamee[20], pnamee[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pnamee, sizeof(pnamee));
    format(stringnamee, sizeof(stringnamee), "Stats von: %s", pnamee);
    format(statstring,sizeof(statstring),"Spielzeit: %d, Payday: %d\nGeld: %d, Bank: %d\nFraktion: %d, Leader: %d\nMember: %d, Job: %d\nHandyNr.: %d, HandyGuthaben: %d$\nLevel: %d, Admin: %d\nWeiteres Folgt...",pInfo[playerid][spielzeitinsgesamt],pInfo[playerid][paydayzeit],GetPlayerMoney(playerid),pInfo[playerid][Bank],pInfo[playerid][Fraktion],pInfo[playerid][Leader],pInfo[playerid][Member],pInfo[playerid][Job],pInfo[playerid][Handy],pInfo[playerid][HandyGuthaben], GetPlayerScore(playerid), pInfo[playerid][AdminLevel]);
    ShowPlayerDialog(playerid, 19621, DIALOG_STYLE_MSGBOX, stringname, statstring, "Ok", "");
    return 1;
    }

  • Die Zeile ist zu lang, deshalb wandelt das Script die Zeile 6 (in deinen geposteten Code) in mehrere Zeilen um !


    Mache es am besten einfach so:


    new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    new string[500];
    format(string, sizeof string, "Statistiken von %s\n",name); // Anfang
    format(string, sizeof string, "%sLevel: %i Skin ID: %i ...\n",string,GetPlayerScore(playerid),GetPlayerSkin(playerid));
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Statistiken",string,"O.K","");


    So sollte das klappen :)


    Musst natürlich deinen kram noch einfügen!

    Meine Werke

    4 Mal editiert, zuletzt von Dom_i () aus folgendem Grund: lösung pawn code

  • und wie kürze ich das Ganze bzw teile es in mehrere zeilen auf ohne das es leich kauputt geht?
    oder reicht einfach (Beispiel)


    ...pInfo[playerid][paydayzeit],GetPlayerMoney(playerid)...
    zu
    ...pInfo[playerid][paydayzeit],
    GetPlayerMoney(playerid),...


    zu ändern?



    EDIT:


    wenn ich da meine Sachen rein packe wird die Zeile doch trotzdem wieder so lang oO

  • Das mit dem Zeilenumbruch kannst du nur bei den Parametern hinten machen, das würde hier wahrscheinlich sogar noch gehen. Dein string (das rote) darf halt nicht länger als die maximal erlaubt Zeilen Länge sein.


    format(statstring,sizeof(statstring),"Spielzeit: %d, Payday: %d\nGeld: %d, Bank: %d\nFraktion: %d, Leader: %d\nMember: %d, Job: %d\nHandyNr.: %d, HandyGuthaben: %d$\nLevel: %d, Admin: %d\nWeiteres Folgt...",
    pInfo[playerid][spielzeitinsgesamt],pInfo[playerid][paydayzeit],GetPlayerMoney(playerid),pInfo[playerid][Bank],pInfo[playerid][Fraktion],
    pInfo[playerid][Leader],pInfo[playerid][Member],pInfo[playerid][Job],pInfo[playerid][Handy],pInfo[playerid][HandyGuthaben], GetPlayerScore(playerid), pInfo[playerid][AdminLevel]);


    Ansonsten, und das ist die bessere Variante hinsichtlich Übersicht:
    format(statstring,sizeof(statstring),"Spielzeit: %d, Payday: %d\nGeld: %d, Bank: %d\nFraktion: %d, ",pInfo[playerid][spielzeitinsgesamt],pInfo[playerid][paydayzeit],GetPlayerMoney(playerid),pInfo[playerid][Bank],pInfo[playerid][Fraktion]);
    format(statstring,sizeof(statstring),"%sLeader: %d\nMember: %d, Job: %d\nHandyNr.: %d, HandyGuthaben: %d$",statstring, pInfo[playerid][Leader],pInfo[playerid][Member],pInfo[playerid][Job],pInfo[playerid][Handy],pInfo[playerid][HandyGuthaben]);
    format(statstring,sizeof(statstring),"%s\nLevel: %d, Admin: %d\nWeiteres Folgt...",statstring, GetPlayerScore(playerid), pInfo[playerid][AdminLevel]);


    Klar wird die Zeile auch wieder lang, aber wahrscheinlich nicht zu lang. Außerdem kannst du das so ja auch auf 20 Zeilen aufteilen, das geht auch.