Alter und Geschlecht speichert nicht [MySQL]

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
  • Funktioniert auch nicht, letztendlich habe ich aber was rausgefunden.
    Wenn ich das erste mal connecte, sprich in der Registrierung wird der Geschlecht bei 0 bleiben, wenn ich aber das Script ein wenig umbaue und den Login Dialog unter OnPlayerSpawn setzte, erneut connecte, sprich halt zum 2ten mal mit den Account funktioniert es.
    Ich printe den Query eben, warte.


    @Query

    Code
    [21:33:35] Number of vehicle models: 0
    [21:33:54] Incoming connection: 79.195.144.188:60443
    [21:33:54] [join] GTARPss has joined the server (0:79.195.144.188)
    [21:33:55] UPDATE `accounts` SET `Level` = '0',`Adminlevel` = '0',`Online` = '0',`Datum` = '',`Geschlecht` = '0' WHERE `Name` = ''
    [21:33:55] Account wurde gespeichert.
    [21:33:56] UPDATE `accounts` SET `Level` = '0',`Adminlevel` = '0',`Online` = '1',`Datum` = '',`Geschlecht` = '0' WHERE `Name` = ''
    [21:33:56] Account wurde gespeichert.
    [21:33:57] UPDATE `accounts` SET `Level` = '0',`Adminlevel` = '0',`Online` = '1',`Datum` = '',`Geschlecht` = '1' WHERE `Name` = ''
    [21:33:57] Account wurde gespeichert.
    [21:33:57] [part] GTARPss has left the server (0:1)
  • Versuch mal das einzufügen:
    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    und bei deinem SavePlayer das so zumachen:


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    new query[600];
    format(query, sizeof(query), "UPDATE `accounts` SET `Level` = '%d',`Adminlevel` = '%d',`Online` = '%d',`Datum` = '%s',`Geschlecht` = '%i' WHERE `Name` = '%s'",
    SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pOnline],SpielerInfo[playerid][pDatum],SpielerInfo[playerid][pGeschlecht],SpielerName(playerid));
    mysql_query(query);
    printf("Account wurde gespeichert.");
    }
    }
    return 1;
    }


  • Ich verstehe nicht was du unter zurücksuchen verstehst, aber falls der Spieler registriert ist muss der Name auch gegettet werden. In Pawn geschieht nichts automatisch. Ich weiß nicht, ob du wirklich den Sinn des Codes verstehst, du setzt Bedingungen, erfüllst diese jedoch beim Laden/Register nicht.


    Marcel2311:
    Denk doch bitte an die Ressoursen, es gibt leichtere Methoden.
    Besser ist es jedes mal den Namen zu getten oder als alternative, die nicht so wirkungsvoll ist wie die erste, den Namen beim
    Connecten in einem Array zu speichern.

  • Ich verstehe nicht was du unter zurücksuchen verstehst, aber falls der Spieler registriert ist muss der Name auch gegettet werden. In Pawn geschieht nichts automatisch. Ich weiß nicht, ob du wirklich den Sinn des Codes verstehst, du setzt Bedingungen, erfüllst diese jedoch beim Laden/Register nicht.


    Ich verstehe nur noch Bahnhof, kannst du mir das über TV oder so entbuggen damit ich es mir genauer anschauen kann? :whistling: