Fraktionschat problem

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
  • Hi,
    Wenn ich den befehl eingebe, kann nur EINE Person, die FBI ist, den Text lesen und das wäre die, die zuerst eingeloggt ist.
    Mit SendClientMessag gehts auch nicht.


    dcmd_f(playerid, params[])
    {
    new str[256];
    if(sscanf(params, "s", str)) SendClientMessage(playerid, COLOR_GREY, "*:: /f [Text] :: Fraktionchat ::*");
    else if(GetPlayerFraktion(playerid, 1)) SendClientMessage(playerid, COLOR_GREY, "*:: Du bist in keiner Fraktion. ::*");
    else if(strlen(str) < 4 || strlen(str) > 255) SendClientMessage(playerid, COLOR_GREY, "*:: Die Nachricht muss zwischen 4 und 255 Buchstaben lang sein. ::*");
    else
    {
    new string[256];
    else if(GetPlayerFraktion(playerid, 3))
    {
    if(PlayerInfo[playerid][pRank] == 8) { format(string, sizeof(string), "** (( Director %s: %s )) **", ReadName(playerid), str); }
    else if(PlayerInfo[playerid][pRank] == 7) { format(string, sizeof(string), "** (( Deputy Director %s: %s )) **", ReadName(playerid), str); }
    else if(PlayerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "** (( Assistant Director %s: %s )) **", ReadName(playerid), str); }
    else if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "** (( Special Agent in Charge %s: %s )) **", ReadName(playerid), str); }
    else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "** (( Assistant Special Agent in Charge %s: %s )) **", ReadName(playerid), str); }
    else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "** (( Supervisory Special Agent %s: %s )) **", ReadName(playerid), str); }
    else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "** (( Special Agent %s: %s )) **", ReadName(playerid), str); }
    else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "** (( New Agent %s: %s )) **", ReadName(playerid), str); }
    else { format(string, sizeof(string), "** (( New Agent %s: %s )) **", ReadName(playerid), str); }
    SendMessage(PlayerInfo[playerid][pMember], COLOR_YELLOW, string);
    SendMessage(PlayerInfo[playerid][pLeader], COLOR_YELLOW, string);
    FraktionLog(string);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "*:: Du bist in keiner Fraktion ::*");
    return 1;
    }
    }
    return 1;
    }


    MFG

    [align=center]


  • dcmd_f(playerid, params[])
    {
    if(GetPlayerFraktion(playerid, 1)) return SendClientMessage(playerid, COLOR_GREY, "*:: Du bist in keiner Fraktion. ::*");
    new str[256];
    if(sscanf(params, "s", str)) return SendClientMessage(playerid, COLOR_GREY, "*:: /f [Text] :: Fraktionchat ::*");
    if(strlen(str) < 4 || strlen(str) > 255) return SendClientMessage(playerid, COLOR_GREY, "*:: Die Nachricht muss zwischen 4 und 255 Buchstaben lang sein. ::*");
    new string[256];
    if(GetPlayerFraktion(playerid, 3))
    {
    switch(PlayerInfo[playerid][pRank])
    {
    case 8: { format(string, sizeof(string), "** (( Director %s: %s )) **", ReadName(playerid), str); }
    case 7: { format(string, sizeof(string), "** (( Deputy Director %s: %s )) **", ReadName(playerid), str); }
    case 6: { format(string, sizeof(string), "** (( Assistant Director %s: %s )) **", ReadName(playerid), str); }
    case 5: { format(string, sizeof(string), "** (( Special Agent in Charge %s: %s )) **", ReadName(playerid), str); }
    case 4: { format(string, sizeof(string), "** (( Assistant Special Agent in Charge %s: %s )) **", ReadName(playerid), str); }
    case 3: { format(string, sizeof(string), "** (( Supervisory Special Agent %s: %s )) **", ReadName(playerid), str); }
    case 2: { format(string, sizeof(string), "** (( Special Agent %s: %s )) **", ReadName(playerid), str); }
    case 1: { format(string, sizeof(string), "** (( New Agent %s: %s )) **", ReadName(playerid), str); }
    case 0: { format(string, sizeof(string), "** (( New Agent %s: %s )) **", ReadName(playerid), str); }
    }
    SendMessage(PlayerInfo[playerid][pMember], COLOR_YELLOW, string);
    SendMessage(PlayerInfo[playerid][pLeader], COLOR_YELLOW, string);
    FraktionLog(string);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "*:: Du bist in keiner Fraktion ::*");
    return 1;
    }
    return 1;
    }


    man könnte statt switch auf die normale if-abfrage verwenden ich finde switch aber etwas besser

  • public SendMessage(fraktion, color, string[])
    {
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPlayerFraktion(i, fraktion))
    {
    SendClientMessage(i, color, string);
    return 1;
    }
    }
    }
    return 0;
    }



    MFG

    [align=center]