Handynummer zuweisen

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, ich bin grad dabei ein handy sys zu machen, nur ich hab ein problem!
    Wenn ich mir die simkarte kaufe und der server/script mir die nummer zuweiß schreibt er 1, aber ich habe die nummer 0 bekommen


    bitte um hilfe


    ich hab das in dialog gemacht


    new HatHandy[MAX_PLAYERS];
    new HatSimkarte[MAX_PLAYERS];
    new handynummer[MAX_PLAYERS];
    new hn;


    if(dialogid == Handy_Shop_Simkarte)
    {
    if(response)
    {
    if(listitem == 0)
    {
    if(HatHandy[playerid] == 1)
    {
    if(HatSimkarte[playerid] == 0)
    {
    new string[512];
    new name[128];
    new save[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Acc/%s.ini",name);
    handynummer[playerid]=hn;
    hn++;
    HatSimkarte[playerid] = 1;
    format(string, sizeof(string), "Du hast erfolgreich eine Simkarte gekauft! Deine Handynummer: %i", hn);
    SendClientMessage(playerid, COLOR_WHITE, string);
    dini_IntSet(save, "Handynummer", handynummer[playerid]);
    }
    else{SendClientMessage(playerid, COLOR_WHITE, "Du hast schon einen Simkarte!");}
    }
    else{SendClientMessage(playerid, COLOR_WHITE, "Du hast kein Handy!");}
    }
    if(listitem == 1)
    {
    if(HatHandy[playerid] == 1)
    {
    if(HatSimkarte[playerid] == 0)
    {
    new string[512];
    new name[128];
    new save[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Acc/%s.ini",name);
    handynummer[playerid]=hn;
    hn++;
    HatSimkarte[playerid] = 1;
    format(string, sizeof(string), "Du hast erfolgreich eine Simkarte gekauft! Deine Handynummer: %i", hn);
    SendClientMessage(playerid, COLOR_WHITE, string);
    dini_IntSet(save, "Handynummer", handynummer[playerid]);
    }
    else{SendClientMessage(playerid, COLOR_WHITE, "Du hast schon einen Simkarte!");}
    }
    else{SendClientMessage(playerid, COLOR_WHITE, "Du hast kein Handy!");}
    }
    }
    }


    Bitte wenn einer was weiß bann hilfe

    Einmal editiert, zuletzt von [XF12]deathrunner ()

  • Zitat

    HatSimkarte[playerid] = 1;
    format(string, sizeof(string), "Du hast erfolgreich eine Simkarte gekauft! Deine Handynummer: %i", hn);
    SendClientMessage(playerid, COLOR_WHITE, string);
    dini_IntSet(save, "Handynummer", handynummer[playerid]);


    Ich hab mal nen skin nach random auswählen lassen alles ging doch dan hab ich versucht es sofort zu saven und hab wie du direkt drunter geschrieben dini_IntSet(...); als ich es dan getestet hab hat er nichtmal nen skin bekommen ... vllt hilft es dir ... lass es mal nicht in die ini speichern und las sie dir ausgeben..

  • Ne geht nicht!


    Es ist so sowie ich eine Simkarte kafe steht da du hast er......! Deine handynummer: 1!


    aber er weißt mir die handynummer 0 zu!


    aber ich will wenn man eine simkarte kauft das es mit 100 anfägt bitte um hilfe

  • Hast du da vielleicht eine falsche Reihenfolge ? ;)
    handynummer[playerid]=hn; // Nummer wird zugewiesen
    hn++; // Zahl wird erhöht
    format(string, sizeof(string), "Du hast erfolgreich eine Simkarte gekauft! Deine Handynummer: %i", hn); // Die um 1 erhöhte Zahl reinbringen


    Gruß Hauke

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • erst erhöhen, dann zu weisen

    hn++; // Zahl wird erhöht
    handynummer[playerid]=hn; // Nummer wird zugewiesen
    format(string, sizeof(string), "Du hast erfolgreich eine Simkarte gekauft! Deine Handynummer: %i", hn); // Die um 1 erhöhte Zahl reinbringen


    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • so gehts auch nicht


    ich habs jetzt so geamcht es steht die richtige nummer


    handynummer[playerid]=hn;
    format(string, sizeof(string), "Du hast erfolgreich eine Simkarte gekauft! Deine Handynummer: %i", hn);
    SendClientMessage(playerid, COLOR_WHITE, string);
    hn++;


    nur noch ne frage wenn jetzt noch einer eine handynummer kauft das er die nächste bekommt, also ach wenn er nicht on ist, damit meine ich


    ich kauf handynummer dann grh ich off und der nächste bekommt die zahl darauf

  • Es wäre besser, wenn du hn++ nach ganz oben machst.
    Dann gibt es keine 0 .
    Wenn du new hn; ganz oben im Script hast, und bei jedem Ausführen einmal weitergezählt wird, ist es schon richtig.
    Aber was machst du, wenn der Server mal restartet wird?
    Du könntest ja überprüfen, ob es die Zahl schon gibt. Dafür wäre eine Schleife sinnvoll.

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • 1.
    wie meinst das mit hn++ ganz nach oben soll ich ein new machen oder was?


    2.

    Zitat

    Aber was machst du, wenn der Server mal restartet wird?
    Du könntest ja überprüfen, ob es die Zahl schon gibt. Dafür wäre eine Schleife sinnvoll.


    wie mach ich das


  • Einfach nur ein Stück höher.
    Als Überprüfung
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(handynummer[i] != hn)
    {
    handynummer[playerid]=hn;
    }
    }
    Das hätte nur leider den Nachteil, dass es nur mit Spielern geht, die online sind.
    Daran hatte ich garnicht gedacht.
    Dann solltest du das lieber speichern, oder eine Nummer per Zufall generieren.

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • aber ich will das wissen wenn ich die nummer 0 habe und off bin und der nächste steigt ein das der dan 1 bekommt

  • aber ich will das wissen


    Was willst du denn überhaupt wissen? -Ich kann nur Fragen beantworten

    und der nächste steigt ein


    Wie er steigt ein?


    Tut mir leid, aber ich werde aus diesem Post nicht schlau... ?(


    Edit: Uiii.... jetzt habe ich 3 blaue Sterne :D

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

    Einmal editiert, zuletzt von |-|auke ()

  • Hauke wie kannst du nur soviel Geduld haben mit jemanden der nichts versteht!.


    Du schreibst du hättest die Hälfte deines Scriptes fertig und weißt nicht was es heißt wenn hauke schreibt h++ muss nach oben?:O

  • Soviel Gedult habe ich nun auch nicht :D
    Aber hier kommt es eher auf die Gedult von [XF12]deathrunner an.



    Mach es einfach so: hn=strval(22*random(40)*random(8888)/55);


    Die höchstmögliche Nummer wäre: 7821440
    Die niedrichste Nummer wäre: 3555
    Ich denke mal, dass das so klappen sollte.



    Edit: verdammte Smileys

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.