OnGameModeInit und MySQL Problem

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
  • Hallo


    Also ich habe seit heute morgen ein Problem. Der Server startet, aber die Einstellungen, welche ich bei OnGameModeInti gesetzt habe (Man sieht sich auf der Map nicht, Limited Radius für Gespräche), werden nicht geladen. Ich habe vorhin einen Code, um was aus der MySQL Tabelle zu laden. Nun habe ich dort womöglich einen Fehler. Wenn ich LoadVehicles im Ladecode unter OnGameModeInit ausklammere geht alles, von dem her liegt dort das Problem.


    OnGameModeInit-Code:


    mysql_init(LOG_ALL);
    mysql_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
    //Fahrzeugsystem für den Server
    for(new Carid=0; Carid<1000; Carid++)
    {
    format(query, sizeof(query), "SELECT * FROM `Vehicles` WHERE CarID = '%d';",Carid);
    mysql_query(query);
    mysql_store_result();
    // LoadVehicle(Carid);
    mysql_free_result();
    }


    LoadVehicles-Code:


    LoadVehicle(Carid)
    {
    new data[256];
    format(query, sizeof(query), "SELECT * FROM `Vehicles` WHERE CarID = '%d';",Carid);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows() > 0)
    {
    mysql_fetch_field("CarID",data);
    VehicleSystem[Carid][CarID]=strval(data);
    mysql_fetch_field("Model",data);
    VehicleSystem[Carid][Model]=strval(data);
    mysql_fetch_field("Locked",data);
    VehicleSystem[Carid][Locked]=strval(data);
    mysql_fetch_field("CFrak",data);
    VehicleSystem[Carid][Fraktion]=strval(data);
    mysql_fetch_field("CJob",data);
    VehicleSystem[Carid][Beruf]=strval(data);
    mysql_fetch_field("CNoob",data);
    VehicleSystem[Carid][Noob]=strval(data);
    mysql_fetch_field("CVer",data);
    VehicleSystem[Carid][Verwahrt]=strval(data);
    mysql_fetch_field("CTun",data);
    VehicleSystem[Carid][Tunebar]=strval(data);
    mysql_fetch_field("CarX",data);
    VehicleSystem[Carid][Carx]=strval(data);
    mysql_fetch_field("CarY",data);
    VehicleSystem[Carid][Cary]=strval(data);
    mysql_fetch_field("CarZ",data);
    VehicleSystem[Carid][Carz]=strval(data);
    mysql_fetch_field("CarA",data);
    VehicleSystem[Carid][Cara]=strval(data);
    mysql_fetch_field("AdacX",data);
    VehicleSystem[Carid][Adacx]=strval(data);
    mysql_fetch_field("AdacY",data);
    VehicleSystem[Carid][Adacy]=strval(data);
    mysql_fetch_field("AdacZ",data);
    VehicleSystem[Carid][Adacz]=strval(data);
    mysql_fetch_field("AdacA",data);
    VehicleSystem[Carid][Adaca]=strval(data);
    mysql_fetch_field("Color1",data);
    VehicleSystem[Carid][Color1]=strval(data);
    mysql_fetch_field("Color2",data);
    VehicleSystem[Carid][Color2]=strval(data);
    mysql_fetch_field("Price",data);
    VehicleSystem[Carid][Price]=strval(data);
    mysql_fetch_field("Sell",data);
    VehicleSystem[Carid][Sell]=strval(data);
    mysql_fetch_field("Owner",data);
    strmid(VehicleSystem[Carid][Owner],data,0,20,20);
    mysql_fetch_field("PJ",data);
    VehicleSystem[Carid][Pj]=strval(data);
    mysql_fetch_field("T0",data);
    VehicleSystem[Carid][Tt0]=strval(data);
    mysql_fetch_field("T1",data);
    VehicleSystem[Carid][Tt1]=strval(data);
    mysql_fetch_field("T2",data);
    VehicleSystem[Carid][Tt2]=strval(data);
    mysql_fetch_field("T3",data);
    VehicleSystem[Carid][Tt3]=strval(data);
    mysql_fetch_field("T4",data);
    VehicleSystem[Carid][Tt4]=strval(data);
    mysql_fetch_field("T5",data);
    VehicleSystem[Carid][Tt5]=strval(data);
    mysql_fetch_field("T6",data);
    VehicleSystem[Carid][Tt6]=strval(data);
    mysql_fetch_field("T7",data);
    VehicleSystem[Carid][Tt7]=strval(data);
    mysql_fetch_field("T8",data);
    VehicleSystem[Carid][Tt8]=strval(data);
    mysql_fetch_field("T9",data);
    VehicleSystem[Carid][Tt9]=strval(data);
    mysql_fetch_field("T10",data);
    VehicleSystem[Carid][Tt10]=strval(data);
    mysql_fetch_field("T11",data);
    VehicleSystem[Carid][Tt11]=strval(data);
    mysql_fetch_field("T12",data);
    VehicleSystem[Carid][Tt12]=strval(data);
    mysql_fetch_field("T13",data);
    VehicleSystem[Carid][Tt13]=strval(data);
    new carr = CreateVehicle(VehicleSystem[Carid][Model],VehicleSystem[Carid][Carx],VehicleSystem[Carid][Cary],VehicleSystem[Carid][Carz]+1,VehicleSystem[Carid][Cara],VehicleSystem[Carid][Color1],VehicleSystem[Carid][Color2],600000);
    IsBuyableCar[carr]=Carid;
    SetVehicleTuning(carr);
    AutoCounter ++;
    }
    mysql_free_result();
    return 1;
    }


    Wäre um Hilfe sehr froh, da es momentan auf dem Server keine Fahrzeuge gibt ;)
    MfG dUDALUS

  • Hast du das VehicleSystem selbst gemacht? Oder ist das schon was fertiges?


    Probier einfach mal anstatt:
    for(new Carid=0; Carid<1000; Carid++) { format(query, sizeof(query), "SELECT * FROM `Vehicles` WHERE CarID = '%d';",Carid); mysql_query(query); mysql_store_result(); //LoadVehicle(Carid); mysql_free_result(); }


    Nur LoadVehicle() und das public dann natürlich auch ohne carid.!
    So runt er 1000 mal dieses Public, klar dass er crasht!

  • Probiers so wie ichs gesagt habe^^
    In deinem Public lädst du alles nochmal neu über eine Variable , wobei die carid schon definiert ist

  • Hallo


    Habe es mal so,der Server startet und geht dann offline (In der Log steht davon nichts). Bei OnGameModeInit wird jetzt nur einmal LoadVehicle(); aufgerufen.


    LoadVehicle()
    {
    new data[256];
    for(new Carid; Carid<1000; Carid++)
    {
    format(query, sizeof(query), "SELECT * FROM `Vehicles` WHERE CarID = '%d';",Carid);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows() > 0)
    {
    mysql_fetch_field("CarID",data);
    VehicleSystem[Carid][CarID]=strval(data);
    mysql_fetch_field("Model",data);
    VehicleSystem[Carid][Model]=strval(data);
    mysql_fetch_field("Locked",data);
    VehicleSystem[Carid][Locked]=strval(data);
    mysql_fetch_field("CFrak",data);
    VehicleSystem[Carid][Fraktion]=strval(data);
    mysql_fetch_field("CJob",data);
    VehicleSystem[Carid][Beruf]=strval(data);
    mysql_fetch_field("CNoob",data);
    VehicleSystem[Carid][Noob]=strval(data);
    mysql_fetch_field("CVer",data);
    VehicleSystem[Carid][Verwahrt]=strval(data);
    mysql_fetch_field("CTun",data);
    VehicleSystem[Carid][Tunebar]=strval(data);
    mysql_fetch_field("CarX",data);
    VehicleSystem[Carid][Carx]=strval(data);
    mysql_fetch_field("CarY",data);
    VehicleSystem[Carid][Cary]=strval(data);
    mysql_fetch_field("CarZ",data);
    VehicleSystem[Carid][Carz]=strval(data);
    mysql_fetch_field("CarA",data);
    VehicleSystem[Carid][Cara]=strval(data);
    mysql_fetch_field("AdacX",data);
    VehicleSystem[Carid][Adacx]=strval(data);
    mysql_fetch_field("AdacY",data);
    VehicleSystem[Carid][Adacy]=strval(data);
    mysql_fetch_field("AdacZ",data);
    VehicleSystem[Carid][Adacz]=strval(data);
    mysql_fetch_field("AdacA",data);
    VehicleSystem[Carid][Adaca]=strval(data);
    mysql_fetch_field("Color1",data);
    VehicleSystem[Carid][Color1]=strval(data);
    mysql_fetch_field("Color2",data);
    VehicleSystem[Carid][Color2]=strval(data);
    mysql_fetch_field("Price",data);
    VehicleSystem[Carid][Price]=strval(data);
    mysql_fetch_field("Sell",data);
    VehicleSystem[Carid][Sell]=strval(data);
    mysql_fetch_field("Owner",data);
    strmid(VehicleSystem[Carid][Owner],data,0,20,20);
    mysql_fetch_field("PJ",data);
    VehicleSystem[Carid][Pj]=strval(data);
    mysql_fetch_field("T0",data);
    VehicleSystem[Carid][Tt0]=strval(data);
    mysql_fetch_field("T1",data);
    VehicleSystem[Carid][Tt1]=strval(data);
    mysql_fetch_field("T2",data);
    VehicleSystem[Carid][Tt2]=strval(data);
    mysql_fetch_field("T3",data);
    VehicleSystem[Carid][Tt3]=strval(data);
    mysql_fetch_field("T4",data);
    VehicleSystem[Carid][Tt4]=strval(data);
    mysql_fetch_field("T5",data);
    VehicleSystem[Carid][Tt5]=strval(data);
    mysql_fetch_field("T6",data);
    VehicleSystem[Carid][Tt6]=strval(data);
    mysql_fetch_field("T7",data);
    VehicleSystem[Carid][Tt7]=strval(data);
    mysql_fetch_field("T8",data);
    VehicleSystem[Carid][Tt8]=strval(data);
    mysql_fetch_field("T9",data);
    VehicleSystem[Carid][Tt9]=strval(data);
    mysql_fetch_field("T10",data);
    VehicleSystem[Carid][Tt10]=strval(data);
    mysql_fetch_field("T11",data);
    VehicleSystem[Carid][Tt11]=strval(data);
    mysql_fetch_field("T12",data);
    VehicleSystem[Carid][Tt12]=strval(data);
    mysql_fetch_field("T13",data);
    VehicleSystem[Carid][Tt13]=strval(data);
    new carr = CreateVehicle(VehicleSystem[Carid][Model],VehicleSystem[Carid][Carx],VehicleSystem[Carid][Cary],VehicleSystem[Carid][Carz]+1,VehicleSystem[Carid][Cara],VehicleSystem[Carid][Color1],VehicleSystem[Carid][Color2],600000);
    IsBuyableCar[carr]=Carid;
    SetVehicleTuning(carr);
    AutoCounter ++;
    }
    mysql_free_result();
    }
    return 1;
    }

  • Hallo


    Also hab den Fehler gefunden, jedoch heisst der Server jetzt wieder "Unknown", also irgendetwas schneidet sich. Ich weiss nicht, aber gestern ging alles. Die MySQL-Include hat meines Wissens nach ein Split drinnen, in meinem Gamemod hab ich auch eines, jedoch war das bisher nie ein Problem. LoadVehicle bricht die weitere Ausführung von OnGameModeInit also irgendwie ab.Deaktivere mal alles, was ich nicht brauche.


    MfG dUDA


    //Edit
    Es liegt definitiv am Publiccode von LoadVehicle. Jetzt ist nur die Frage, wo der Hund begraben liegt.