Member anzeigen

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
  • case DIALOG_FRAKVERWALTUNG:
    {
    if(response)
    {
    if(listitem == 1)
    {
    new query[150];
    mysql_format(mycon,query, sizeof(query), "SELECT `Name`,`Rang` FROM `User` WHERE `Fraktion` = '%d'",User[playerid][pFraktion]);
    mysql_function_query(mycon,query,true,"ShowFMember","i",playerid);
    printf(query);
    }
    }
    }


    public ShowFMember(playerid)
    {
    new member_string[1024];
    print("0");
    while(mysql_num_rows())
    {
    print("1");
    new member_name[MAX_PLAYER_NAME], tmp[10];
    cache_get_field_content(1,"Name",member_name,mycon);
    cache_get_field_content_int(3,"Rang",mycon);
    new member_rang = strval(tmp);
    format(member_string, sizeof(member_string), "Name: %s - Rang: %d\n",member_name, member_rang);
    printf(member_string);
    print("2");
    }
    ShowPlayerDialog(playerid,DIALOG_4ETC, DIALOG_STYLE_MSGBOX, "{FCD888}Fraktionsverwaltung{ffffff} - Member", member_string, "Ok", "Abbrechen");
    print("3");
    return 1;
    }


    Die Schleife wird ganze Zeit durch gerattert

    SQL
    [22:02:51] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('1')
    [22:02:51] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('3')
    [22:02:51] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('1')


    EDIT: Keine Ahnung warum das so hintereinander angezeigt wird.

    Einmal editiert, zuletzt von SAB0h ()

  • public ShowFMember(playerid)
    {
    new member_string[1024];
    print("0");
    new rows = cache_get_row_count();
    new member_name[MAX_PLAYER_NAME];
    for(new i=0; i<rows; i++)
    {
    print("1");
    cache_get_field_content(i,"Name",member_name,mycon);
    new member_rang = cache_get_field_content_int(i,"Rang",mycon);
    format(member_string, sizeof(member_string), "%sName: %s - Rang: %d\n",member_string,member_name, member_rang);
    printf(member_string);
    print("2");
    }
    ShowPlayerDialog(playerid,DIALOG_4ETC, DIALOG_STYLE_MSGBOX, "{FCD888}Fraktionsverwaltung{ffffff} - Member", member_string, "Ok", "Abbrechen");
    print("3");
    return 1;
    }


    So sollte es passen.

  • Du hattest die Cache Funktionen nicht richtig verwendet (erster Parameter bei den Get Funktionen ist die Zeile, also i der Schleife), und die Schleife war die falsche.
    Außerdem hat beim string am Anfang der Platzhalter zur Übergabe des vorherigen Strings gefehlt.


    Kannst dir ja auch beide Codes mal nebeneinander anschauen, dann werden die Änderungen deutlicher. ;)