Familienchat - 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
  • Mooinsen^^
    Wie macht man einen Familienchat also einen Fraktionschat?
    Also man macht /f [Text] dann kommt Sampi sagt: Hihihihihiihih xD
    Und dann sehen es alle die in der Fraktion sind :D
    Benutze gTeam für die Fraktionen/Gangs ;)

  • ist eigentlich ganz leicht =)



    dcmd_f(playerid,params[])
    {
    new message[128];
    new pName[128];
    if(sscanf(params, "s", message))
    {
    return SendClientMessage(playerid, GREY, "Benutze \"/f\" um mit deinem Team zu sprechen");
    }
    else
    {
    for(new i = 0; i <= MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(gTeam[playerid] == gTeam[i])
    {
    if(gTeam[playerid] == TEAM_ERSTESTEAM)
    {
    new text[128];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(text, sizeof(text), "<TEAM 1> %s: %s", pName, message);
    SendClientMessage(i, TEAMCHAT, text);
    }
    else if(gTeam[playerid] == TEAM_ZWEITESTEAM)
    {
    new text[128];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(text, sizeof(text), "<TEAM 2> %s: %s", pName, message);
    SendClientMessage(i, TEAMCHAT, text);
    }
    }
    }
    }
    }
    return 1;
    }

  • Danke, geht sowas auch ohne dcmd so halt mit normalen Befehlen=? :)

  • hab das hier im forum gefunden. muss es nur noch anpassen und das nächste mal die Sufu benutzen ;)



    if(strcmp(cmdtext,"/f",true,2) == 0)
    {
    new string[128],name[24];
    GetPlayerName(playerid,name,sizeof name);
    format(string,sizeof string,"Family %s: %s",name,cmdtext[3]);


    if(!strlen(cmdtext[2]))
    {
    SendClientMessage(playerid,MSG2,"USAGE: /f [text]");
    return 1;
    }


    if(gTeam[playerid] == COP || gTeam[playerid] == FBI)
    {
    for(new i=0 ; i <GetMaxPlayers() ; i++)
    {
    if(gTeam[i] == COP || gTeam[i] == FBI)
    {
    SendClientMessage(i,farbe,string);
    }
    }
    }
    return 1;
    }

  • for(new i=0 ; i <GetMaxPlayers() ; i++)


    Ehrlich gesagt dumm. Eine Funktion in der Schleife selbst ist nicht gerade ein Segen für die Schnelligkeit der Ausführung und Auslastung des Servers.


    Besser wäre:
    #undef MAX_PLAYERS
    #define MAX_PLAYERS 32 // Ersetzen / Ändern
    new i = 0;
    for(; i < MAX_PLAYERS; i++) { }

    Einmal editiert, zuletzt von [NSG]Bright ()