Mysql | Cars Updaten

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
  • SO hey Brotfischer,


    nach vielen Versuchen und Hilfe von lPrototypel,
    werden nun Autos erstellt und geladen. Nun will ich sie aber Updaten lassen.
    Das funzt leider nicht. Hier Scriptcodes:

    //enum
    enum posInfo
    {
    Float: Auto_X,
    Float: Auto_Y,
    Float: Auto_Z,
    Float: Auto_A,
    }
    enum vInfo
    {
    Id,
    Owner[25],
    Model,
    Oamt,
    Lock,
    Float:Pos[posInfo],
    }
    new VehicleInfo[MAX_VEHICLES][vInfo];


    new GeladeneAutos = 0;


    //BLABLA AUTO WIRD ERSTELLT
    ......
    //Auto wird geladen
    stock Autosladen()
    {
    new Query[1024], id, i = 1;
    GeladeneAutos = 0;
    format(Query, sizeof(Query), "SELECT * FROM vehicles");
    mysql_query(Query);
    mysql_store_result();
    while(mysql_fetch_row_format(Query,"|"))
    {
    id = i;
    sscanf(Query, "p<|>e<is[25]iiiffff>", VehicleInfo[id]);
    new Color1 = random(126); new Color2 = random(126);
    CreateVehicle(VehicleInfo[id][Model],VehicleInfo[id][Pos][Auto_X],VehicleInfo[id][Pos][Auto_Y],VehicleInfo[id][Pos][Auto_Z],VehicleInfo[id][Pos][Auto_A],Color1,Color2, 60*10000);
    i++;
    GeladeneAutos++;
    //printf("%d | %f | %f | %f | %f | %s",VehicleInfo[id][Model],VehicleInfo[id][Pos][Auto_X],VehicleInfo[id][Pos][Auto_Y],VehicleInfo[id][Pos][Auto_Z],VehicleInfo[id][Pos][Auto_A],VehicleInfo[id][Owner]);
    }
    }



    Nun will ich alles Updaten lassen.... Wie das?
    Also am wichtigsten sind die Positionen.
    Also die sollen für jedes Auto die Aktuelle Pos raus finden (GetVehiclePos und GetVehicleZAngle)


    (e) Text hinzugefügt.

  • Wie ich schon im Teamspeak³ erwähnt hatte, brauchst du die "Datenbank" ID, von deinen Auto die musst du zwischenspeichern, in deiner vehicleinfo whatever enum.


    Dann halt alle Autos durch "loopen" die überhaupt eine Datenbank ID gesetzt haben dann halt mit hilfe der Datenbank id mit den Update syntax den eintrag bearbeiten ...

  • Also beim Laden der Autos wird ja die "id" in der Datenbank, dem Auto ja zugeteilt.
    Also dachte ich mir so könnte man die Autos speichern.
    Stock:



    stock SaveVehicle(vehicleid)
    {
    mysql_SetFloat("vehicles", "auto_x", VehicleInfo[vehicleid][Pos][Auto_X], "id", VehicleInfo[vehicleid][Id]);
    mysql_SetFloat("vehicles", "auto_y", VehicleInfo[vehicleid][Pos][Auto_Y], "id", VehicleInfo[vehicleid][Id]);
    mysql_SetFloat("vehicles", "auto_z", VehicleInfo[vehicleid][Pos][Auto_Z], "id", VehicleInfo[vehicleid][Id]);
    mysql_SetFloat("vehicles", "auto_a", VehicleInfo[vehicleid][Pos][Auto_A], "id", VehicleInfo[vehicleid][Id]);
    return 1;
    }


    //Und irgendwo in einem Befehl oder sonst wo :D


    //Eine Schleife


    for(new i = 0; i < GeladeneAutos; i++)
    {
    SaveVehicle(i);
    }


    (e) Code