Geld mit Punktenß?

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
  • Den Wert mit der "Split" Funktion splitten.
    An dein Vorhaben halt anpassen.

    Spoiler anzeigen
    stock split(const strsrc[], strdest[][], delimiter)
    {
    new i, li;
    new aNum;
    new len;
    while(i <= strlen(strsrc))
    {
    if(strsrc[i] == delimiter || i == strlen(strsrc))
    {
    len = strmid(strdest[aNum], strsrc, li, i, 128);
    strdest[aNum][len] = 0;
    li = i+1;
    aNum++;
    }
    i++;
    }
    return 1;
    }

    KleineHilfe 2.0


  • wie genau wende ich das an?

  • Er will es genau anders herum haben ;)


    Wenn du eine eigene Lösung haben willst...
    - nimm die Zahl als String
    - Gehe von hinten nach vorne durch
    - Hänge die aktuelle Zahl an einen anderen String vorne an
    - Wenn sich die Stelle der Zahl glatt durch 3 teilen lässt und nicht 0 ist, hänge an den String einen Punkt vorne an


    Fertig :)

  • stock NiceMoney(money) //©Jeffry
    {
    new bmess[15];
    format(bmess, 15, "%d", money);
    if(money > 0)
    {
    for(new l=strlen(bmess)-3; l>0; l-=3)
    {
    if(l>0)
    {
    strins(bmess, ".", l);
    }
    }
    }
    else
    {
    for(new z=strlen(bmess)-3; z>1; z-=3)
    {
    if(z>1)
    {
    strins(bmess, ".", z);
    }
    }
    }
    return bmess;
    }
    Gibt einen String zurück. Funktioniert einwandfrei.


    Einfach dein
    GetPlayerMoney(playerid)


    mit
    NiceMoney(GetPlayerMoney(playerid))


    ersetzen.