Namen auslesen und 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
  • Wie kann ich beispielsweise alle Cops anzeigen lassen? Ich habe ehrlich gesagt, nur eine Vermutung wie das gehen könnte. Irgendwie, wenn der Spieler in Fraktion 1 ist (so ists aufgebaut bei mir), soll er formatiert werden oder so. Bitte um Hilfe :)

    Greetz

  • Du willst alle Namen auslesen von einer Fraktion und dann wo ausgeben lassen?

  • Also, ich wollte alle Cops anzeigen lassen mit einem Befehl /copsonline oder so. Die Fraktionen speichere ich in Dini ab, das sieht so aus:
    stock IstSpielerInFrak(playerid,frakid)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    if(dini_Int(Playerdatei,"Fraktion")==frakid)return 1;
    return 0;
    }

    So finde ich raus ob der Spieler in der Fraktion ist. Nur ich möchte wissen, wie ich das ganze in einen String packe. Wenn kein Cop online ist, wird gesendet: Cops online:
    Wenn ein Cop online ist, wird gesendet: Cops online: cop1
    Wenn mehrere on sind: Cops online: cop1 cop2 cop3...
    usw.
    Nur weiß ich nicht wirklich, wie ich das in einen String reinschreibe. Und dann kommt ihr ins Spiel. Das Problem ist, wenn der Spieler online ist soll dies in den String rein, wenn 2 on sind dies.
    Greetz

    Greetz

  • Benutze doch einfach eine for-Schleife für alle Spieler (MAX_PLAYERS) und teste ob sie in der Fraktion "Polizei" sind. Wenn ja, dann wird ihr Name ausgegeben via SendClientMessage();.

  • ocmd:copsonline(playerid,params[])
    {
    #pragma unused params
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IstSpielerInFrak(i,1))
    {
    new cop[32], string[64];
    GetPlayerName(i,cop,sizeof(cop));
    format(string,sizeof(string),"Cops online: %s",cop);
    SendClientMessage(playerid,Hellblau,string);
    }
    else return SendClientMessage(playerid,Hellblau,"Es sind derzeit keine Cops online!");
    }
    return 1;
    }
    Habs jetzt mal so. Es wird zwar die SCM gesendet aber wenn ein Cop online ist und auch der Name. Aber es kommt immer beides, also die SCM der Cops und die, dass kein Cop on ist. Woran liegt das?

    Greetz


  • new copsonline = 0;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IstSpielerInFrak(i,1))
    {
    new cop[32], string[64];
    GetPlayerName(i,cop,sizeof(cop));
    format(string,sizeof(string),"Cops online: %s",cop);
    SendClientMessage(playerid,Hellblau,string);
    copsonline++;
    }


    }
    if(!copsonline)
    return ...

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?