Accounts Speichern nicht!

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
  • Guten Tag,
    meine Accounts werden nicht Gespeichert hier der OnPlayerConnect!


    CheckLoginlol(playerid);
    loginlol(playerid);


    CheckLoginlol :


    public CheckLoginlol(playerid){
    new rows, fields, tmp[128];
    cache_get_data(rows, fields);


    if(LogFilesJet == 1) printf("CheckLoginExecute 1");


    if(rows != 0){
    new connectHitman = 0, HitmanName[MAX_PLAYER_NAME];
    cache_get_field_content(0, "HitmanName", HitmanName, Connection, 128);
    cache_get_field_content(0, "connectHitman", tmp); connectHitman = strval(tmp);
    cache_get_field_content(0, "Username", PlayerInfo[playerid][SpielerNamek], Connection, 128);


    if(connectHitman == 1 && strlen(HitmanName) >= 3){
    SetPlayerName(playerid, HitmanName);
    }



    if(LogFilesJet == 1) printf("CheckLoginExecute 2");
    PlayerInfo[playerid][haveacc] = 1;
    ShowPlayerDialog(playerid,100,DIALOG_STYLE_PASSWORD,"Login System","Logge dich in deinen Account ein:","Absenden", "");
    SendMessage(playerid,GREY,"{CCFFFF}Dein Name ist registriert. Bitte {990000}logge {CCFFFF}dich mit deinem {990000}Passwort {CCFFFF}ein:");
    AccRegistered[playerid] = 1;
    OnTurfConnect(playerid);
    }
    else{
    if(RegisterSystem == 0){


    SetTimerEx("DelayKick", 2000, 0, "d", playerid);
    SendClientMessage(playerid, COLOR_RED, "Die Registrierung auf diesem Server ist momenten deaktiviert. Melde dich bei einem Freund oder bei einem Admin für Hilfe");
    }
    else
    {


    if(LogFilesJet == 1) printf("CheckLoginExecute 3");
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
    if(strfind(pName, "[LoS]", true) == 0){
    SendClientMessage(playerid, COLOR_RED, "Nur Admins dürfen [LoS] Clantags benutzen");
    SetTimerEx("DelayKick", 2000, 0, "d", playerid);
    }


    ShowPlayerDialog(playerid,155,DIALOG_STYLE_PASSWORD,"Login System","Du bist nicht registiert. Gebe ein Passwort ein:","Absenden", "");
    SendClientMessage(playerid,GREY,"Du hast keinen Account. Gebe in das leere Feld ein Passwort ein, das du benutzen möchtest:");
    }
    AccRegistered[playerid] = 0;
    OnTurfConnect(playerid);
    PlayerInfo[playerid][haveacc] = 0;
    }


    if(LogFilesJet == 1) printf("CheckLoginExecute 4");
    }


    loginlol Code :


    public loginlol(playerid){
    new string111[256];


    mysql_format(Connection,string111,sizeof(string111),"SELECT * FROM `server_user` WHERE `Username` = '%s'",PlayerName(playerid));
    mysql_function_query(Connection,string111,true,"CheckLoginlol","d", playerid);
    }

  • Zeig uns doch mal den Code, in dem du die Accounts abspeicherst.

    forward SaveAccountsa();public SaveAccountsa(){for(new playerid = 0; playerid < MAX_PLAYERS; playerid++){if(IsPlayerConnected(playerid)){Geht[playerid] = 1;OnPlayerUpdate12(playerid);Geht[playerid] = 0;}}}


    //e


    if (strcmp(cmd, "/saveaccounts", true) ==0 || strcmp(cmdtext, "/savea", true)==0){
    if(PlayerInfo[playerid][ALevel] == 500 || PlayerInfo[playerid][ALevel] == 600) return 1;
    if(PlayerInfo[playerid][ALevel] == 1){
    SendClientMessage(playerid, COLOR_GREEN, "Supporter sind nur zum supporten da");
    return 1;
    }


    if(PlayerInfo[playerid][ALevel] != 0){
    for(new i=0;i<MAX_PLAYERS;i++){
    if(IsPlayerConnected(i)){
    Geht[i] = 1;
    OnPlayerUpdate12(i);
    Geht[i] = 0;
    }
    }


    SendClientMessage(playerid, COLOR_RED, "Accounts gespeichert");
    }
    return 1;
    }

  • Was heißt denn überhaupt, der Spieler wird nicht gespeichert?
    Existiert zu dem Spieler denn ein Datensatz in der Tabelle, wenn nicht, dann wird er gar nicht angelegt (INSERT INTO), sprich an der Registration passt etwas nicht (Code posten).
    Wenn der Datensatz für den Spieler existiert, dann passt beim Speichern der Statistiken (UPDATE) etwas nicht (Code posten).


    Außerdem:
    Erstelle bitte nicht zwei Themen, die sich um das Gleiche Problem handeln.
    Siehe: Connecten werden nur Textdraws angezeigt aber kein DIALOG

  • was hast du für einen Adminrang?

    Adminrang: 0 (PS: Geht ja garnicht kann mich nicht Admin machen da ich meine Accounts bearbeiten kann)

    MYSQL Log:


    [09:53:14] [ERROR] CMySQLConnection::Connect - (error #2005) Unknown MySQL server host 'HIER ÄNDERN' (11001)
    [09:53:14] [WARNING] CMySQLHandle::Create - connection already exists
    [09:53:14] [ERROR] CMySQLConnection::Connect - (error #2005) Unknown MySQL server host 'HIER ÄNDERN' (11001)
    [09:53:14] [ERROR] CMySQLConnection::Connect - (error #2005) Unknown MySQL server host 'HIER ÄNDERN' (11001)
    [09:53:14] [ERROR] CMySQLConnection::Connect - (error #2005) Unknown MySQL server host 'HIER ÄNDERN' (11001)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Also entweder besorgst du dir eine solche MySQL-Datenbank oder du musst auf eine andere Speichermethode wechseln.
    Diese Datenbanken sind nicht nur für Foren, sondern auch z.B. für deinen SAMP-Server geeignet.


    Schau dir das mal an:
    MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)


    Du kannst dir so eine Datenbank auch am eigenen PC einrichten, wie das geht wird dort auch kurz beschrieben (bzw. zu einer Anleitung verlinkt).

  • Danke an alle es Speichert nun aber jetzt ein anderes Problem undzwar ich bekomme immer eine Meldung an meiner .exe (server)


    [13:07:26] Error-ID: 1146 | Error: Table 'dbdb.cp_cronjob' doesn't exist | Callback: OnExecuteCronjob | Query: SELECT * FROM cp_cronjob WHERE status = 0 AND (targetID = '353956' OR targetName = 'ServerTester');