Beiträge von _AEROX_

    Nein, nach dem Block, sprich nach der Klammer in der Zeile drunter.
    Also um zwei Zeilen nach unten verschieben.

    Ok danke also Sprich so : ?



    forward OnQueryFinish(resultid, extraid, ConnectionHandle);
    public OnQueryFinish(resultid, extraid, ConnectionHandle)
    {
    new Rows, Fields;
    if(resultid != THREAD_NO_RESULT)
    {
    cache_get_data(Rows, Fields);
    }
    switch(resultid)
    {
    case THREAD_REGISTER_ACCOUNT:
    {
    PlayerInfo[extraid][pID] = cache_insert_id();
    }
    case THREAD_LOAD_ACCOUNTS:
    {
    if(Rows)
    {
    new tmp[130];
    cache_get_field_content(0, "ID", tmp);
    PlayerInfo[extraid][pID] = strval(tmp);
    cache_get_field_content(0, "Password", tmp);
    format(PlayerInfo[extraid][pPassword], 129, "%s", tmp);
    cache_get_field_content(0, "Level", tmp);
    PlayerInfo[extraid][pLevel] = strval(tmp);
    cache_get_field_content(0, "Gender", tmp);
    PlayerInfo[extraid][pGender] = strval(tmp);
    cache_get_field_content(0, "Age", tmp);
    PlayerInfo[extraid][pAge] = strval(tmp);
    cache_get_field_content(0, "Admin", tmp);
    PlayerInfo[extraid][pAdmin] = strval(tmp);
    cache_get_field_content(0, "Skin", tmp);
    PlayerInfo[extraid][pSkin] = strval(tmp);
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch");
    }
    else if(!Rows)
    {
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch");

    }
    return 1;
    }
    }
    return 1;
    }

    Setze nach dem "else if" Block ein return 1 hin.

    So richtig ?



    forward OnQueryFinish(resultid, extraid, ConnectionHandle);
    public OnQueryFinish(resultid, extraid, ConnectionHandle)
    {
    new Rows, Fields;
    if(resultid != THREAD_NO_RESULT)
    {
    cache_get_data(Rows, Fields);
    }
    switch(resultid)
    {
    case THREAD_REGISTER_ACCOUNT:
    {
    PlayerInfo[extraid][pID] = cache_insert_id();
    }
    case THREAD_LOAD_ACCOUNTS:
    {
    if(Rows)
    {
    new tmp[130];
    cache_get_field_content(0, "ID", tmp);
    PlayerInfo[extraid][pID] = strval(tmp);
    cache_get_field_content(0, "Password", tmp);
    format(PlayerInfo[extraid][pPassword], 129, "%s", tmp);
    cache_get_field_content(0, "Level", tmp);
    PlayerInfo[extraid][pLevel] = strval(tmp);
    cache_get_field_content(0, "Gender", tmp);
    PlayerInfo[extraid][pGender] = strval(tmp);
    cache_get_field_content(0, "Age", tmp);
    PlayerInfo[extraid][pAge] = strval(tmp);
    cache_get_field_content(0, "Admin", tmp);
    PlayerInfo[extraid][pAdmin] = strval(tmp);
    cache_get_field_content(0, "Skin", tmp);
    PlayerInfo[extraid][pSkin] = strval(tmp);
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch");
    }
    else if(!Rows)
    {
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch");
    return 1;
    }

    }
    }
    return 1;
    }

    Hey wie meine Überschrift schon sagt ich habe einen komischen Fehler in der Mysql_Log endeckt (Ich glaube dieser Fehler kam wo ich den server neugestartet habe und ihn nicht komplett ausgemacht habe und 2 spieler online waren).


    Hier der Fehler was könnte da falsch sein ?

    Code
    [20:58:01] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Hallo Jake, dieser Account ist registriert. Bitte trage dein Passwort ein.' at line 1
    [20:59:43] [WARNING] CMySQLHandle::Create - connection already exists
    [20:59:45] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Hallo Aerox, dieser Account ist registriert. Bitte trage dein Passwort ein.' at line 1


    @Jeffry


    Den Code den ich posten sollte



    forward OnQueryFinish(resultid, extraid, ConnectionHandle);
    public OnQueryFinish(resultid, extraid, ConnectionHandle)
    {
    new Rows, Fields;
    if(resultid != THREAD_NO_RESULT)
    {
    cache_get_data(Rows, Fields);
    }
    switch(resultid)
    {
    case THREAD_REGISTER_ACCOUNT:
    {
    PlayerInfo[extraid][pID] = cache_insert_id();
    }
    case THREAD_LOAD_ACCOUNTS:
    {
    if(Rows)
    {
    new tmp[130];
    cache_get_field_content(0, "ID", tmp);
    PlayerInfo[extraid][pID] = strval(tmp);
    cache_get_field_content(0, "Password", tmp);
    format(PlayerInfo[extraid][pPassword], 129, "%s", tmp);
    cache_get_field_content(0, "Level", tmp);
    PlayerInfo[extraid][pLevel] = strval(tmp);
    cache_get_field_content(0, "Gender", tmp);
    PlayerInfo[extraid][pGender] = strval(tmp);
    cache_get_field_content(0, "Age", tmp);
    PlayerInfo[extraid][pAge] = strval(tmp);
    cache_get_field_content(0, "Admin", tmp);
    PlayerInfo[extraid][pAdmin] = strval(tmp);
    cache_get_field_content(0, "Skin", tmp);
    PlayerInfo[extraid][pSkin] = strval(tmp);
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch");
    }
    else if(!Rows)
    {
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch");
    }
    }
    }
    return 1;
    }


    Und füge bei OnQueryFinish den case hinzu:
    case THREAD_REGISTER_ACCOUNT:{ PlayerInfo[extraid][pID] = cache_insert_id();}

    ehm so richtig?



    forward OnQueryFinish(resultid, extraid, ConnectionHandle);
    public OnQueryFinish(resultid, extraid, ConnectionHandle)
    {
    new Rows, Fields;
    if(resultid != THREAD_NO_RESULT)
    {
    cache_get_data(Rows, Fields);
    }
    switch(resultid)
    {
    case THREAD_REGISTER_ACCOUNT:
    {
    PlayerInfo[extraid][pID] = cache_insert_id();//Hier richtig ?
    }
    case THREAD_LOAD_ACCOUNTS:
    {
    if(Rows)
    {
    new tmp[130];
    cache_get_field_content(0, "ID", tmp);
    PlayerInfo[extraid][pID] = strval(tmp);
    cache_get_field_content(0, "Password", tmp);
    format(PlayerInfo[extraid][pPassword], 129, "%s", tmp);
    cache_get_field_content(0, "Level", tmp);
    PlayerInfo[extraid][pLevel] = strval(tmp);
    cache_get_field_content(0, "Gender", tmp);
    PlayerInfo[extraid][pGender] = strval(tmp);
    cache_get_field_content(0, "Age", tmp);
    PlayerInfo[extraid][pAge] = strval(tmp);
    cache_get_field_content(0, "Admin", tmp);
    PlayerInfo[extraid][pAdmin] = strval(tmp);
    cache_get_field_content(0, "Skin", tmp);
    PlayerInfo[extraid][pSkin] = strval(tmp);
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch");
    }
    else if(!Rows)
    {
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch");
    }
    }
    }
    return 1;
    }

    Kannst du das bitte leserlich posten?
    (Erster BBC-Button -> Quellcode)

    Bekomme das irgendwie nicht übersichtlicher :O habe dir ja bereits eine PN geschickt lade es dir bei pastebin.com hoch und du kannst mir ja da kurz helfen und die lösung können wir ja hier dann posten :)

    Dann kann es den Skin auch nicht updaten.
    Wie sieht denn dein Code von der Registration aus, und wo setzt du den Wert von "PlayerInfo[playerid][pID]"?

    Dialog_Register:


    case DIALOG_REGISTER: { if(!response) return Kick(playerid); if(strlen(inputtext) < 6) { format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben. Bitte trage ein Sechsstelliges Passwort ein!", SpielerName(playerid)); ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch"); } if(response) { WP_Hash(PlayerInfo[playerid][pPassword], 129, inputtext); mysql_format(db,szQuery,sizeof szQuery,"INSERT INTO `accounts` (`username`,`password`) VALUES ('%e','%e')",SpielerName(playerid),PlayerInfo[playerid][pPassword]); mysql_function_query(db, szQuery, true, "OnQueryFinish", "ii", THREAD_NO_RESULT, playerid); ShowPlayerDialog(playerid, DIALOG_GESCHLECHT, DIALOG_STYLE_LIST, "Geschlecht", "Mann\nFrau", "Auswahl", "Abbruch"); } }




    Hier werden die sachen nach der Altereingabe gesetzt sprich nach der Registration:


    case DIALOG_ALTER: { if(!response) return ShowPlayerDialog(playerid, DIALOG_ALTER, DIALOG_STYLE_INPUT, "Alter", "Bitte trage dein Alter in das Dialogfenster ein.", "Auswahl", "Abbruch"); if(response) { if(strval(inputtext) < 5 || strval(inputtext) > 99) return ShowPlayerDialog(playerid, DIALOG_ALTER, DIALOG_STYLE_INPUT, "Alter", "Fehler! Dein Alter muss zwischen 5 und 99 Jahren liegen. Bitte trage ein Korrektes Alter ein.", "Auswahl", "Abbruch"); format(szQuery, sizeof(szQuery), "Ok, du bist also [%d] Jahre alt.", strval(inputtext)); SendClientMessage(playerid, -1, szQuery); PlayerInfo[playerid][pAge] = strval(inputtext); PlayerInfo[playerid][pLevel] = 1; SetPlayerHealth(playerid, 100); PlayerInfo[playerid][pSkin] = noobskin; SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]); //SetSpawnInfo(playerid, 0, 137, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0); SpielerSpeichern(playerid); CancelSelectTextDraw(playerid); SpawnPlayer(playerid); } }


    Ehm den wert von PlayerInfo[playerid][pID] setze ich eig nicht der wird nur hier geladen :


    forward OnQueryFinish(resultid, extraid, ConnectionHandle);public OnQueryFinish(resultid, extraid, ConnectionHandle){ new Rows, Fields; if(resultid != THREAD_NO_RESULT) { cache_get_data(Rows, Fields); } switch(resultid) { case THREAD_LOAD_ACCOUNTS: { if(Rows) { new tmp[130]; cache_get_field_content(0, "ID", tmp); PlayerInfo[extraid][pID] = strval(tmp); cache_get_field_content(0, "Password", tmp); format(PlayerInfo[extraid][pPassword], 129, "%s", tmp); cache_get_field_content(0, "Level", tmp); PlayerInfo[extraid][pLevel] = strval(tmp); cache_get_field_content(0, "Gender", tmp); PlayerInfo[extraid][pGender] = strval(tmp); cache_get_field_content(0, "Age", tmp); PlayerInfo[extraid][pAge] = strval(tmp); cache_get_field_content(0, "Admin", tmp); PlayerInfo[extraid][pAdmin] = strval(tmp); cache_get_field_content(0, "Skin", tmp); PlayerInfo[extraid][pSkin] = strval(tmp); format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid)); ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch"); } else if(!Rows) { format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid)); ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch"); } } } return 1;}und hier soweit ich micht nicht irre:[pwn]SpielerSpeichern(playerid){ new query[1024]; mysql_format(db,query,sizeof(query),"UPDATE `accounts` SET `Level`='%i',`Gender`='%i',`Age`='%i',`Admin`='%i',", PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pGender],PlayerInfo[playerid][pAge],PlayerInfo[playerid][pAdmin]); mysql_format(db,query,sizeof(query),"%s`Skin`='%i' WHERE `ID`='%i'", query,PlayerInfo[playerid][pSkin],PlayerInfo[playerid][pID]); printf("query: %s", query); mysql_tquery(db,query); printf("Der Account von %s wurde erfolgreich gespeichert!",SpielerName(playerid)); return 1;}


    SpielerSpeichern(playerid) { new query[1024]; mysql_format(db,query,sizeof(query),"UPDATE `accounts` SET `Level`='%i',`Gender`='%i',`Age`='%i',`Admin`='%i',", PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pGender],PlayerInfo[playerid][pAge],PlayerInfo[playerid][pAdmin]); mysql_format(db,query,sizeof(query),"%s`Skin`='%i' WHERE `ID`='%i'", query,PlayerInfo[playerid][pSkin],PlayerInfo[playerid][pID]); printf("query: %s", query); mysql_tquery(db,query); printf("Der Account von %s wurde erfolgreich gespeichert!",SpielerName(playerid)); return 1; }

    Der print wird ja im Server Log ausgegeben, daher reicht das.
    Wenn kein MySQL Error ausgegeben wird, und das Logging auf nur Errors gestellt ist, dann wird auch kein MySQL Log erstellt.


    Poste mal, was der print im Server Log ausgibt, wenn der Spieler gespeichert wird.

    In der Server_Log steht :



    [18:45:46] [join] Aerox has joined the server (0:**.***.***.**)
    [18:45:58] query: UPDATE `accounts` SET `Level`='1',`Gender`='1',`Age`='21',`Admin`='0',`Skin`='137' WHERE `ID`='0'
    [18:45:58] Der Account von Aerox wurde erfolgreich gespeichert!
    [18:46:21] query: UPDATE `accounts` SET `Level`='1',`Gender`='1',`Age`='21',`Admin`='0',`Skin`='137' WHERE `ID`='0'
    [18:46:21] Der Account von Aerox wurde erfolgreich gespeichert!
    [18:46:21] [part] Aerox has left the server (0:1)

    Hey wie meine Überschrift schon sagt speichert bzw wird die SKIN ID nicht eingetragen und es steht nur 0 in der Datebank anstatt ID 137.
    Nach der Registration hat er den richtigen SKIn nur wen ich rausgehe und wieder reingehe den Cj Skin.


    Hier mal alles was mit dem Skin zu tun hat:


    Unter Onplayerspawn:


    SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);


    Wen der Spieler sich registriert hat :


    PlayerInfo[playerid][pSkin] = noobskin;


    Wo ich den Account lade:



    case THREAD_LOAD_ACCOUNTS:
    {
    if(Rows)
    {
    new tmp[130];
    cache_get_field_content(0, "ID", tmp);
    PlayerInfo[extraid][pID] = strval(tmp);
    cache_get_field_content(0, "Password", tmp);
    format(PlayerInfo[extraid][pPassword], 129, "%s", tmp);
    cache_get_field_content(0, "Level", tmp);
    PlayerInfo[extraid][pLevel] = strval(tmp);
    cache_get_field_content(0, "Gender", tmp);
    PlayerInfo[extraid][pGender] = strval(tmp);
    cache_get_field_content(0, "Age", tmp);
    PlayerInfo[extraid][pAge] = strval(tmp);
    cache_get_field_content(0, "Admin", tmp);
    PlayerInfo[extraid][pAdmin] = strval(tmp);
    cache_get_field_content(0, "Skin", tmp);
    PlayerInfo[extraid][pSkin] = strval(tmp);
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch");
    }
    else if(!Rows)
    {
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch");
    }
    }


    Loadplayer funktion wen der spieler eingelogt wird rufe ich dies auf --> LoadPlayer(playerid);
    die Funktion dazu :



    LoadPlayer(playerid)
    {
    SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
    SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    return 1;
    }


    Wo der Account gespeichert wird:



    SpielerSpeichern(playerid)
    {
    new query[1024];
    mysql_format(db,query,sizeof(query),"UPDATE `accounts` SET `Level`='%i',`Gender`='%i',`Age`='%i',`Admin`='%i',",
    PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pGender],PlayerInfo[playerid][pAge],PlayerInfo[playerid][pAdmin]);



    mysql_format(db,query,sizeof(query),"%s`Skin`='%i' WHERE `ID`='%i'",
    query,PlayerInfo[playerid][pSkin],PlayerInfo[playerid][pID]);



    printf("query: %s", query);
    mysql_tquery(db,query);
    printf("Der Account von %s wurde erfolgreich gespeichert!",SpielerName(playerid));
    return 1;
    }


    Vielen dank schonmal :)


    @Jeffry @Kaliber

    Eventuell mal in die mysql log datei schauen :P


    Bzw schauen ob der Tabellenname und die id übereinstimmen :)

    Ja habe es eben auch gemerkt hätte ich ja früher drauf kommen können hatte eine Spalte (Age) vergessen :thumbup: nun probiere ich es mal jetz habe ich aber gesehen das wen alle accounts weg sind das es nicht mit 0 oder id 1 startet sondern mit id 12 beim ersten account ist das Schlimm ?

    Hey undzwar habe ich das Problem das das Script alles lädt nun habe ich eine Speicherfunktion eingebaut die z.B
    nach dem Befehl /makeadmin das Level direkt in der Mysql Datenbank aktuallisieren soll bzw Updaten soll dies steht auch in der Server_Log jedoch
    steht das neue Adminlevel dann nicht in der Mysql Datenbank.


    Ladefunktion der der Accounts:


    Damit rufe ich die Ladefunktion auf
    mysql_function_query(db, szQuery, true, "OnQueryFinish", "ii", THREAD_LOAD_ACCOUNTS, playerid);


    forward OnQueryFinish(resultid, extraid, ConnectionHandle);public OnQueryFinish(resultid, extraid, ConnectionHandle){ new Rows, Fields; if(resultid != THREAD_NO_RESULT) { cache_get_data(Rows, Fields); } switch(resultid) { case THREAD_LOAD_ACCOUNTS: { if(Rows) { new tmp[130]; cache_get_field_content(0, "ID", tmp); PlayerInfo[extraid][pID] = strval(tmp); cache_get_field_content(0, "Password", tmp); format(PlayerInfo[extraid][pPassword], 129, "%s", tmp); cache_get_field_content(0, "Level", tmp); PlayerInfo[extraid][pLevel] = strval(tmp); cache_get_field_content(0, "Gender", tmp); PlayerInfo[extraid][pGender] = strval(tmp); cache_get_field_content(0, "Age", tmp); PlayerInfo[extraid][pAge] = strval(tmp); cache_get_field_content(0, "Admin", tmp); PlayerInfo[extraid][pAdmin] = strval(tmp); cache_get_field_content(0, "Skin", tmp); PlayerInfo[extraid][pSkin] = strval(tmp); format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid)); ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch"); } else if(!Rows) { format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid)); ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch"); } } } return 1;}


    Die neue Speicherfunktion:


    SpielerSpeichern(playerid){ new query[1024]; mysql_format(db,query,sizeof(query),"UPDATE `accounts` SET `Password`='%i',`Level`='%i',`Gender`='%i',`Age`='%i',`Admin`='%i',", PlayerInfo[playerid][pPassword],PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pGender],PlayerInfo[playerid][pAge],PlayerInfo[playerid][pAdmin]); mysql_format(db,query,sizeof(query),"%s`Skin`='%i' WHERE `ID`='%i'", query,PlayerInfo[playerid][pSkin],PlayerInfo[playerid][pID]); printf("query: %s", query); mysql_tquery(db,query); printf("Der Account von %s wurde erfolgreich gespeichert!",SpielerName(playerid)); return 1;}


    Der /makeadmin Befehl:


    CMD:makeadmin(playerid,params[]){ printf("Der Spieler %s hat /makeadmin ausgeführt!",SpielerName(playerid)); new giveid,level; if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid,-1,"Du bist kein NLR Teammitglied!/Du hast nicht den jeweiligen Adminrang!"); if(sscanf(params,"ui",giveid,level)) return SendClientMessage(playerid,-1,"Benutze: /makeadmin (Spielerid) (Level)"); { PlayerInfo[giveid][pAdmin] = level; SpielerSpeichern(giveid); GameTextForPlayer(playerid,"Adminlevel ~g~geandert.",10000,5); } return 1;}


    //Edit Nachtrag
    Dies Stand in meiner Server_Log

    Der Spieler Aerox hat /makeadmin ausgeführt!
    [17:45:22] query: UPDATE `accounts` SET `Password`='52',`Level`='1',`Gender`='0',`Age`='0',`Admin`='1',`Skin`='26' WHERE `ID`='5'
    [17:45:22] Der Account von Aerox wurde erfolgreich gespeichert!
    [17:45:22] [part] Aerox has left the server (0:1)

    Damit sollte der Spieler eig das Adminlevel 1 haben aber es stand noch Adminlevel 6 in der Datebank..


    @Jeffry@Kaliber @_Marvin

    In dem von dir geposteten Code wird der Fehler nicht sein.
    Erscheint der Dialog, wenn sich dein Kollege sich noch im Login befindet(den Dialog sieht ohne sich einzuloggen) oder funktioniert es da schon nicht mehr ?

    Also das einemal sind wir gleichzeitig drauf da ging gleich nichts mehr und kam auch kein dialog und danach zuletzt war er online alles ging. Dann dann wollte ich nach kommen auf den server und dann wurde mir schon kein Dialog mehr angezeigt aber allerding oben unten die schwarzen streifen (Textdraws) und alles hing wieder

    Und was ist mit der Funktion "SpielerLaden" ?

    @BlackAce hier ist die Spielerladen funktion

    Klingt als hättest du irgendwo eine endlosschleife.


    Zeig uns mal deinen Loginabschnitt.

    Ehm Unter Onplayerconnect rufe ich folgendes auf :

    Code
    new query[128];
    	GetPlayerName(playerid, SpielerInfo[playerid][Name], MAX_PLAYER_NAME);
    	mysql_format(db, query, sizeof(query), "SELECT * FROM `accounts` WHERE `username` = '%e'", SpielerInfo[playerid][Name]);
        mysql_pquery(db, query, "OnPlayerDataLoaded","ii", playerid, g_MysqlRaceCheck[playerid]);



    und hier wird dann der Spieler eingeloggt oder man registriert sich :

    Dialog_Login:

    Dialog_Register:


    @BlackAce @Jeffry @_Marvin

    Ist der Server denn noch an, oder ist dieser ebenfalls heruntergefahren, wenn ihr nichts mehr machen könnt?

    Er ist noch an aber ist dann wie eingefroren :D und es geschieht nichts und dann muss ich jedes mal den Server neustarten damit man sich wieder einloggen kann

    Dann werde ich mal das crashdetect Plugin laufen lassen.
    Danke schonmal für deine Hilfe @Kaliber



    //Edit so nun ist der Fehler wieder aufgetaucht mein Kollege ist ingame wollte jetz nach Kommen ins Spiel und kann mich nicht einloggen und bei ihm geht dann auch nichts mehr Ingame.


    Habe nun das Crashdetect plugin am laufen aber es steht immer noch das gleiche wie vorher in der serverlog...
    (Oder habe ich es evtl falsch angewendet wen keine meldungen per crashdetct plugin kommen ? )


    In der Server Log steht folgendes:

    Code
    [connection] **.***.***.**:***** requests connection cookie.
    [15:59:08] [connection] incoming connection: **.***.***.**:***** id: 1
    [15:59:08] [join] Aerox has joined the server (*:**.***.***.**)


    In der Mysql Log steht folgendes wen ich nach kommen möchte auf den Server:


    @YaBroo @Kaliber @Jeffry @_Marvin

    Der Gameserver bleibt wie gewohnt an aber es kommt kein Register / login Dialog
    Sprich der Gameserver muss erst wieder neugestartet werden sonst kann man sich nicht einloggen.