Tutorial für Dynamisches Fraktionsrang/Lohn system

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
  • Ich habe das jetzt so,könnte das funktionieren?
    #define MAX_FRACS 20
    #define GUI_RANK 9993
    #define GUI_RANK1 9994
    #define GUI_RANK2 9995
    #define GUI_RANK3 9996
    #define GUI_RANK4 9997
    #define GUI_RANK5 9998
    #define GUI_RANK6 9999
    enum rank_data {
    rRang1[64],
    rRang2[64],
    rRang3[64],
    rRang4[64],
    rRang5[64],
    rRang6[64],
    };
    new rInfo[MAX_FRACS][rank_data];


    ocmd:editrang(playerid, params[]) {
    new string[128];
    SpielerInfo[playerid][pFraktion] = 1;
    new rID = SpielerInfo[playerid][pFraktion];
    LoadRang(rID);
    format(string,sizeof(string), "%s\n%s\n%s\n%s\n%s\n%s",
    rInfo[rID][rRang1],
    rInfo[rID][rRang2],
    rInfo[rID][rRang3],
    rInfo[rID][rRang4],
    rInfo[rID][rRang5],
    rInfo[rID][rRang6]);
    ShowPlayerDialog(playerid, GUI_RANK, DIALOG_STYLE_LIST, "Ränge Verwalten", string, "Ändern", "Abbrechen");
    return 1;
    }
    stock LoadRang(frakid) {
    for(new i = 0; i < MAX_FRACS; i++) {
    new string[128];
    format(string,sizeof(string), "%d", frakid);
    format(rInfo[i][rRang1],64,"%s",mysql_GetString("samp_rangs", "Rang1", "ID", string));
    format(rInfo[i][rRang2],64,"%s",mysql_GetString("samp_rangs", "Rang2", "ID", string));
    format(rInfo[i][rRang3],64,"%s",mysql_GetString("samp_rangs", "Rang3", "ID", string));
    format(rInfo[i][rRang4],64,"%s",mysql_GetString("samp_rangs", "Rang4", "ID", string));
    format(rInfo[i][rRang5],64,"%s",mysql_GetString("samp_rangs", "Rang5", "ID", string));
    format(rInfo[i][rRang6],64,"%s",mysql_GetString("samp_rangs", "Rang6", "ID", string));
    }
    }
    Jeffry

  • Sieht an sich nicht schlecht aus, allerdings bin ich kein Syntaxanalysator, deshalb teste es doch einfach kurz aus. Außerdem weiß ich auch nicht wie deine Tabellen aussehen, wenn da was falsch bzw anders ist, kann der Code auch nicht klappen. Einfach mal probieren. Ist ja nicht so, dass dein Rechner explodiert wenn es nicht klappt ;)


    Eine Sache hindert zwar die Funktionsfähigkeit nicht, ist aber unnötig.
    In LoadRang gibst du als Parameter die FraktionsID mit, nutzt dann aber eine Schleife um alle Fraktionen zu laden. Die Schleife kannst du weg machen und das i durch frakid ersetzen.