Was habe ich hier falsch gemacht ?

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
  • Den extra parameter bei LoadFrakVehicle brauchst du nicht ist ja unnötig .


    Zu dem es ist klar das nix erstellt wurde du willst die Fahrzeuge über OnGameModeExit laden und OnGameModeExit wird aufgerufen wenn der Gamemode beendet wird(durch eingabe von gmx,exit oder changemode in die Konsole).
    Daher solltest du das auch unter OnGameModeInit packen.


  • Ich lade die Fahrzeuge doch nicht über OnGameModeExit ? Sie werden da nur gespeichert ?(


    Da hab ich mich kurzerhand verlesen aber Load_Frak_Vehicle() befindet sich schon unter OnGameModeInit und wird somit aufgerufen
    zu dem ist das formatieren sinnlos in der funktion Load_Frak_Vehicle genau wie schon erwähnt das verwenden eines argumentes bei der funktion LoadFrakVehicle


    mysql_function_query(dbhandle, "SELECT * FROM frakveh", true, "LoadFrakVehicle", "");

  • Am besten ist wenn du den debug modus anschaltest und die mysql_log postest
    also unter OnGameModeInit ganz oben
    mysql_log(LOG_DEBUG,LOG_TYPE_TEXT);


    Zu dem benutzt du mehrer Verbindungshandler ?
    Du baust die Verbindung als erstes auf bevor du ihrgend was lädst?
    Sowas wäre völliger bullshit :


    Load_Frak_Vehicle();
    con_Handle = mysql_connect(HOST, USER, DATABASE, PASSWORD, PORT);


    Was du ausschließen kannst ist das Query an sich auch wenn du keine backtricks benutzt bei den spaltennamen. Da frakveh kein Schlüsselwort ist.

  • mehr steht nicht drinne normal ist das auch vermerkt wenn ein Query Ausgeführt wird und welches Callback dazu aufgerufen wird.
    Daher kann ich dir immer noch nicht sagen wo der Fehler liegt normal sollte es funktionieren.
    Beispiel:



    [16:36:55] [DEBUG] mysql_tquery - scheduling query "SELECT * FROM `fractions`"..
    [16:36:55] [DEBUG] CMySQLQuery::Execute[()] - query was successful
    [16:36:55] [DEBUG] CMySQLQuery::Execute[()] - no callback specified, skipping result saving
    [16:36:55] [DEBUG] CMySQLQuery::Execute[@Load_Fraction_DATA()] - starting query execution
    [16:36:55] [DEBUG] CMySQLQuery::Execute[@Load_Fraction_DATA()] - query was successful
    [16:36:55] [DEBUG] CMySQLQuery::Execute[@Load_Fraction_DATA()] - data being passed to ProcessCallbacks()
    [16:36:55] [DEBUG] Calling callback "@Load_Fraction_DATA"..

  • Der mysql_log nach wird Load_Frak_Vehicle() gar nicht ausgefuehrt und GameModeExit() wird ohne bestehende Verbindung (ich sehe kein CMySQLHandle::Create vor den mysql_tquerys) zum MySQL Server aufgerufen. Die Verbindung zum MySQL Server wird erst nachdem Save_Frak_Vehicle() abgearbeitet wurde initialisiert.
    Zumindest, sofern man der Log Datei glauben schenken darf.
    Wo wird denn Load_Frak_Vehicle() aufgerufen und wo wird die MySQL Verbindung initialisiert? Beides in OnGameModeInit()?