Alterseingabe failt

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
  • if(IsNumeric(inputtext) > 0 && IsNumeric(inputtext) < 99)
    zu:
    if(strval(inputtext) > 0 && strval(inputtext) < 99)


    IsNumeric fragt ab ob nur numerische Ziffern vorhanden sind (Zahlen).
    strval gibt den Integer Wert eines strings zurück, das brauchst du hier.

  • format(query, sizeof query,"INSERT INTO accountdaten (pAlter) VALUES ('%i')", strval(inputtext));
    mysql_function_query(MySQLconnection,query, false, "","");
    format(string, sizeof string,#HTML_WEIS"Gut du bist also %i Jahre alt.\nDie Registrationsphase ist nun beendet.\nDu kannst nun spawnen und beginnen zu spielen.", strval(inputtext));


    Auch hier musst du strval benutzen, sonst geht es nicht.


  • Was wird zuerst gesichert?
    Name oder das Alter?
    Stimmt der Name denn das Alter kann mehrfach enthalten sein


    Das muss nicht sein. Wenn er eine AUTO_INCREMENT ID verwendet, ist es völlig egal was wann gespeichert wird, weil die ID den Spieler repräsentiert, und in jedem Fall eindeutig ist. Da MySQL aber nicht case-sensitive ist, wird dem namen Jeffry die gleiche Reihe wie dem Namen "jeFFrY zugewiesen, was in einem Server doch etwas doof ist, wenn ich jedes mal irgendwie anders den Server betreten kann.
    Dennoch ist INSERT INTO hier richtig, denn ein Konto kann ja erst erstellt werden, wenn die Registration abgeschlossen ist, und das ist sie genau an diesem Punkt. Wird keine eindeutige ID verwendet, sollte man den Namen hier auch noch mit einfügen.