Wandetds werden 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
  • Morgen


    Ich habe mir gerade was erstellt, wo mir die Wanteds angezeigt werden sollen
    hier mal der code
    dcmd_wanted(playerid,params[])
    {
    #pragma unused params
    if(PlayerInfo[playerid][Member]==3 || PlayerInfo[playerid][Leader]==3)
    {
    showwanteddia(playerid);
    }
    else
    {
    SendClientMessage(playerid,cRed,"Du bist nicht bei den Police Department angestellt");
    }
    return 1;
    }
    stock showwanteddia(playerid)
    {
    new lolstr[500],horst[MAX_PLAYER_NAME];
    for(new i;i<MAX_PLAYERS;i++)if(PlayerInfo[i][Wantedlevel]>0)
    {
    GetPlayerName(i,horst,sizeof horst);
    format(lolstr,sizeof lolstr,"\n %s (ID %d): %d Wanteds",horst,i,PlayerInfo[i][Wantedlevel]);
    }
    ShowPlayerDialog(playerid,diaWanted,DIALOG_STYLE_LIST,"Aktuell gesuchte Verbrecher",lolstr,"OK","Abbrechen");
    }
    nun es wird mir nichts angezeigt und ein fehler seh ich auf die schnelle auch nicht
    hoffe, das ihr helfen könnt

  • ehm ich verwende ein string für das dialog....


    lesen - denken - Posten

  • schau mal ich hab es mal Extra für dich Getestet :D
    ich habe es nun so gemacht
    stock gesuchteperson(playerid)
    {
    new string[128];
    for(new i;i<MAX_PLAYERS;i++)
    if(sInfo[i][sSpieler_wanteds] > 0)
    {
    format(string,sizeof(string),"[Gesucht]%s Sterne: %d\n",SpielerName(i),sInfo[i][sSpieler_wanteds]);
    }
    ShowPlayerDialog(playerid,DIALOG_WANTEDS,DIALOG_STYLE_LIST,"Aktuell gesuchte Verbrecher",string,"OK","Abbrechen");
    }
    ocmd:gesuchte(playerid, params[])//wantedliste
    {
    if(sInfo[playerid][sSpieler_fraktion] == 1 || sInfo[playerid][sSpieler_arbeit] == 1)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    gesuchteperson(i);
    }
    }
    else
    {
    IsAdmin
    }
    return 1;
    }
    so werden mir da welsche angezeigt
    Musst bei dir nur anpassen

  • Welche zahl steckt hinter "diaWanted" ?
    Übrigens überschreibst du so immer den alten Text und es wird immer nur der zuletzt gefunden Spieler im Dialog angezeigt ( bei kifkat ebenfalls ).


    format(lolstr,sizeof lolstr,"%s%s (ID %d): %d Wanteds\n",lolstr,horst,i,PlayerInfo[i][Wantedlevel]);

  • die Zahl 20 da ich bis jetzt nur 20 Dialoge habe


    und der 2. Punkt wie meinst du das?

  • So wie ich es geschrieben habe.

    Zitat

    Übrigens überschreibst du so immer den alten Text und es wird immer nur der zuletzt gefunden Spieler im Dialog angezeigt ( bei kifkat ebenfalls ).


    Du formatierst den String IMMER neu, ohne den Alten Text der vllt schon per format eingefügt wurde zu beachten.
    So wäre es richtig:
    format(lolstr,sizeof lolstr,"%s%s (ID %d): %d Wanteds\n",lolstr,horst,i,PlayerInfo[i][Wantedlevel]);
    Wie du siehst ist ein extra "%s" am Anfang und lolstr nochmal bei den Paramtern, damit wird den alten Text nicht verlieren.


    Möglich,dass der String auch einfach leer ist bei dir und deswegen nichts angezeigt wird.Bezweifel ich zwar,aber gut.
    Ersetzt Zeile 9 aus deinem Startpost von "showwanteddia" mit dem Code:

    if(lolstr[0]) {
    ShowPlayerDialog(playerid,diaWanted,DIALOG_STYLE_LIST,"Aktuell gesuchte Verbrecher",lolstr,"OK","Abbrechen");
    }
    else {
    SendClientMessage(playerid,COLOR_RED,"Keine Spieler mit Wanteds gefunden")
    }