AddVehicleComponent geht nicht!

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
  • Hey Leute,


    Ich habe ein Carsystem gescriptet wo man halt seine Fahrzeuge abspeichern kann und hab ein Problem.
    Bei meiner Mysql Datenbank ist alles abgespeichert aber es wird nicht geladen.


    Schema: component0 | component1 etc.


    for(new p=0; p<14; p++)
    {
    format(string,sizeof(string),"component%i",p);
    AddVehicleComponent(VehicleInfo[v][veh_vid],cache_get_field_content_int(i,string,MYSQLConnection));
    }


    Es wird aber nicht geladen bzw. die Fahrzeuge erscheinen ohne die Tuning Sachen.
    Pls help!

  • public LoadPlayerVehiclesFromDB(playerid)
    {
    new fields,rows,plate[128],string[512];
    cache_get_data(rows,fields,MYSQLConnection);
    if(!rows)return 1;
    for(new i=0; i<rows; i++)
    {
    new v=GetFreeVehicleIDSlot();
    if(cache_get_field_content_int(i,"loadstate",MYSQLConnection) > 0)continue;
    VehicleInfo[v][veh_vid] = CreateVehicle(cache_get_field_content_int(i,"modelid",MYSQLConnection),cache_get_field_content_float(i,"posx",MYSQLConnection),cache_get_field_content_float(i,"posy",MYSQLConnection),cache_get_field_content_float(i,"posz",MYSQLConnection),cache_get_field_content_float(i,"posr",MYSQLConnection),cache_get_field_content_int(i,"color1",MYSQLConnection),cache_get_field_content_int(i,"color2",MYSQLConnection),-1);
    cache_get_field_content(i,"kennzeichen",plate,MYSQLConnection,sizeof(plate));
    format(VehicleInfo[v][veh_kennzeichen],128,"%s",plate);
    SetVehicleNumberPlate(v,VehicleInfo[v][veh_kennzeichen]);
    VehicleInfo[v][Tank] = cache_get_field_content_int(i,"tank",MYSQLConnection);
    VehicleInfo[v][KMStand] = cache_get_field_content_int(i,"standkm",MYSQLConnection);
    VehicleInfo[v][MStand] = cache_get_field_content_int(i,"standm",MYSQLConnection);
    VehicleInfo[v][Inhaber] = cache_get_field_content_int(i,"besitzer",MYSQLConnection);
    VehicleInfo[v][Neonlicht] = cache_get_field_content_int(i,"neonlicht",MYSQLConnection);
    VehicleInfo[v][veh_paintjob] = cache_get_field_content_int(i,"paintjobid",MYSQLConnection);
    VehicleInfo[v][veh_mysqlid] = cache_get_field_content_int(i,"id",MYSQLConnection);
    VehicleInfo[v][veh_color1] = cache_get_field_content_int(i,"color1",MYSQLConnection);
    VehicleInfo[v][veh_color2] = cache_get_field_content_int(i,"color2",MYSQLConnection);
    for(new p=0; p<14; p++)
    {
    format(string,sizeof(string),"component%i",p);
    AddVehicleComponent(VehicleInfo[v][veh_vid],cache_get_field_content_int(i,string,MYSQLConnection));
    QueryFinished(string);
    }
    SetVehicleToRespawn(v);
    printf("Fahrzeug erstellt: V %i",v);
    printf("Fahrzeug erstellt: Create ID %i",VehicleInfo[v][veh_vid]);
    }
    return 1;
    }

  • Die Fahrzeuge werden erstellt, alles wird geladen bis auf die addons..
    Die Prints kommen auch wunderbar jedes mal.


    stock LoadPlayerVehicles(playerid)
    {
    new Query[1024];
    format(Query,sizeof(Query),"SELECT * FROM fahrzeuge WHERE besitzer ='%i'",GetPVarInt(playerid,"MySQLID"));
    mysql_tquery(MYSQLConnection,Query,"LoadPlayerVehiclesFromDB","i",playerid);
    return 1;
    }

  • Komisch.


    Gehe mal auf die Optionen der Spalte eines components, wenn du in der Struktur auf bearbeiten bei der Spalte klickst und schaue da ob das auf INT steht. Falls nicht, setze es auf INT.


    Mache gegebenenfalls ein Bild und poste es.

  • Hm, dann ist es wirklich interessant.
    Was macht denn eigentlich die "QueryFinished(string);" Funktion?


    Es kann ja dann eigentlich nur noch daran liegen.


    Ich weiß nicht was da drin steht, aber nimm es mal aus der Schleife raus und setze es drunter hin, klappt es dann?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Bist du morgen (bzw heute), also Sonntag um 15:30 zu Hause? Wenn ja, schick mir da mal deine TeamViewer Daten, dann muss ich mir das kurz anschauen.
    Normalerweise mache ich das nicht über TeamViewer, aber hier wüsste ich nicht, was ich dich noch fragen soll, das muss ich mir anschauen.

  • Ich hätte jetzt nochmal gesagt, dass wir Printen lassen ob beim Auslesen vielleicht etwas scheitert.
    for(new p=0; p<14; p++)
    {
    format(string,sizeof(string),"component%i",p);
    printf("Component: %s | VehID: %d | Component (DB): %d",string,v,cache_get_field_content_int(i,string,MYSQLConnection));
    AddVehicleComponent(VehicleInfo[v][veh_vid],cache_get_field_content_int(i,string,MYSQLConnection));
    QueryFinished(string);
    }

  • Komischerweise kommt folgendes wenn ich das von DJDeagle befolge:


    Component: component0 | VehID: 3 | Component (DB): 1138
    Component: component1 | VehID: 3 | Component (DB): 0
    Component: component2 | VehID: 3 | Component (DB): 1033
    Component: component3 | VehID: 3 | Component (DB): 1026
    Component: component4 | VehID: 3 | Component (DB): 0
    Component: component5 | VehID: 3 | Component (DB): 1010
    Component: component6 | VehID: 3 | Component (DB): 1029
    Component: component7 | VehID: 3 | Component (DB): 1079
    Component: component8 | VehID: 3 | Component (DB): 0
    Component: component9 | VehID: 3 | Component (DB): 1087
    Component: component10 | VehID: 3 | Component (DB): 1169
    Component: component11 | VehID: 3 | Component (DB): 1140
    Component: component12 | VehID: 3 | Component (DB): 0
    Component: component13 | VehID: 3 | Component (DB): 0
    Fahrzeug erstellt: V 3
    Fahrzeug erstellt: Create ID 3


    WTF?