MySQL Tuning Speichern

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
  • Hi,


    Ich würde gerne wissen, wie ich das Tuning an Fahrzeugen speichern kann.
    In der SuFu kann man nichts brauchbares finden, da der pwn tag nicht geht.
    Ein paar beispiele wären nett, da ich mich mit dem Tuning noch nie befasst habe.


    Habe das MySQL R-39 Plugin.


    Mit freundlichen Grüßen



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Das kannst du so machen:

    C
    new query[256];
    format(query, sizeof(query), "UPDATE vehTabelle SET tuning0 = %d", GetVehicleComponentInSlot(vehicleid, 0));
    for(new i=1; i<14; i++)
    {
    	format(query, sizeof(query), "%s, tuning%d = %d ", query, i, GetVehicleComponentInSlot(vehicleid, i));
    }
    format(query, sizeof(query), "%sWHERE id = %d", db_id);
    mysql_pquery(db, query);

    Die entsprechenden Variablen und Angaben im Query musst du natürlich mit deinen Bezeichnungen ersetzen.

  • Okay also erstmal in meinem Enum
    tuning[13],
    hinzugefügt


    Dann bei meinem SaveCars:



    Da gibt er mir halt direkt Errors weil ich vehicleid, db und db_id nicht definiert habe, wie soll ich die Definieren, also vehicleid ist ja klar und sonst einfach new db, db_id; ?


    Und das mit dem Laden, für jedes Tuning eins extra erstellen oder kann man das irgendwie mit einer schleife machen?


    Mit freundlichen Grüßen



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • So:

    Das Laden kannst du auch mit einer Schleife machen, oder alle einzeln, das geht beides.
    Schau mal, ob du das Laden selbst hin bekommst, wenn nicht poste den Code vom Laden.

  • Okey hab es mal versucht, bekomme aber die Errors nicht gefixxt.


    C
    AddVehicleComponent(id, CarInfo[id][tuning[0]]) = cache_get_field_content_int(i, "tuning0");


    C:\Users\niddo\Desktop\samp\Selfmade\gamemodes\newrl.pwn(8267) : error 028: invalid subscript (not an array or too many subscripts): "tuning"
    C:\Users\niddo\Desktop\samp\Selfmade\gamemodes\newrl.pwn(8267) : warning 215: expression has no effect
    C:\Users\niddo\Desktop\samp\Selfmade\gamemodes\newrl.pwn(8267) : error 001: expected token: ";", but found "]"
    C:\Users\niddo\Desktop\samp\Selfmade\gamemodes\newrl.pwn(8267) : error 029: invalid expression, assumed zero
    C:\Users\niddo\Desktop\samp\Selfmade\gamemodes\newrl.pwn(8267) : fatal error 107: too many error messages on one line



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Irgendwie wird nichts gespeichert, hab in meiner Tabelle jetzt mit tuning0 angefangen und mit tuning14 aufgehört, in meinem enum ist es tuning[14].




    C
    tuning[14],



    was könnte falsch sein?



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Sorry hab daran garnicht mehr gedacht. Da du leider im Urlaub bist und nicht helfen kannst, hoffe ich jemand anderes kann das Problem lösen.




    Mit freundlichen Grüßen



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Probiere es mal so:
    public SaveAllCars()
    {
    printf("Starte SaveAllCars");
    new query[1024];
    for(new i=0; i<MAX_AUTOS; i++)
    {
    printf("i: %d | Model: %d | Besitzer: %s", i, CarInfo[i][modelID], CarInfo[i][Besitzer]);
    if(CarInfo[i][modelID] >= 400 && CarInfo[i][modelID] <= 611)
    {
    printf("Gekauft: %d", CarInfo[i][c_Gekauft]);
    if(CarInfo[i][c_Gekauft] == 0)
    {
    //GetVehiclePos(CarInfo[i][c_vID], CarInfo[i][c_x], CarInfo[i][c_y], CarInfo[i][c_z]);
    //GetVehicleZAngle(CarInfo[i][c_vID], CarInfo[i][c_a]);
    format(query, sizeof(query), "UPDATE Cars SET Besitzer = '%s',ModelID = '%d', PosX = '%f', PosY = '%f', PosZ = '%f', PosA = '%f', Color1 = '%d', Color2 = '%d',Preis = '%d',Gekauft = '%d', Versicherung = '%d', Schild = '%s', Drogen = '%d', Waffen = '%d', Geld = '%d' WHERE ID = '%d'",
    CarInfo[i][Besitzer],CarInfo[i][modelID], CarInfo[i][c_x], CarInfo[i][c_y], CarInfo[i][c_z], CarInfo[i][c_a], CarInfo[i][c_color1], CarInfo[i][c_color2],CarInfo[i][c_Preis],CarInfo[i][c_Gekauft], CarInfo[i][c_Versicherung],CarInfo[i][c_Schild],CarInfo[i][c_Drogen],CarInfo[i][c_Waffen],CarInfo[i][c_Geld], i);
    mysql_tquery(handle, query);
    printf("query: %s", query);
    SendClientMessageToAll(info, "Nicht gekauft Autos wurden gespeichert!");
    }
    if(CarInfo[i][c_Gekauft] == 1)
    {
    new Float:VehPos[4];
    GetVehiclePos(CarInfo[i][c_vID],VehPos[0],VehPos[1],VehPos[2]);
    GetVehicleZAngle(CarInfo[i][c_vID], VehPos[3]);
    format(query, sizeof(query), "UPDATE Cars SET Besitzer = '%s',ModelID = '%d', PosX = '%f', PosY = '%f', PosZ = '%f', PosA = '%f', Color1 = '%d', Color2 = '%d',Preis = '%d',Gekauft = '%d', Versicherung = '%d', Schild = '%s', Drogen = '%d', Waffen = '%d', Geld = '%d' WHERE ID = '%d'",
    CarInfo[i][Besitzer],CarInfo[i][modelID], VehPos[0], VehPos[1], VehPos[2], VehPos[3], CarInfo[i][c_color1], CarInfo[i][c_color2],CarInfo[i][c_Preis],CarInfo[i][c_Gekauft],CarInfo[i][c_Versicherung],CarInfo[i][c_Schild],CarInfo[i][c_Drogen],CarInfo[i][c_Waffen],CarInfo[i][c_Geld], i);
    mysql_tquery(handle, query);
    printf("query: %s", query);
    SendClientMessageToAll(info, "Gekaufte Autos wurden gespeichert!");
    // new query[256];
    format(query, sizeof(query), "UPDATE Cars SET tuning0 = %d", GetVehicleComponentInSlot(CarInfo[i][c_vID], 0));
    for(new j=1; j<14; j++)
    {
    format(query, sizeof(query), "%s, tuning%d = %d ", query, j, GetVehicleComponentInSlot(CarInfo[i][c_vID], j));
    }
    format(query, sizeof(query), "%sWHERE ID = %d", i);
    mysql_tquery(handle, query);
    printf("query: %s", query);
    }
    }
    }
    SendClientMessageToAll(info, "Alle Fahrzeuge wurden gespeichert!");
    printf("Fertig.");
    return 1;
    }


    format(query, sizeof(query), "%sWHERE ID = %d", i);
    zu
    format(query, sizeof(query), "%sWHERE ID = %d",query, i);

  • //Edit:
    Hab jetzt mal bisschen rumgemacht aber es scheint immer noch nicht zu funktionieren.. Die Tabelle füllt sich mit dem Wert, dass bleibt auch so bis ich den Server starte und dann nach 5 min die Autos neu gespeichert werden, da diese dann ja kein Tuning haben wird die Spalte wieder auf 0 gesetzt..
    Dann muss es ja an LoadCars liegen oder?
    mein LoadCars:




    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

    Einmal editiert, zuletzt von ENEF ()

  • Beitrag von CaZe ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Wunsch den Code zu entfernen ().