Problem mit Fraktionschat

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
  • Ich habe mir eine Funktion gemacht, für den Fraktionschat. Es gibt keine Errors beim compilen, aber die Fraktionsnachricht wird den jeweiligen Fraktionsmitgliedern so oft gesendet, wie die Funktion GetMaxPlayers(); ausgibt. Sprich mein Server hat 10 Slots und die Nachricht kommt 10mal.
    Weiß jemand was ich falsch gemacht habe ?



    stock SendFrakMessage(frakid,color,text[])
    {
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i) && GetPVarInt(i,"loggedin")==1)
    {
    if(isPlayerInFrak(i,frakid))
    {
    SendClientMessage(i,color,text);
    }
    }
    }
    return 1;
    }

    GELD verdienen durch Websites angucken ? (Klick hier oder den Banner)


  • stock isPlayerInFrak(playerid,frakid)
    {
    if(GetPVarInt(playerid,"Fraktion")==frakid)return 1;


    return 0;
    }


    Gab mit dieser Funktion bis jetzt noch keine Probleme.
    Habe in meiner Funktion SendFrakMessage auch bereits GetPVarInt(i,"Fraktion")==frakid anstatt isPlayerInFrak verwendet. Gab aber auch den Fehler

    GELD verdienen durch Websites angucken ? (Klick hier oder den Banner)


  • kp obs was bringt aber probiers dann mal so

    stock SendFrakMessage(frakid,color,text[])
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && GetPVarInt(i,"loggedin")==1)
    {
    if(isPlayerInFrak(i,frakid))
    {
    SendClientMessage(i,color,text);
    return 1;
    }
    }
    }
    return 1;
    }

  • Wie sieht der Command dazu aus, wo du die Funktion aufrufst? ;)


    PS: Schreibe deine Funktion mal so:


    stock SendFrakMessage(frakid,color,text[]) {
    for(new i,l=GetMaxPlayers(); i!=l; i++) {
    if(!IsPlayerConnected(i) || !GetPVarInt(i,"loggedin") || !isPlayerInFrak(i,frakid)) continue;
    SendClientMessage(i,color,text);
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S