Verbinden Dauert Länger

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 ich habe Mir mein Fraktionscar System Auf MYSQL Umgeschrieben und seit dem braucht er Länger.
    Ich versuch es zu erklären :D
    Wen ich auf samp-server.exe Klicke braucht er Länger wie Gewöhnlich(Er Benötigt Ca 10Sekunden eh er Fertig verbunden ist)
    wen ich Fraktionscarsladen(fraktionscars);Aus OnGameModInet nehme Läd er wider Normal wie er es soll.
    Hier mal die Funktion

    public Fraktionscarsladen(fraktionscars)
    {
    new fc,string[16];
    while(fc<MAX_FRAK_CARS)
    {
    format(string, sizeof(string),"%d",fc);
    fc++;
    frakcar[fraktionscars][Ffarbe2] = mysql_GetInt("Fraktionscars", "farbe2", "id",string);//Farbe2 auslesen
    frakcar[fraktionscars][Ffarbe1] = mysql_GetInt("Fraktionscars", "farbe1","id",string);//Farbe1 auslesen
    frakcar[fraktionscars][Ffarbe1] = mysql_GetInt("Fraktionscars", "FraktionscarModell", "id",string);//Modell auslesen
    frakcar[fraktionscars][fcar_x] = mysql_GetFloat("Fraktionscars", "FraktionsCar_X", "id",string);//FraktionsCar_X auslesen
    frakcar[fraktionscars][fcar_y] = mysql_GetFloat("Fraktionscars", "FraktionsCar_Y", "id",string);//FraktionsCar_Y auslesen
    frakcar[fraktionscars][fcar_z] = mysql_GetFloat("Fraktionscars", "FraktionsCar_Z", "id",string);//FraktionsCar_Z auslesen
    frakcar[fraktionscars][Modell] = mysql_GetInt("Fraktionscars"," FraktionscarModell", "id",string);
    frakcar[fraktionscars][FraktionsCar_ID] = AddStaticVehicleEx(frakcar[fraktionscars][Modell],frakcar[fraktionscars][fcar_x],frakcar[fraktionscars][fcar_y] ,frakcar[fraktionscars][fcar_z] ,frakcar[fraktionscars][fcar_f] ,frakcar[fraktionscars][Ffarbe1] ,frakcar[fraktionscars][Ffarbe2],20000);
    frakcar[fraktionscars][fcar_fraktionsid] = mysql_GetInt("Fraktionscars"," FraktionsID", "id",string);
    }
    printf("Es wurden %d Fraktionscar Geladen",fc);
    return 1;
    }
    Kann mir da wer sagen an was das Liegen tut?
    wen ich in der Falschen Sektion bin Bitte ich darum das es verschoben wirt
    lg Kifkat

  • Sniper:
    Richtig ;)


    mysql_fetch_row etc wäre da um einiges schneller da du nur einen query bzw eine abfrage zur db sendest

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Wenn die Datenbank für jede Variable ne neue abfrage bekommt und sich bearbeiten muss dauert es um einiges länger es ist möglich alle fahrzeuge mit einem mysql query zu laden, mann muss nur mit mysql umgehen können.


    edit: hier ein kleinen Code schnippsel wie es bei mir aussieht:
    stock DTDH_LoadInterriors()
    {
    new arrCoords[9][60];
    new strFromFile2[256];
    format(sql,sizeof(sql),"SELECT * FROM `dtdh_Interrios`");
    mysql_query(sql);
    mysql_store_result();
    for(new i=0; i<MAX_INTCATS;i++)
    {
    dtdh_Interriors[i][iSqlId] = 0;
    dtdh_Interriors[i][iAk] = 0;
    }
    if(mysql_num_rows() != 0)
    {
    new idx = 0;
    while(mysql_fetch_row2(strFromFile2,",") && idx < MAX_INTS)
    {
    Dtdh_split(strFromFile2, arrCoords, ',');
    dtdh_Interriors[idx][iSqlId] = strval(arrCoords[0]);
    dtdh_Interriors[idx][iPosX] = floatstr(arrCoords[1]);
    dtdh_Interriors[idx][iPosY] = floatstr(arrCoords[2]);
    dtdh_Interriors[idx][iPosZ] = floatstr(arrCoords[3]);
    dtdh_Interriors[idx][iRotZ] = floatstr(arrCoords[4]);
    format(dtdh_Interriors[idx][iName],60,"%s",arrCoords[5]);
    dtdh_Interriors[idx][iInt] = strval(arrCoords[6]);
    dtdh_Interriors[idx][iMieter] = strval(arrCoords[7]);
    dtdh_Interriors[idx][iCat] = strval(arrCoords[8]);
    dtdh_Interriors[idx][iAk] = 1;
    dtdh_Interriors[idx][iVW] = VW_BEGIN;
    printf("%d - %d %f %f %f %f \"%s\" %d %d %d",idx,dtdh_Interriors[idx][iSqlId],dtdh_Interriors[idx][iPosX],dtdh_Interriors[idx][iPosY],dtdh_Interriors[idx][iPosZ],dtdh_Interriors[idx][iRotZ],dtdh_Interriors[idx][iName],dtdh_Interriors[idx][iInt],dtdh_Interriors[idx][iMieter],dtdh_Interriors[idx][iCat]);
    idx ++;
    }
    }
    mysql_free_result();
    }


    Ich weise darauf hin dass c&p wohl nicht so leicht funktionieren wird.


    edit: 2pwn bbc

  • Ich mach das eig immer so:


    format(query,45,"SELECT * FROM Hauser WHERE ID = '%d'",hID);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    mysql_fetch_field("Besitzer",Haus[hID][Besitzer]);
    mysql_fetch_field("HausName",Haus[hID][Name]);
    mysql_fetch_field("Gekauft",data);
    Haus[hID][Gekauft] = bool:strval(data);
    mysql_fetch_field("Abgeschlossen",data);
    Haus[hID][Abgeschlossen] = bool:strval(data);
    mysql_fetch_field("Mietbar",data);
    Haus[hID][Mietbar] = bool:strval(data);
    mysql_fetch_field("AußenPosX",data);
    Haus[hID][Pos][0] = floatstr(data);
    mysql_fetch_field("AußenPosY",data);
    Haus[hID][Pos][1] = floatstr(data);
    mysql_fetch_field("AußenPosZ",data);
    Haus[hID][Pos][2] = floatstr(data);
    mysql_fetch_field("InnenPosX",data);
    Haus[hID][Pos][3] = floatstr(data);
    mysql_fetch_field("InnenPosY",data);
    Haus[hID][Pos][4] = floatstr(data);
    mysql_fetch_field("InnenPosZ",data);
    Haus[hID][Pos][5] = floatstr(data);
    mysql_fetch_field("Interior",data);
    Haus[hID][Int] = strval(data);
    mysql_fetch_field("VirtualWorld",data);
    Haus[hID][VirtualWorld] = strval(data);
    mysql_fetch_field("Preis",data);
    Haus[hID][hPreis] = strval(data);
    mysql_fetch_field("Miete",data);
    Haus[hID][Miete] = strval(data);

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • die Von BlackAce schaut ihren wie einfacher aus aba Ich erhalte errors


    pod.pwn(10321) : error 035: argument type mismatch (argument 1)
    pod.pwn(10322) : error 035: argument type mismatch (argument 1)
    pod.pwn(10323) : error 035: argument type mismatch (argument 1)
    pod.pwn(10324) : error 035: argument type mismatch (argument 1)
    pod.pwn(10325) : error 035: argument type mismatch (argument 1)
    pod.pwn(10326) : error 035: argument type mismatch (argument 1)
    pod.pwn(10327) : error 035: argument type mismatch (argument 1)
    in den Zeilen
    mysql_fetch_field("farbe1",frakcar[fraktionscars][Ffarbe1]);
    mysql_fetch_field("farbe2",frakcar[fraktionscars][Ffarbe2]);
    mysql_fetch_field("FraktionsID",frakcar[fraktionscars][fcar_fraktionsid]);
    mysql_fetch_field("FraktionsCar_X",frakcar[fraktionscars][fcar_x]);
    mysql_fetch_field("FraktionsCar_Y",frakcar[fraktionscars][fcar_y]);
    mysql_fetch_field("FraktionsCar_Z",frakcar[fraktionscars][fcar_z]);
    mysql_fetch_field("FraktionsCar_A",frakcar[fraktionscars][fcar_f]);
    hier mal aus den Include
    mysql_fetch_field(number,dest[],connectionHandle = 1);
    was hab ich falsch gemacht?
    Kann mir da Vielleicht wer helfen?
    //Text

    Einmal editiert, zuletzt von Kevin B. ()

  • mysql fetch field gibts nur strings zurück, daher müssen diese wie bei emeiem code schnippsel in den jewligen variablentypen convertiert werden.
    edit: @ iorawr Dies ist nicht korrekt, der command mit dem index heisst anders.

  • mysql_fetch_field_row(,data,"farbe1");
    frakcar[fraktionscars][Ffarbe1] = strval(data);
    Hat schon nen grund warum ich das so gemacht hab ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ich hab es nun so
    stock Fraktionscarsladen(fraktionscars)
    {
    new query[128],data[128];
    format(query,128,"SELECT * FROM Fraktionscars WHERE id = '%d'",fraktionscars);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    mysql_fetch_field("farbe1",data);//hier Liegt der Fehler
    frakcar[fraktionscars][Ffarbe1] = strval(data);
    mysql_fetch_field("farbe2",data);//hier Liegt der Fehler
    frakcar[fraktionscars][Ffarbe2] = strval(data);
    mysql_fetch_field("FraktionsID",data);//hier Liegt der Fehler
    frakcar[fraktionscars][fcar_fraktionsid] = strval(data);
    mysql_fetch_field("FraktionsCar_X",data);//hier Liegt der Fehler
    frakcar[fraktionscars][fcar_x] = strval(data);
    mysql_fetch_field("FraktionsCar_Y",data);//hier Liegt der Fehler
    frakcar[fraktionscars][fcar_y] = strval(data);
    mysql_fetch_field("FraktionsCar_Z",data);//hier Liegt der Fehler
    frakcar[fraktionscars][fcar_z] = strval(data);
    mysql_fetch_field("FraktionsCar_A",data);//hier Liegt der Fehler
    frakcar[fraktionscars][fcar_f] = strval(data);
    }
    }
    pod.pwn(10321) : error 035: argument type mismatch (argument 1)
    pod.pwn(10323) : error 035: argument type mismatch (argument 1)
    pod.pwn(10325) : error 035: argument type mismatch (argument 1)
    pod.pwn(10327) : error 035: argument type mismatch (argument 1)
    pod.pwn(10329) : error 035: argument type mismatch (argument 1)
    pod.pwn(10331) : error 035: argument type mismatch (argument 1)
    pod.pwn(10333) : error 035: argument type mismatch (argument 1)
    kann mir da bitte noch mal wer helfen?
    //edit Fehler WO +Text

    Einmal editiert, zuletzt von Kevin B. ()

  • er Lädt die Ihren wie nicht
    stock Fraktionscarsladen(fraktionscars)
    {
    new query[128];
    format(query,128,"SELECT * FROM Fraktionscars WHERE id = '%d'",fraktionscars);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    new data[128];
    mysql_fetch_field_row("FraktionscarModell",data);
    frakcar[fraktionscars][Modell] = strval(data);
    mysql_fetch_field_row("farbe1",data);
    frakcar[fraktionscars][Ffarbe1] = strval(data);
    mysql_fetch_field_row("farbe2",data);
    frakcar[fraktionscars][Ffarbe2] = strval(data);
    mysql_fetch_field_row("FraktionsID",data);
    frakcar[fraktionscars][fcar_fraktionsid] = strval(data);
    mysql_fetch_field_row("FraktionsCar_X",data);
    frakcar[fraktionscars][fcar_x] = strval(data);
    mysql_fetch_field_row("FraktionsCar_Y",data);
    frakcar[fraktionscars][fcar_y] = strval(data);
    mysql_fetch_field_row("FraktionsCar_Z",data);
    frakcar[fraktionscars][fcar_z] = strval(data);
    mysql_fetch_field_row("FraktionsCar_A",data);
    frakcar[fraktionscars][fcar_f] = strval(data);
    frakcar[fraktionscars][FraktionsCar_ID] = AddStaticVehicleEx(frakcar[fraktionscars][Modell],frakcar[fraktionscars][fcar_x],frakcar[fraktionscars][fcar_y] ,frakcar[fraktionscars][fcar_z] ,frakcar[fraktionscars][fcar_f] ,frakcar[fraktionscars][Ffarbe1] ,frakcar[fraktionscars][Ffarbe2],20000);
    }
    mysql_free_result();
    }
    Unter OnGameModeInit
    new fraktionscarss = 0;
    for(new fraktionscars;fraktionscars<MAX_FRAK_CARS;fraktionscars++) if(Fraktionscarsladen(fraktionscars)) fraktionscarss++;
    printf("Es Wurden %i Fraktions Car gelade",fraktionscarss);
    Kann mir bite wer helfen
    //code
    //code verbessert Schleife

    2 Mal editiert, zuletzt von Kevin B. ()

  • hab ihn gefunden nun hab ich es so
    mysql_fetch_field_row(data,"FraktionscarModell");
    frakcar[fraktionscars][Modell] = strval(data);
    mysql_fetch_field_row(data,"farbe1");
    frakcar[fraktionscars][Ffarbe1] = strval(data);
    mysql_fetch_field_row(data,"farbe2");
    frakcar[fraktionscars][Ffarbe2] = strval(data);
    mysql_fetch_field_row(data,"FraktionsID");
    frakcar[fraktionscars][fcar_fraktionsid] = strval(data);
    mysql_fetch_field_row(data,"FraktionsCar_X");
    frakcar[fraktionscars][fcar_x] = strval(data);
    mysql_fetch_field_row(data,"FraktionsCar_Y");
    frakcar[fraktionscars][fcar_y] = strval(data);
    mysql_fetch_field_row(data,"FraktionsCar_Z");
    frakcar[fraktionscars][fcar_z] = strval(data);
    mysql_fetch_field_row(data,"FraktionsCar_A");
    frakcar[fraktionscars][fcar_f] = strval(data);

    er lädt es aba imma noch net
    er zeigt mir auch Komischer weise das an
    [10:59:33] Es Wurden 50/50 Fraktions Car gelade
    [10:59:33] Es wurden 0/2 Vermitungs cars geladen
    [10:59:33] Es wurden 0/100 Häuser geladen
    [10:59:33] Es wurden 0/5 Gans geladen
    [10:59:33] Es wurden 0/30 Vermitungs cars geladen
    [10:59:33] Es wurden 2/2 Firmen geladen
    ich hab aba nur 16 Fraktionscar in der Datenbank eingetragen
    //edit
    Kannst mir da helfen bitte?

    Einmal editiert, zuletzt von Kevin B. ()