Fraktion laden (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
  • Wie soll das gehen, i ist immer null, weil du es ausserhalb der schleife benutzt.


    for(new o; o < MAX_FRAC; o++) printf("Name:%s", fInfo[o][f_name]);


    Zum ausprobieren, versuch dies.

    Geprintet wird das:


    Code:
    forward LoadFractions_Data();
    public LoadFractions_Data()
    {
    new rows, i;
    rows = cache_num_rows();
    for(new o; o < MAX_FRAC; o++) printf("Name:%s", fInfo[o][f_name]);
    {
    cache_get_value_name_int(i, "FID", fInfo[i][fid]);
    cache_get_value_name(i, "Name", fInfo[i][f_name], 256);
    cache_get_value_name(i, "Shortname", fInfo[i][f_shortname], 64);
    cache_get_value_name_float(i, "X", fInfo[i][f_x]);
    cache_get_value_name_float(i, "Y", fInfo[i][f_y]);
    cache_get_value_name_float(i, "Z", fInfo[i][f_z]);
    cache_get_value_name_float(i, "R", fInfo[i][f_r]);
    cache_get_value_name_int(i, "Inter", fInfo[i][f_inter]);
    cache_get_value_name_int(i, "World", fInfo[i][f_world]);
    cache_get_value_name_int(i, "Leaderskin", fInfo[i][f_leaderskin]);
    cache_get_value_name_int(i, "Kasse", fInfo[i][f_kasse]);
    cache_get_value_name_int(i, "Mats", fInfo[i][f_mats]);
    cache_get_value_name_int(i, "Drogen", fInfo[i][f_drogen]);
    cache_get_value_name(i, "Color", fInfo[i][f_color], 64);
    printf("ID:%d Name:%s", i, fInfo[i][f_name]);
    }
    printf("Name:%s I:%d", fInfo[i][f_name], i);
    printf("[FRAKTIONS] %d/%d Fraktionen geladen.", rows, MAX_FRAC);
    return 1;
    }

  • Geprintet wird das
    Ist immer noch nicht richtig :<

  • @Jeffry
    Hier das FrakEnum.
    #define MAX_FRAC 20
    enum fraktEnum{
    fid,
    f_name[256],
    f_shortname[256],
    Float:f_x,
    Float:f_y,
    Float:f_z,
    Float:f_r,
    f_inter,
    f_world,
    f_leaderskin,
    f_kasse,
    f_mats,
    f_drogen,
    f_color
    }
    new fInfo[][fraktEnum];



    Hier die Funktion:
    forward LoadFractions_Data();
    public LoadFractions_Data()
    {
    new rows, i;
    rows = cache_num_rows();
    for(i=0; i < rows; i++)
    {
    cache_get_value_name_int(i, "FID", fInfo[i][fid]);
    cache_get_value_name(i, "Name", fInfo[i][f_name], 256);
    cache_get_value_name(i, "Shortname", fInfo[i][f_shortname], 64);
    cache_get_value_name_float(i, "X", fInfo[i][f_x]);
    cache_get_value_name_float(i, "Y", fInfo[i][f_y]);
    cache_get_value_name_float(i, "Z", fInfo[i][f_z]);
    cache_get_value_name_float(i, "R", fInfo[i][f_r]);
    cache_get_value_name_int(i, "Inter", fInfo[i][f_inter]);
    cache_get_value_name_int(i, "World", fInfo[i][f_world]);
    cache_get_value_name_int(i, "Leaderskin", fInfo[i][f_leaderskin]);
    cache_get_value_name_int(i, "Kasse", fInfo[i][f_kasse]);
    cache_get_value_name_int(i, "Mats", fInfo[i][f_mats]);
    cache_get_value_name_int(i, "Drogen", fInfo[i][f_drogen]);
    cache_get_value_name(i, "Color", fInfo[i][f_color], 64);
    printf("ID:%d Name:%s", i, fInfo[i][f_name]);
    }
    for(new o; o < MAX_FRAC; o++) printf("Name:%s", fInfo[o][f_name]);
    return 1;
    }


    Immer noch der selbe Fehler wie oben genannt.

  • cache_get_value_name(i, "Color", fInfo[i][f_color], 64);
    zu:
    cache_get_value_name_int(i, "Color", fInfo[i][f_color]);


    Und
    f_shortname[256],
    zu:
    f_shortname[64],


    Wenn es weiterhin nicht geht, poste bitte einen Screenshot deiner SQL-Tabellenstruktur.

  • Geändert und funktioniert leider immer noch nicht.
    Hier die Datenbank Struktur. Wie gesagt, würde gerne alle Fraktionen Laden und in der dem entsprechenden ID Speichern und sie so über das Enum immer aufrufen.


  • Ah, noch eins hab ich übersehen:
    new fInfo[][fraktEnum];
    zu:
    new fInfo[MAX_FRAC][fraktEnum];



    Auf Grund des Bildes:
    Das mit der Farbe dann wieder zu:
    cache_get_value_name(i, "Color", fInfo[i][f_color], 64);


    Und dann im enum:
    f_color
    zu:
    f_color[16]

  • funktioniert. Hat an MAX_FRAC gelegen -.-