[MySQL] Speichert falsch

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
  • Ich habe im Script Fahrzeuge, welche aus MySQL-Daten erstellt werden, wenn der Server startet.


    Wenn der Server herunterfährt werden diese wieder gespeichert. Problem ist, dass alle Fahrzeuge plötzlich einen anderen Besitzer haben, nachdem der Server heruntergefahren wurde.


    Vor dem Serverstart: 2 Fahrzeuge, Besitzer1: Artus, Besitzer2: Artus2 (Account existiert nicht)
    --> Serverstart = MySQL-Daten bleiben so & Fahrzeuge werden erstellt
    --> Spieler Artus joint, fährt kurz herum
    --> Spieler Artus leavt
    --> Server wird manuell von mir heruntergefahren
    --> Autos werden in die MySQL-Datenbank gespeichert
    --> Alle Fahrzeuge des Servers gehören nun "Artus2"


    Hier ist der Code, welcher die Autos speichert.


    stock AutoSpeichern(playerid)
    {
    for(new i=0; i!=MAX_VEHICLES; i++)
    {
    if(GetVehicleModel(AutoDaten[i][aID]))
    {
    if(SpielerDaten[playerid][pName] == AutoDaten[i][aBesitzer] && strlen(AutoDaten[i][aBesitzer]))
    {
    mysql_SetString("grra", "Besitzer", AutoDaten[i][aBesitzer], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetInt("grra", "Model", AutoDaten[i][aModel], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetInt("grra", "Farbe_1", AutoDaten[i][aFarbe1], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetInt("grra", "Farbe_2", AutoDaten[i][aFarbe2], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetInt("grra", "Tueren", AutoDaten[i][aTueren], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetFloat("grra", "PosX", AutoDaten[i][aPosX], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetFloat("grra", "PosY", AutoDaten[i][aPosY], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetFloat("grra", "PosZ", AutoDaten[i][aPosZ], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetFloat("grra", "PosA", AutoDaten[i][aPosA], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetInt("grra", "Respawn", AutoDaten[i][aRespawn], "Besitzer", SpielerDaten[playerid][pName]);
    }
    }
    }
    return 1;
    }


    Wo liegt der Fehler? ?(


    Edit1: Bei OnPlayerDisconnect wird das nur für den Spieler, welcher leavt durchgeführt und bei OnGameModeExit wird es für jeden Spieler durchgeführt.

    Einmal editiert, zuletzt von Artus ()