Problem beim Laden der Autos

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
  • Guten Abend,
    da ich nun auch hierhergefunden habe und angefangen habe, mich mit der samp.api zu beschäftigen, wollte ich nun einen einfaches Carsystem erstellen.


    Die Autos kann ich erstellen und speichern, jedoch nicht laden.
    Momentan habe ich folgenden Code.
    stock LoadPlayerCars()
    {


    mysql_query_callback(1, "SELECT * FROM cars", "OnPlayerCarsLoaded");
    }
    forward OnPlayerCarsLoaded();
    public OnPlayerCarsLoaded()
    {
    new
    idx,
    result[256],
    query[128];
    new downer,dplate,Float:sx,Float:sy,Float:sz,model,colo1,colo2,dprice,dcar,iD,Float:sr;
    format(result, 128, "SELECT * FROM `cars` WHERE `ID` = '%d'", id);
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(result, "|"))
    {
    sscanf(result, "e<p<|>{i}is[16]s[24]ffffiiii>",iD,downer,dplate,sx,sy,sz,sr,model,colo1,colo2,dprice);
    Playercar[idx][owner] = downer;
    Playercar[idx][plate] = dplate;
    Playercar[idx][spawnx] = sx;
    Playercar[idx][spawny] = sy;
    Playercar[idx][spawnz] = sz;
    Playercar[idx][spawnr] = sr;
    Playercar[idx][modelid] = model;
    Playercar[idx][c1] = colo1;
    Playercar[idx][c2] = colo2;
    Playercar[idx][price] = dprice;
    Playercar[idx][car] = AddStaticVehicleEx(Playercar[idx][modelid],Playercar[idx][spawnx],Playercar[idx][spawny],Playercar[idx][spawnz],Playercar[idx] [spawnr],Playercar[idx][c1],Playercar[idx][c2],60);
    idx++;
    }
    printf(" ||CAR: %s %i %f %f %f %f %i %i %i", downer,modelid,sx,sy,sz,sr,colo1,colo2,price);
    mysql_free_result();
    printf("[code=sql] Succesful. %i ausgelesen", idx); //
    return 1;
    }


    Da ich noch nicht viel erfahrung mit der api habe, finde ich den Fehler nicht.
    Er printet mir ||CAR: 49 0.000000 0.000000 0.000000 0.000000 0 0 52.
    Wo liegt da mein Fehler?

  • Output:
    6|Manniac.[257]|1962.16|1359.36|8.98489|7.00656|411|49|50||0


    Die Daten stimmen. Bis auf die letzten 3, was jedoch an einem fehlerhaften Include führt und momentan irrelevant ist


    #e
    Kann es auch sein, dass ich da irgendwas mit mysql gewaltig durcheinander bringe?

  • sscanf(result, "<p<|>is[16]ffffiiii>",iD,downer,sx,sy,sz,sr,model,colo1,colo2,dplate,dprice);
    Versuch es mal so, das würde mit der Ausgabe von "result" übereinstimmen.


    Falls es nicht tut, bitte die beiden prints angeben.



    EDIT: Goldkiller: (Post unter mir) Danke für den Hinweis, hatte ich übersehen.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • [21:32:59] sscanf warning: Format specifier does not match parameter count.
    [21:32:59] sscanf warning: Format specifier does not match parameter count.
    [21:32:59] sscanf warning: Format specifier does not match parameter count.
    [21:32:59] ||CAR: 257] 49 0.000000 0.000000 0.000000 0.000000 110 110 52
    [21:32:59] [code=sql] Succesful. 3 ausgelesen


    Scheint irgendwas nicht richtig zu sein

  • Dankeschön. Funktioniert nun, musste vorher jedoch noch einen kleinen Fehler beheben


    sscanf(result, "p<|>is[16]ffffiiis[20]i",iD,downer,sx,sy,sz,sr,model,colo1,colo2,dplate,dprice);
    anstatt
    sscanf(result, "p<|>is[16]ffffiiii",iD,downer,sx,sy,sz,sr,model,colo1,colo2,dplate,dprice);


    Kann nun geschlossen werden - es seidenn, jemand will noch etwas anmerken


    MFG