[Problem] Handynummer mit Vorwahl

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
  • new nummer[128];
    format(nummer, sizeof(nummer), "0160%d%d%d%d%d%d%d", random(9), random(9), random(9), random(9), random(9), random(9), random(9));
    SpielerInfo[playerid][Handynummer] = strval(nummer);


    So sieht es bei mir im Script aus, allerdings verschwindet InGame immer die 0, also z.B. sieht das dann so aus: 1605275135.
    Meine Frage lautet nun, wie kann ich nun eine 0 davor hängen? :)


    MfG

  • Da war wohl jemand schneller als ich.


    Ja eindeutig, weil du versuchst diesen String in einen Integer zu machen. Jedoch bei einem Integer niemals eine 0 ganz vorne stehen kann, weil die ja vorne nichts bringt und somit weggelassen wird.


    Deswegen lass es einfach als String und speicher es so ein.

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


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

  • Funktionierts jetzt oder nicht?


    Nein muss nicht stehen. Denn %s bedeutet ja du möchtest den nächsten String übernehmen. Aber random(9) liefert ja keinen String sondern einen Zahlen-Wert. Somit %d oder eigentlich reicht auch %i.

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


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

  • Dann funktioniert es nicht!


    Vergeben der Nummer:


    new nummer[128]
    format(nummer,sizeof(nummer),"0160%d%d%d%d%d%d%d", random(9), random(9), random(9), random(9), random(9), random(9), random(9));
    SpielerInfo[playerid][Handynummer] = nummer;


    Aus Datenbank laden:


    mysql_fetch_field("user_com_handynummer",data);
    SpielerInfo[playerid][Handynummer]=strval(data);


    Gespeichert wird sie so:


    format(field,sizeof(field),"user_com_handynummer");
    format(updatestring,128,"%d",SpielerInfo[playerid][Handynummer]);
    format(query,sizeof(query),"UPDATE data_user SET %s='%s' WHERE %s",field,updatestring,bedien);


    Zum testen hab ich das hier erstellt:


    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    new string[128];
    format(string,sizeof(string),"Telefonnummer: %d",SpielerInfo[clickedplayerid][Handynummer]);
    SendClientMessage(playerid, COLOR_RED,string);
    return 1;
    }


    Im Enum sieht es so aus:


    Handynummer[128],

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Aber Austrianer schrieb dies:

    Zitat


    Nein muss nicht stehen. Denn %s bedeutet ja du möchtest den nächsten String übernehmen. Aber random(9) liefert ja keinen String sondern einen Zahlen-Wert. Somit %d oder eigentlich reicht auch %i.

    MfG

  • format(SpielerInfo[playerid][Handynummer],sizeof SpielerInfo[playerid][Handynummer],"%s",data); //<---- 

    Zitat

    Wenn ich das so mache, dann spuckt er mir Errors aus.

    error 001: expected token: "]", but found "-identifier-"
    warning 215: expression has no effect error 001: expected token: ";", but found "]"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line