Lade Car aus Mysql und EXE

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
  • bei mir wirds auch aus der sql geladen, funktioniert genau so wie sonst auch.
    vielleicht hast du ne spalte beim auslesen verwechselt oder addstaticvehicle benutzt?


    lass dir mit print den string ausgeben den du von der datenbank zurück bekommst.


    add mich mal in icq

  • Hier habt ihr meinen LoadCars.
    stock LoadCars()
    {
    new idx;
    samp_mysql_query("SELECT * from cars");
    samp_mysql_store_result();
    totalcars=samp_mysql_num_rows();

    while(idx<=totalcars)
    {
    new Data[1024];
    new Field[64];
    new rcnt = 0;

    samp_mysql_fetch_row(Data);
    samp_mysql_strtok(Field,"|",Data);

    while (samp_mysql_strtok(Field, "|", "")==1)
    {
    if(rcnt == 0){ strins(CarInfo[idx][Owner],Field,0,32); }
    if(rcnt == 1){ CarInfo[idx][Model] = strval(Field); }
    if(rcnt == 2){ CarInfo[idx][Preis] = strval(Field); }
    if(rcnt == 3){ CarInfo[idx][X] = floatstr(Field); }
    if(rcnt == 4){ CarInfo[idx][Y] = floatstr(Field); }
    if(rcnt == 5){ CarInfo[idx][Z] = floatstr(Field); }
    if(rcnt == 6){ CarInfo[idx][A] = floatstr(Field); }
    if(rcnt == 7){ CarInfo[idx][Locked] = strval(Field); }
    if(rcnt == 8){ CarInfo[idx][Owned] = strval(Field); }
    if(rcnt == 9){ CarInfo[idx][Color1] = strval(Field); }
    if(rcnt == 10){ CarInfo[idx][Color2] = strval(Field); }
    if(rcnt == 11){ strins(CarInfo[idx][Numberplate],Field,0,32); }
    if(rcnt == 12){ CarInfo[idx][Firma] = strval(Field); }
    if(rcnt == 13){ CarInfo[idx][Kilometer] = strval(Field); }
    if(rcnt == 14){ CarInfo[idx][Schaden] = strval(Field); }
    if(rcnt == 15){ CarInfo[idx][Tank] = strval(Field); }
    if(rcnt == 16){ CarInfo[idx][Motorschaden] = strval(Field); }
    CreateVehicle(CarInfo[idx][Model],CarInfo[idx][X],CarInfo[idx][Y],CarInfo[idx][Z],CarInfo[idx][A],CarInfo[idx][Color1],CarInfo[idx][Color2],600000);
    SetVehicleNumberPlate(idx,CarInfo[idx][Numberplate]);
    rcnt++;
    }
    idx++;
    }
    if(totalcars==0)
    print("Keine Cars zum Laden");
    else
    printf("%d Cars geladen",totalcars);
    return 1;
    }


    Ich hoffe euch bringt das Weiter

  • teil es lieber in ein array mit substrings, das ist schneller und übersichtlicher.
    declaration der variablen:
    new arrCoords[14][64];
    new stringFromDb[256];


    abfrage:
    format(sql, sizeof(sql), "SELECT * FROM `vehicle` WHERE id = %d", vehicleid);
    samp_mysql_query(sql);
    samp_mysql_store_result();


    überprüfen ob es das auto gibt, in ein array aufteilen und speichern:
    if (samp_mysql_num_rows() > 0)
    {
    samp_mysql_fetch_row(stringFromDb);
    split(stringFromDb, arrCoords, '|');

    VehicleInfo[VehicleCounter][vSqlId] = strval(arrCoords[0]); // sql id

    VehicleInfo[VehicleCounter][vBussinesOwner] = strval(arrCoords[1]);
    VehicleInfo[VehicleCounter][vPrivateOwner] = strval(arrCoords[2]);

    hast du kein primären index? wenn doch bist du einfach nur eine spalte verrutscht xD