Paintball Punkte 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
  • Guten abend,


    Und zwar zeigt er mir nicht an wieviel Punkte der jenige Spieler in Paintball immoment hat.


    Code:


    CMD:paintball(playerid)
    {
    if(!IsLoggedIn(playerid))return 1;
    if(Spieler[playerid][pTutorial] > 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist derzeit im Tutorial, und kannst keine Befehle benutzen.");
    if(IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid, COLOR_GREEN, "Spieler in Paintball:");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(Spieler[i][pPaintball] == 1)
    {
    new string[64];
    format(string,sizeof(string),"Name: %s | Punkte: %d",GetName(i), Spieler[i][pPaintballPunkte]);
    SendClientMessage(playerid,COLOR_GREY,string);
    }
    }
    }
    }
    return 1;
    }

    Mit freundlichen Grüßen


  • Kaliber:


    Er zeigt denn Namen an aber nicht die Paintball Punkte



    // So habe es nun hinbekommen.


    Aber wie mach ich das nun wenn er z.B 1000 hat und das es nicht so angezeigt wird 1000 sondern 1.000


    new string[64];
    format(string,sizeof(string),"%s (%d Pkt)",GetName(i), Spieler[i][pPaintballPunkte]);
    SendClientMessage(playerid,COLOR_GREY,string);

    Mit freundlichen Grüßen


    Einmal editiert, zuletzt von CptSky_ ()



  • If(Spieler[i][pPaintballPunkte] >= 1000 && Spieler[i][pPaintballPunkte] <= 1999) format(string,64,"%s (1.%i Punkte)",GetName(i),Spieler[i][pPaintballPunkte]-1000);

    Und das selbe mit 2k 3k 4k usw.
    Mir fällt grade nur sowas ein :)


    / Handy

  • Kaliber hat so eine Funktion mal geschrieben die heißt sMoney. Schau mal in nützliche Codeschnipsel auf der vorletzten Seite oder so.

  • Nimm diese Funktion
    stock sMoney(geld) {
    new str[24],i;valstr(str,geld),i=(geld > 0) ? strlen(str)-3 : strlen(str)-4;
    for(; i>0; i-=3) strins(str,".",(geld > 0) ? i : i+1,24);
    return str;
    }


    //Nutzung:
    printf("%s$",sMoney(10000)); //-> Output: 10.000$
    Diese funktioniert einwandfrei.