String wird nicht richtig ausgegeben (GetFracLeader)

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Hallo Brotfische ;)


    Undzwar wird mir der Leader nicht angezeigt im Dialog, sprich die Memberanzahl rutscht eins nach vorne (siehe Bild)
    Um den Fehler auf die schliche zu kommen, habe ich ein print in die Funktion gesetzt und da wird alles ausgegeben.


  • Beitrag von Mogly1 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Bei mir musste ich immer das hier noch amchen :D ka ob das dann helfen würde.

    new f_rank[50];
    cache_get_field_content(i,"Rank1",f_rank,Handle);
    strmid(fraktInfo[id][fRank1],f_rank,0,sizeof(f_rank),sizeof(f_rank));

    also so dann bei dir

    Function _GetLeader(fid){
    new rows, fields; cache_get_data(rows, fields);
    if(rows)
    {
    new NameTest[MAX_PLAYER_NAME+10];
    cache_get_field_content(0, "playername", NameTest,dbhandle);
    strmid(fData[fid][fLeaderName],NameTest,0,sizeof(NameTest),sizeof(NameTest)); printf("Leadername: %s - Frakid: %d",fData[fid][fLeaderName],fid); }else{
    format(fData[fid][fLeaderName],15,"Niemand");
    }
    return 1;
    }
    XD ka ob das wirklich was ändert :thumbup::thumbup:

  • Ich schätze mal, dass es einfach nur an "playername", denn bei der Fraktion(pFraktion) und dem Rank(pRang) benutzt du immer ein "p".
    d.h. bei playername müsste theoretisch auch "pplayername" heißen.

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • Ich schätze mal, dass es einfach nur an "playername", denn bei der Fraktion(pFraktion) und dem Rank(pRang) benutzt du immer ein "p".
    d.h. bei playername müsste theoretisch auch "pplayername" heißen.

    Daran liegt es nicht. Der Leader wird auch ausgeleses bei der Funktion _GetLeader.
    Aber beim einsetzen in einen Dialog oder in eine SendClientMessage wird der Name nicht mehr angezeigt.
    Vielleicht kann mir @Jeffry helfen :)


    Mit freundlichen Grüßen
    German_ScripterHD

  • Zeige mal bitte den Print
    printf("Leadername: %s - Frakid: %d",fData[fid][fLeaderName],fid);

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • Kannst du bitte mal dein GetFracMemberInt und das dazugehörige public posten?


    Mit freundlichen Grüßen
    German_ScripterHD

  • Da haben wir den Fehler. Du schreibst die Anzahl der Mitglieder per String in einen Integer. Das geht nicht.
    Mache es so:
    Function _GetMemberCount(fid)
    {
    new rows, fields;
    cache_get_data(rows, fields);
    format(fData[fid][fMemberInt] = rows;
    return 1;
    }


    Function _GetFracCarCount(fid)
    {
    new rows, fields;
    cache_get_data(rows, fields);
    fData[fid][fCarInt] = rows;
    return 1;
    }