Fehler beim Registrieren

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
  • MySQL Debug:


    SQL
    14:43:01] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM BCL_accounts WHERE Name = 'IntelCore'", callback: "UserCheck", format: "i"[14:43:01] [DEBUG] CMySQLQuery::Execute[UserCheck] - starting query execution[14:43:01] [DEBUG] CMySQLQuery::Execute[UserCheck] - query was successfully executed within 0.920 milliseconds[14:43:01] [DEBUG] CMySQLResult::CMySQLResult() - constructor called[14:43:01] [DEBUG] Calling callback "UserCheck"..[14:43:01] [DEBUG] cache_get_data - connection: 1[14:43:01] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called[14:43:04] [DEBUG] mysql_escape_string - source: "IntelCore", connection: 1, max_len: 64[14:43:04] [DEBUG] mysql_escape_string - source: "123456", connection: 1, max_len: 128[14:43:04] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO BCL_accounts (Name, Passwort, IP) VALUES ('IntelCore", callback: "(null)", format: "(null)"[14:43:04] [DEBUG] CMySQLQuery::Execute[] - starting query execution[14:43:04] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `BCL_banrange` WHERE `Name` = 'IntelCore' AND `Ges", callback: "MySQL_Banrange", format: "i"[14:43:04] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 97.422 milliseconds[14:43:04] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving[14:43:04] [DEBUG] CMySQLQuery::Execute[MySQL_Banrange] - starting query execution[14:43:04] [DEBUG] CMySQLQuery::Execute[MySQL_Banrange] - query was successfully executed within 1.121 milliseconds[14:43:04] [DEBUG] CMySQLResult::CMySQLResult() - constructor called[14:43:04] [DEBUG] Calling callback "MySQL_Banrange"..[14:43:04] [DEBUG] cache_get_data - connection: 1[14:43:04] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called[14:43:06] [DEBUG] mysql_tquery - connection: 1, query: "", callback: "(null)", format: "(null)"[14:43:06] [DEBUG] CMySQLQuery::Execute[] - starting query execution[14:43:06] [ERROR] CMySQLQuery::Execute[] - (error #1065) Query was empty[14:43:06] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError[14:43:06] [DEBUG] Calling callback "OnQueryError"..


    Code:


    Spoiler anzeigen
    case Dialog_Register:
    {
    if(!response){return Kick(playerid);}
    if(strlen(inputtext) < 6 || strlen(inputtext) > 12)
    {
    ShowPlayerDialog(playerid, Dialog_Register, DIALOG_STYLE_INPUT, ""SERVER_NAME" - Register", "{FFFFFF}Willkommen auf "SERVER_NAME"\n\nEs wurde kein Account unter diesem Namen gefunden, gib dein Passwort niemals weiter.\nAuch nicht an Supporter, Du kannst dich nun Registrieren.\nBitte gib nun dein Passwort ein:", "Register", "Abbrechen");
    SendClientMessage(playerid, Grau, "Dein Passwort ist zu kurz oder zu lang (mind 6 zeichen & max 12 Zeichen!");
    return 1;
    }
    format(key, 128, "%s", inputtext);
    mysql_escape_string(SpielerName(playerid), SpielerName(playerid)), mysql_escape_string(key, key);
    format(query, sizeof(query), "INSERT INTO "SERVER_TAG"_accounts (Name, Passwort, IP) VALUES ('%s',MD5('%s'),'%s')",SpielerName(playerid),key,SpielerIP(playerid));
    mysql_tquery(Handle, query);
    sInfo[playerid][pEingeloggt] = 1;
    format(query, sizeof(query), "UPDATE "SERVER_TAG"_accounts SET Eingeloggt = '%i' WHERE Name = '%s'",sInfo[playerid][pEingeloggt],SpielerName(playerid));
    SetPlayerColor(playerid, Weiss); SpawnPlayer(playerid);
    }



    Wenn ich mich auch registriere SPawn ich leider nicht ?
    Beim Login geht alles.


    Jeffry:

  • Das muss so aussehen:
    case Dialog_Register:
    {
    if(!response)
    {
    return Kick(playerid);
    }
    if(strlen(inputtext) < 6 || strlen(inputtext) > 12)
    {
    ShowPlayerDialog(playerid, Dialog_Register, DIALOG_STYLE_INPUT, ""SERVER_NAME" - Register", "{FFFFFF}Willkommen auf "SERVER_NAME"\n\nEs wurde kein Account unter diesem Namen gefunden, gib dein Passwort niemals weiter.\nAuch nicht an Supporter, Du kannst dich nun Registrieren.\nBitte gib nun dein Passwort ein:", "Register", "Abbrechen");
    SendClientMessage(playerid, Grau, "Dein Passwort ist zu kurz oder zu lang (mind 6 zeichen & max 12 Zeichen!");
    return 1;
    }
    mysql_format(Handle, query, sizeof(query), "INSERT INTO "SERVER_TAG"_accounts (Name, Passwort, IP) VALUES ('%e',MD5('%e'),'%e')",SpielerName(playerid),inputtext,SpielerIP(playerid));
    mysql_tquery(Handle, query);
    sInfo[playerid][pEingeloggt] = 1;
    mysql_format(Handle, query, sizeof(query), "UPDATE "SERVER_TAG"_accounts SET Eingeloggt = '%i' WHERE Name = '%e'",sInfo[playerid][pEingeloggt],SpielerName(playerid));
    mysql_tquery(Handle, query);
    SetPlayerColor(playerid, Weiss); SpawnPlayer(playerid);
    }


    Der Error liegt aber weiter unten, dort wo du den Banrange ausliest.

  • Danke geht nun.



    Habe noch eine Frage Jeffry:


    Und zwar wenn mein Lottosystem eine Nachricht schickt kommt es bei mir nur 1x wenn ich alleine online bin, wenn jetzt 3 Spieler Online sind kommt diese Nachricht 3x ?
    Wo liegt der Fehler...


    Code:


    Spoiler anzeigen
    public LzahlTimer(playerid)
    {
    new string[128],stringz[128],winners,LottoZahl = random(49)+1;
    if(Spieler[playerid][pLoggedIn] == 0)return 1;
    {
    format(string,sizeof(string),"Heute ist die Gewinnernummer, {FF4000}%d"#COLOR_HEX_GREEN".",LottoZahl);
    SendClientMessageToAll(COLOR_GREEN,string);
    if(Spieler[playerid][pLottonummer] == LottoZahl)
    {
    format(string,sizeof(string),"%s hat die richtige Zahl {FF4000}%d"#COLOR_HEX_GREEN" und {FF4000}%s$"#COLOR_HEX_GREEN" erhalten.",GetName(playerid),LottoZahl,NiceMoney(Others[Lottojackpot]));
    SendClientMessageToAll(COLOR_GREEN,string);
    format(stringz,sizeof(stringz),"Lotterie: Herzlichen Glückwunsch du hast soebend den Jackpot (%s$) gewonnen.",NiceMoney(Others[Lottojackpot]));
    SendClientMessage(playerid,COLOR_LIGHTRED,stringz);
    SendClientMessage(playerid,COLOR_LIGHTRED,"Lotterie: Der Gewinn wurde bereits auf dein Konto überwiesen.");
    Spieler[playerid][pBank] += Others[Lottojackpot];
    Spieler[playerid][pLottonummer] = 0;
    Others[Lottojackpot] = 50000;
    SaveOthers(); SavePlayer(playerid);
    winners++;
    }
    if(winners == 0)
    {
    SendClientMessageToAll(COLOR_GREEN, "Niemand hat die richtige Zahl getippt.");
    format(string,sizeof(string),"Der Jackpot steigt weiter auf, {FF4000}%s$"#COLOR_HEX_GREEN".",NiceMoney(Others[Lottojackpot]));
    SendClientMessageToAll(COLOR_GREEN,string);
    Spieler[playerid][pLottonummer] = 0;
    }
    }
    return 1;
    }

  • Ändere
    format(string,sizeof(string),"Heute ist die Gewinnernummer, {FF4000}%d"#COLOR_HEX_GREEN".",LottoZahl);
    SendClientMessageToAll(COLOR_GREEN,string);
    zu
    format(string,sizeof(string),"Heute ist die Gewinnernummer, {FF4000}%d"#COLOR_HEX_GREEN".",LottoZahl);
    SendClientMessage(playerid, COLOR_GREEN, string);