Fraktionsfahrzeuge werden nicht geladen...[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
  • Hallo Brotfische,


    Meine Fraktionsfahrzeuge werden in der Datenbank gespeichert aber nicht geladen.


    Codes:


    forward OnFrakCarsLoad();


    //Unter OngameModeInit --> loadFrakCars();



    loadFrakCars()
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM `frakcars`");
    mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","");
    return 1;
    }


    public OnFrakCarsLoad()
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    new id=getFreeFrakCarID();
    FrakCars[id][f_ModelID]=cache_get_field_content_int(i,"modelid",dbhandle);
    FrakCars[id][FraktionsID]=cache_get_field_content_int(i,"fraktion",dbhandle);
    FrakCars[id][f_x]=cache_get_field_content_float(i,"PosX",dbhandle);
    FrakCars[id][f_y]=cache_get_field_content_float(i,"PosY",dbhandle);
    FrakCars[id][f_z]=cache_get_field_content_float(i,"PosZ",dbhandle);
    FrakCars[id][f_r]=cache_get_field_content_float(i,"PosR",dbhandle);
    FrakCars[id][db_ID]=cache_get_field_content_int(i,"id",dbhandle);
    FrakCars[id][id_x]=CreateVehicle(FrakCars[id][f_ModelID],FrakCars[id][f_x],FrakCars[id][f_y],FrakCars[id][f_z],FrakCars[id][f_r],FrakCars[id][f_color1],FrakCars[id][f_color2],-1);
    tank[FrakCars[id][id_x]]=100;
    }
    return 1;
    }


    getFreeFrakCarID()
    {
    for(new i=0; i<sizeof(FrakCars); i++)
    {
    if(FrakCars[i][id_x]==0)return i;
    }
    return 0;
    }



    Bild der Datenbank:


    http://www.imgbox.de/show/img/VCzLD24qF4.JPG



    http://www.imgbox.de/show/img/D6N1JSBJv3.JPG





    Ich hoffe es kann mir jemand helfen :D


    MFG German_ScripterHD



    .


    Mit freundlichen Grüßen
    German_ScripterHD

  • Schreib es mal so:


    public OnFrakCarsLoad()
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(!num_rows)return 1;
    new i=1;
    while(i<num_rows;)
    {
    new id=getFreeFrakCarID();
    FrakCars[id][f_ModelID]=cache_get_field_content_int(i,"modelid",dbhandle);
    FrakCars[id][FraktionsID]=cache_get_field_content_int(i,"fraktion",dbhandle);
    FrakCars[id][f_x]=cache_get_field_content_float(i,"PosX",dbhandle);
    FrakCars[id][f_y]=cache_get_field_content_float(i,"PosY",dbhandle);
    FrakCars[id][f_z]=cache_get_field_content_float(i,"PosZ",dbhandle);
    FrakCars[id][f_r]=cache_get_field_content_float(i,"PosR",dbhandle);
    FrakCars[id][db_ID]=cache_get_field_content_int(i,"id",dbhandle);
    FrakCars[id][id_x]=CreateVehicle(FrakCars[id][f_ModelID],FrakCars[id][f_x],FrakCars[id][f_y],FrakCars[id][f_z],FrakCars[id][f_r],FrakCars[id][f_color1],FrakCars[id][f_color2],-1);
    tank[FrakCars[id][id_x]]=100;
    i++;
    }
    return 1;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • Ich sehe nirgends wo die Color 1 und Color 2 aus der DB ausgelesen wird. Ich denke da keine Farbe angegeben ist kommt ein Synatxerror und dadurch wird kein Fahrzeug erstellt.
    Lies die Color aus oder probiere diese Variablen einfach mal mit 0 zu ersetzten.
    Desweiteren musst du FrakCars[i] statt FrakCars[id] machen


    MfG ShuT
    ~Energetic Roleplay

  • Hier liegt der Fehler:



    loadFrakCars()
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM `frakcars`");
    mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","");
    return 1;
    }


    Du musst in der mysql_function_query auch schon das richtige Public ansprechen :)

  • Wie schon gesagt sprichst du den falschen Public an.
    Ich würde dir empfehlen mit sscanf zu arbeiten.
    Es ist erstens schneller und leichter (Meiner Meinung nach)
    Solltest du Hilfe brauchen melde dich einfach nochmal..