Fchat

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 würde gerne das jede Fraktion diesen Fchat mit /f benutzen kann , aber sie nicht gegenseitig ihre Chats lesen können.Desweiteren sollen anderen Namen angezeigt werden für die Ränge.


    ocmd:f(playerid,params[])
    {
    if(isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,ROT,"[SERVER]: Du bist kein Admin.");
    {
    new text[128],name[128],rank[20];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,ROT,"Benutze: /a [Text]");
    GetPlayerName(playerid,name,sizeof(name));
    switch (GetPVarInt(playerid,"Rank"))
    {
    case 1:{rank="Cadet";}
    case 2:{rank="-";}
    case 3:{rank="-";}
    case 4:{rank="-";}
    case 5:{rank="-";}
    case 6:{rank="-";}
    case 7:{rank="-";}
    }
    format(text,sizeof(text),"*((%s %s: %s.))*",rank,name,text);
    SendMessage(BLAU,text);
    return 1;
    }
    }


    stock SendMessage(color,const string[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,1))
    {
    SendClientMessage(i, color, string);
    }
    }
    }
    return 1;
    }

  • Hätte hier einen Codeschnipsel :)


    ocmd:f(playerid, params[])
    {
    new text[128],Rang[54];
    if(sscanf(params, "s", text))
    return SendClientMessage(playerid, lila, "Benutzung: /f [Text]");
    if(GetPVarInt(playerid,"Fraktion") == 1)
    {
    switch(GetPVarInt(playerid, "FRank"))
    {
    case 1: Rang = "1";
    case 2: Rang = "2";
    case 3: Rang = "3";
    case 4: Rang = "4";
    case 5: Rang = "5";
    case 6: Rang = "6";
    case 7: Rang = "7";
    case 8: Rang = "8";
    case 9: Rang = "9";
    case 10: Rang = "10";
    }
    }
    format(text, sizeof text, "((%s %s: %s ))", Rang, SpielerName(playerid), text);
    for(new i; i < GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    if(isPlayerInFrakt(i, GetPVarInt(playerid, "Fraktion")))//Nur die Frak, wo man drinnen ist
    SendClientMessage(i,blau2, text);
    }
    return 1;
    }


    Da musst du SpielerName in dein name ändern also mit GetPlayerName.
    Das geht nur an die Fraktion, wo der Spieler auch drinnen ist.

    Back to the roots!

  • ich könnte dir meinen F-Chat geben, nur die eigene Fraktion kann ihn lesen. Ich habe 6 Fraktionsränge usw...

    ocmd:f(playerid,params[]) // Befehl
    {
    new text[128],string[128];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,Admin,"Benutzung: /f [Text]");
    new rangname[64];
    if(GetPVarInt(playerid,"Fraktion") == 4) // Fraktionsabfrage
    {
    switch(GetPVarInt(playerid,"Rank")) // Rankabfrage
    {
    case 1:{rangname=FBIrangname1;} //Rangname 1
    case 2:{rangname=FBIrangname2;}
    case 3:{rangname=FBIrangname3;}
    case 4:{rangname=FBIrangname4;}
    case 5:{rangname=FBIrangname5;}
    case 6:{rangname=FBIrangname6;}
    }
    }
    else if(GetPVarInt(playerid,"Fraktion") == 1)
    {
    switch(GetPVarInt(playerid,"Rank"))
    {
    case 1:{rangname=PDrangname1;}
    case 2:{rangname=PDrangname2;}
    case 3:{rangname=PDrangname3;}
    case 4:{rangname=PDrangname4;}
    case 5:{rangname=PDrangname5;}
    case 6:{rangname=PDrangname6;}
    }
    }
    else if(GetPVarInt(playerid,"Fraktion") == 2)
    {
    switch(GetPVarInt(playerid,"Rank"))
    {
    case 1:{rangname=Terrorrang1;}
    case 2:{rangname=Terrorrang2;}
    case 3:{rangname=Terrorrang3;}
    case 4:{rangname=Terrorrang4;}
    case 5:{rangname=Terrorrang5;}
    case 6:{rangname=Terrorrang6;}
    }
    }
    else if(GetPVarInt(playerid,"Fraktion") == 3)
    {
    switch(GetPVarInt(playerid,"Rank"))
    {
    case 1:{rangname=Medicrang1;}
    case 2:{rangname=Medicrang2;}
    case 3:{rangname=Medicrang3;}
    case 4:{rangname=Medicrang4;}
    case 5:{rangname=Medicrang5;}
    case 6:{rangname=Medicrang6;}
    }
    }
    else if(GetPVarInt(playerid,"Fraktion") == 6)
    {
    switch(GetPVarInt(playerid,"Rank"))
    {
    case 1:{rangname=Armyrangname1;}
    case 2:{rangname=Armyrangname2;}
    case 3:{rangname=Armyrangname3;}
    case 4:{rangname=Armyrangname4;}
    case 5:{rangname=Armyrangname5;}
    case 6:{rangname=Armyrangname6;}
    }
    }
    for(new i=0; i<MAX_PLAYERS; i++) //schleife durch alle Spieler
    {
    if(IsPlayerConnected(i)) // begrenzung auf alle Online-Spieler
    {
    if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion"))) // Wenn die Spieler in deiner Fraktion sind
    {
    format(string,sizeof(string),"%s %s: %s",rangname,SpielerName(playerid),text); // Das geschriebene wird konvertiert: 1. Rangname, 2. SpielerName, 3. Text
    SendClientMessage(i,BSNE,string); // Die Nachricht an alle Fraktionsmitglieder
    }
    }
    }
    return 1;
    }

    Die Fraktionsränge musst du natürlich oben Definieren. Ich hoffe ich konnte dir helfen.