Fraktionsrangname wird nicht angezeigt

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
  • Guten Tag,
    Ich habe mir eine Funktion erstellt, mit der Fraktions-Rangnamen aus der Datenbank ausgelesen werden.
    Habe mir auch testweise eine Fraktion mit Fraktions-Rangnamen gemacht.
    Aber die Fraktionsrangnamen werden beim Befehl /setrangname nicht angezeigt.
    Was habe Ich da falsch gemacht?
    MySQL.log zeigt mir da auch keine Fehler an..



    //Bei OnGameModeInit
    LoadFraktionRangNames();


    public LoadFraktionRangNames()
    {
    new query[256];
    for(new idx=1; idx<sizeof(FraktionRangName); idx++)
    {
    format(query, sizeof(query), "SELECT * FROM FraktionRangNames WHERE id='%i'", idx);
    mysql_function_query(dbhandle, query, true, "OnRangNamesLoad", "i", idx);
    }
    print("[Laden] Die Rangnamen wurden erfolgreich geladen.");
    return 1;
    }


    public OnFraktionRangNamesLoad(idx)
    {
    new num_rows, num_fields, temp[256];
    cache_get_data(num_rows, num_fields, dbhandle);
    if(num_rows)
    {
    cache_get_field_content(0, "FraktionRangName1", temp);
    format(FraktionRangName[idx][Fraktion_Rang_1], 32, temp);
    cache_get_field_content(0, "FraktionRangName2", temp);
    format(FraktionRangName[idx][Fraktion_Rang_2], 32, temp);
    cache_get_field_content(0, "FraktionRangName3", temp);
    format(FraktionRangName[idx][Fraktion_Rang_3], 32, temp);
    cache_get_field_content(0, "FraktionRangName4", temp);
    format(FraktionRangName[idx][Fraktion_Rang_4], 32, temp);
    cache_get_field_content(0, "FraktionRangName5", temp);
    format(FraktionRangName[idx][Fraktion_Rang_5], 32, temp);
    cache_get_field_content(0, "FraktionRangName6", temp);
    format(FraktionRangName[idx][Fraktion_Rang_6], 32, temp);
    cache_get_field_content(0, "FraktionRangName7", temp);
    format(FraktionRangName[idx][Fraktion_Rang_7], 32, temp);
    cache_get_field_content(0, "FraktionRangName8", temp);
    format(FraktionRangName[idx][Fraktion_Rang_8], 32, temp);
    cache_get_field_content(0, "FraktionRangName9", temp);
    format(FraktionRangName[idx][Fraktion_Rang_9], 32, temp);
    cache_get_field_content(0, "FraktionRangName10", temp);
    format(FraktionRangName[idx][Fraktion_Rang_10], 32, temp);
    cache_get_field_content(0, "FraktionRangName11", temp);
    format(FraktionRangName[idx][Fraktion_Rang_11], 32, temp);
    cache_get_field_content(0, "FraktionRangName12", temp);
    format(FraktionRangName[idx][Fraktion_Rang_12], 32, temp);
    }
    return 1;
    }


    ocmd:setrangname(playerid, params[])
    {
    if(IsPlayerInFrakt(playerid, 0))return 0;
    if(!IsPlayerLeader(playerid))return SendClientMessage(playerid, COLOR_RED2, "Du bist kein Leader.");
    new string[512];
    new fID = pInfo[playerid][pFraktion];
    format(string, sizeof(string), "Rank 1: %s\nRank 2: %s\nRank 3: %s\nRank 4: %s\nRank 5: %s\nRank 6: %s\nRank 7: %s\nRank 8: %s\nRank 9: %s\nRank 10: %s\nRank 11: %s\nRank 12: %s\n",
    FraktionRangName[fID][Fraktion_Rang_1], FraktionRangName[fID][Fraktion_Rang_2], FraktionRangName[fID][Fraktion_Rang_3], FraktionRangName[fID][Fraktion_Rang_4], FraktionRangName[fID][Fraktion_Rang_5], FraktionRangName[fID][Fraktion_Rang_6], FraktionRangName[fID][Fraktion_Rang_7], FraktionRangName[fID][Fraktion_Rang_8], FraktionRangName[fID][Fraktion_Rang_9], FraktionRangName[fID][Fraktion_Rang_10], FraktionRangName[fID][Fraktion_Rang_11], FraktionRangName[fID][Fraktion_Rang_12]);
    ShowPlayerDialog(playerid, DIALOG_FRAKTION_RANGNAME, DIALOG_STYLE_LIST, "Fraktionsrang Verwaltung", string, "Ändern", "Verlassen");
    return 1;
    }


  • mysql_function_query(dbhandle, query, true, "OnRangNamesLoad", "i", idx);
    Hier rufst du die public Funktion OnRangNamesLoad auf...
    Aber das Callback heisst OnFraktionRangNamesLoad(idx)


    Also wenn du OnRangNamesLoad zu OnFraktionRangNamesLoad änderst sollte es gehen ^^


    und im query "SELECT * FROM FraktionRangNames WHERE id='%i' solltest du das Table in Backticks(?) setzen
    also "SELECT * FROM `FraktionRangNames` WHERE id='%i'

  • Danke, hat mein Problem behoben :)
    Aber ist es auch wichtig, dass man Table in Backticks schreibt?