FahrzeugIDS der DB auflisten

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
  • Hallo zusammen,


    auch hallo Jeffry xD


    ich brauche mal einen Anstupser


    ich würde gerne mit einem Befehl die IDs der Fahrzeuge aus der DB auflisten


    alos z.B.


    Fahrzeug 1 = ID 17 (ist ja aufsteigend in der DB) Model 522 etc



    nun brauche ich dafür ja eine Schleife


    wie genau baue ich das am besten?


    ich muss ja alle IDs auslese die den eigenen Namen als Besitzer haben...


    LG

  • Dann habe ich dir hier ein Beispiel:
    [ SCRIPTING ] [jTuT] Fraktions-Fahrzeug-System mit MySQL R39-2


    Du gehst wie bei LoadFracVehicles vor, nur dass du das erstellen der Tabelle weg lässt, und bei LoadFracVehicles_Data eben nicht das Fahrzeug erstellst, sondern deine entsprechenden Dinge ausgeben lässt. Musst es auch nicht in die Arrays laden, da reichen lokale temporäre Variablen.


    Versuche dich damit mal.

  • Jeffry


    ich hatte eig nicht gedacht das doppelt zu laden



    hatte eher wie oben an eine Schleife gedacht


    ocmd:vehiclestats(playerid,params[])
    {
    if(!IsPlayerConnected(playerid)) return 1;
    new f=0; f<MAX_VEHICLES; f++;
    {
    //hier dann die IDs nach und nach auflisten die zum Usernamen gehören..

    }
    //DIalog anzeigen
    return 1;
    }



    Spoiler anzeigen

    Bluescreen hallo :D
    @Schlaubi wollte dich mal aus langeweile makieren

  • Jeffry



    so sieht das bei mir aus


    public OnPlayerCarsLoad(playerid) //Autos laden ^^
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    new id = getFreeCarID();
    cInfo[id][model]=cache_get_field_content_int(i,"model",dbhandle);
    cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",dbhandle);
    cInfo[id][c_x]=cache_get_field_content_float(i,"x",dbhandle);
    cInfo[id][c_y]=cache_get_field_content_float(i,"y",dbhandle);
    cInfo[id][c_z]=cache_get_field_content_float(i,"z",dbhandle);
    cInfo[id][c_r]=cache_get_field_content_float(i,"r",dbhandle);
    // cInfo[id][key][0]=cache_get_field_content_int(i,"key_0",dbhandle);
    cInfo[id][db_id]=cache_get_field_content_int(i,"id",dbhandle);
    cInfo[id][kmstand]=cache_get_field_content_float(i,"kmstand",dbhandle);
    cInfo[id][id_x]=CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],-1,-1,-1);
    cInfo[id][liter] = cache_get_field_content_int(i,"tank",dbhandle);
    printf("liter =%i",cInfo[id][liter]);
    cInfo[id][zustand] = cache_get_field_content_float(i,"zustand",dbhandle);
    SetVehicleHealth(id,cInfo[id][zustand]);

    }
    return 1;
    }


    loadPlayerCars(playerid) //Autos laden Funktion
    {
    new query[256];
    format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","i",playerid);
    return 1;
    }

  • Vom Prinzip her so:
    ocmd:vehiclestats(playerid,params[])
    {
    new string[512];
    for(new f=0; f<MAX_VEHICLES; f++)
    {
    //hier dann die IDs nach und nach auflisten die zum Usernamen gehören..
    if(cInfo[f][besitzer] == sInfo[playerid][db_id])
    {
    format(string, sizeof(string), "%sID: %d\n", string, f);
    }
    }
    //Dialog anzeigen
    ShowPlayerDialog(playerid, DIALOG_VEHS, DIALOG_STYLE_LIST, "Fahrzeuge", string, "Ok", "Abbrechen");
    return 1;
    }


    Kommst du damit klar?

    3HZXdYd.png

    2 Mal editiert, zuletzt von Jeffry ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Doch, das ist richtig so. Er nimmt dann halt im ersten Durchlauf nichts.
    Es geht nur darum, den bereits formatierten Text (in string) wieder anzuhängen, sonst vergisst er das ja.


    Du kannst dir das vorstellen wie:
    string = "Hallo";
    string = string + " Welt.";


    Dann steht in string "Hallo Welt."
    (Pseudocode!)