Chat ausblenden

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
  • Wenn es wirklich so wichtig ist, schreib eine Chatfunktion, sagen wir mal SendClientMessageEx welche prüft, ob der Spieler irgendwelche Chat/System SCMs erhalten darf. Wenn ja (check das per Wert in dieser Funktion) schickste sie ihm per SendClientMessage(ToAll) weiter, ansonsten bekommt er nichts. Nun musste nur noch den Chat mit SendClientMessage(playerid, COLOR, " "); clearen, setzt den Wert ob er Nachrichten erhalten darfst und verwendest konsequent die Funktion SendClientMessageEx.

  • Wenn es wirklich so wichtig ist, schreib eine Chatfunktion, sagen wir mal SendClientMessageEx welche prüft, ob der Spieler irgendwelche Chat/System SCMs erhalten darf. Wenn ja (check das per Wert in dieser Funktion) schickste sie ihm per SendClientMessage(ToAll) weiter, ansonsten bekommt er nichts. Nun musste nur noch den Chat mit SendClientMessage(playerid, COLOR, " "); clearen, setzt den Wert ob er Nachrichten erhalten darfst und verwendest konsequent die Funktion SendClientMessageEx.


    Meinst du das so?


    Spoiler anzeigen

    stock SendRadiusMessage(playerid, color, const message[])
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInRangeOfPoint(i,30,X,Y,Z);
    {
    if(AllowMsg[i] == true)
    {
    SendClientMessage(i,color,message);
    }
    else continue;
    }
    else continue;
    }
    return 0;
    }



    Du meinst eine Chat an und aus Funktion oder?


    Ja ungefähr sowas meine ich.

  • Also eher eine Art "Wrapper" Funktion. Stock brauchste nicht zwingend, auch continue ist überflüssig:



    // Sendet nur SCMs an Spieler in Naehe 30
    SendRadiusMessage(playerid, color, const message[])
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInRangeOfPoint(i,30,X,Y,Z);
    {
    SendClientMessageEx(i,color,message);
    }
    }
    }


    // Sendet nur eine Nachricht wenn der Chat des betreffenden Spieler aktiv ist
    SendClientMessageEx(playerid, color, const message[])
    {
    if(hasActiveChat[playerid] == true)
    {
    SendClientMessage(playerid, color, message);
    }
    }


    // Untested - hab keinen Pawn Compiler zur Hand
    // Edit: Denglish