Mal wieder - MySQL

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,
    habe mal wieder nen Problem mit MySQL.


    Hier findet ihr ne Beschreibung des Problems, sowie den Code.




    Datenbank:



    Hoffe auf Hilfe.


    LG

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

    Einmal editiert, zuletzt von ElDiabolo ()

  • Steigst du durch deinen Code durch? Ich tus ohne Kommentare ja nicht :D Wenn ichs richtig lese legst du ein Array an, in dem alle Spalten deiner Datenbank eingetragen werden. Was macht die Variable vStatus und was ist die vOwnerID?


    Bist du sicher, dass alles korrekt im Array gespeichert wird? Gibt sizeof(VehicleData) Zeile 71 im Pastebin Post evtl 3 zurück? Bitte mal überprüfen ;)

  • vStatus = Kaufstatus (Player, Firma etc)
    vOwnerID sagt alles selbst.^^
    array schau ich dann mal

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • Auf Anfrage in PM:


    Zu dem Problem mit den drei Autos:
    VehicleData[id][vID] = SetVehicleNumberPlate(CreateVehicle(modelid, x, y, z, r, colorid1, colorid2, -1), kennzeichen);
    das ist falsch so. (Das Gleiche bei SpawnPlayerVehicles).


    So ist es richtig:
    VehicleData[id][vID] = CreateVehicle(modelid, x, y, z, r, colorid1, colorid2, -1);
    SetVehicleNumberPlate(VehicleData[id][vID], kennzeichen);


    Warum? SetVehicleNumberPlate gibt nur 1 oder 0 zurück.



    Dann teste es nochmal.
    Wenn noch Probleme da sind, dann füge bitte zu deinem Code mehr prints dazu und füre die jeweiligen Schritte aus. Dann postest du den Log hier und beschreibst zu den Log Abschnitten was du jeweils ingame gemacht hast.
    Der MySQL Log wäre dazu auch sinnvoll.

  • Jetzt klappt es, dass die Fahrzeuge spawnen und gelöscht werden. Allerdings nur die, die schon in den Arrays sind, weil sie gespawnt wurden. Die, die vor dem Restart da waren, werden nicht geladen. Also funktioniert OnGameModeInit wohl nicht.

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • Wenn noch Probleme da sind, dann füge bitte zu deinem Code mehr prints dazu und füre die jeweiligen Schritte aus. Dann postest du den Log hier und beschreibst zu den Log Abschnitten was du jeweils ingame gemacht hast.
    Der MySQL Log wäre dazu auch sinnvoll.


    ^ für OnGameModeInit.
    Code dann bitte auch dazu posten, damit wir die prints nachvollziehen können.

  • Hab den Pastebin Code geupdated.



    Wenn man den GameMode ausführt, printet er nur "[19:22:47] [START] Fahrzeuge geladen.".
    Wüsste nicht, was ich da printen könnte.

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • public OnGameModeInit()
    {
    print("Start");
    new vi, vResult[200];
    mysql_query("SELECT * FROM `vehicles`;");
    mysql_store_result();
    print("Stored");
    while(mysql_fetch_row_format(vResult))
    {
    printf("ID: %d", vi);
    print(vResult);
    sscanf(vResult,"p<|>e<iiiiiffffiiiiiiiiiiiiiiiiiis[50]>",VehicleData[vi]);
    ++vi;
    }
    mysql_free_result();
    print("[START] Fahrzeuge geladen.");
    return 1;
    }


    Dann poste was im server_log steht.
    Mach den MySQL-Debug-Modus auch an.

  • Code
    [19:42:53] Start
    [19:42:53] Stored
    [19:42:53] ID: 0
    [19:42:53] 30|0|400|1|1|-1746.1|947.8|24.9|24.9|0|0|14|18|0|0|0|0|0|0|0|0|0|0|0|0|0|0|Swagkarre
    [19:42:53] ID: 1
    [19:42:53] 31|1|400|1|1|-1786.6|958.7|24.9|24.9|1|0|14|18|0|0|0|0|0|0|0|0|0|0|0|0|0|0|Swagkarre
    [19:42:53] [START] Fahrzeuge geladen.



    Koordinaten et cetera sind also richtig. Scheint nur nicht übergeben zu werden?

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • enum eVehicles{
    veID,
    vID,
    vStatus,
    vModel,
    vOwnerID,
    Float:vX,
    Float:vY,
    Float:vZ,
    Float:vR,
    vEngine,
    vLights,
    vColor1,
    vColor2,
    vSlot0,
    vSlot1,
    vSlot2,
    vSlot3,
    vSlot4,
    vSlot5,
    vSlot6,
    vSlot7,
    vSlot8,
    vSlot9,
    vSlot10,
    vSlot11,
    vSlot12,
    vSlot13,
    vKennzeichen[50]
    };


    zu:
    enum eVehicles{
    veID,
    vID,
    vModel, //getauscht
    vStatus, //getauscht
    vOwnerID,
    Float:vX,
    Float:vY,
    Float:vZ,
    Float:vR,
    vEngine,
    vLights,
    vColor1,
    vColor2,
    vSlot0,
    vSlot1,
    vSlot2,
    vSlot3,
    vSlot4,
    vSlot5,
    vSlot6,
    vSlot7,
    vSlot8,
    vSlot9,
    vSlot10,
    vSlot11,
    vSlot12,
    vSlot13,
    vKennzeichen[50]
    };


    Die Reihenfolge sollte gleich sein wie in der Datenbank, wenn du es direkt ins enum speicherst.