[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Code
    [e_Birthday][11]


    Code
    format(PlayerInfo[playerid][e_Birthday], 11, inputtext);

    @Jeffry hat mir gesagt das ich es so speichern soll (Geburtsdatum) ich verstehe es aber nicht warum die 11?


    Code
    pInfo[playerid][pGeburtsdatum][11]=strval(inputtext);

    Kriege ein out of bounds error
    Im Playerenum habe ich das auch so abgespeichert  pGeburtsdatum[11],


    Muss ich auf etwas achten wenn ich die Variable anzeige in den Stats z.B
    Und wie speicher ich den Wert ,



    Code
    mysql_format(db, query, sizeof(query), "INSERT INTO user (Geburtsdatum) VALUES ('%s')",pInfo[playerid][pGeburtsdatum]); //code ist falsch aber irgendwie so ?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • hat mir gesagt das ich es so speichern soll (Geburtsdatum) ich verstehe es aber nicht warum die 11?

    Du speicherst einfach einen String.


    Die 11, weil ein Geburstag wie z.B. 00.00.0000 immer exakt 10 Zeichen lang ist + NULL Byte macht also genau 11 Zeichen :)


    Deshalb musst du das mit dem format benutzen und im bei mysql einfach %s verwenden, das war schon richtig, so wie du z.B. den Namen des Spielers speicherst ;)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Das 2 Argument bei format ist einfach nur die Länge, da ein Datum nicht mehr als 11 Zeichen haben kann, ist es auf 11 begrenzt.

    pInfo[playerid][pGeburtsdatum]=strval(inputtext);

    Das [11] kannst du weglassen, das ist einfach nur wie viele Cells der String zur Verfügung hat.


    Zum speichern:

    mysql_format(db,query,sizeof(query),"UPDATE user SET Geburtsdatum = '%s' WHERE name = '%s'",pInfo[playerid][pGeburtsdatum],GetName(playerid));
    mysql_tquery(db,query);

  • Code
    new q[256];
    				mysql_format(db,q,sizeof(q),"INSERT user SET Geburtsdatum = '%s' WHERE Useername = '%s'",pInfo[playerid][pGeburtsdatum],Spielername(playerid));
    				mysql_tquery(db,q);

    In der Console wird @ angezeigt als string, werde dannach auch nicht gespawnt. Irgendwas stimmt nicht.
    http://prntscr.com/l97c25


    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Code
    new query[256],passworteingabe[128];
    				GetPVarString(playerid,"passwortvar",passworteingabe,128);
    				mysql_format(db, query, sizeof(query), "INSERT INTO user (Username, Passwort) VALUES ('%e',MD5('%e'),'%s')",Spielername(playerid),passworteingabe,pInfo[playerid][pGeburtsdatum]);
    				mysql_pquery(db,query,"OnPlayerRegister", "i",playerid);
    				new q[256];
    				mysql_format(db,q,sizeof(q),"INSERT user SET Geburtsdatum = '%s' WHERE Username = '%s'",pInfo[playerid][pGeburtsdatum],Spielername(playerid));
    				mysql_tquery(db,q);

    Also ist das hier dumm? Kriege es nicht in einem rein, da passierte das selbe

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Du musst das Geburtsdatum auch angeben:


    mysql_format(db, query, sizeof(query), "INSERT INTO user (Username, Passwort, Geburtsdatum) VALUES ('%e',MD5('%e'),'%s')",Spielername(playerid),passworteingabe,pInfo[playerid][pGeburtsdatum]);


    Das andere Query kannste dir schenken ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • irgendwas stimmt nicht

    Hast du meinen Beitrag überhaupt gelesen?



    ...in diesem Sinne...war das als String deklariert mit der [11] vollkommen korrekt.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Upsi, übersehen.
    Ahh Effekt, verstehe das jetzt erst, habe mich gefragt warum nicht strval aber jetzt weiß ich es
    sorry, hab es übersehen. Irgendwie wurde aus einer kleinen Frage eine riesige Frage.
    Habe alles gar nicht verstanden, jetzt versteh ich es.


    In der Datenbank wird es als komische Zahl angezeigt ( 202 )
    habe im letzten Beitrag ein Screen rein geschickt ob das so richtig ist.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Jaa und ich habe dir doch gerade gesagt, wie du das machst hahaha :D

    So ich konnte das Jetzt erst Testen.
    Das ding ist er zeigt nicht es so an dass die Zahl nach dem Komma weg ist sprich er müsste es bei 0.127, 012 Anzeigen aber er zeigt 0.27

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen