Chat wird nur für andere Player angezeigt

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
  • Hallo liebe community wie oben schon gesagt wird der ingame chat nicht mir sondern den anderen angezeigt und umgekehrt kann mir jmd helfen?
    Danke im voraus!
    public OnPlayerText(playerid, text[])
    {
    new string[128];
    format(string,128,"%s sagt: %s",PlayerName(playerid),text);
    for(new i = 0;i<MAX_PLAYERS;i ++)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(i,20.0,X,Y,Z))
    {
    SendClientMessage(i,0xFFFFFFFF,string);
    return 0;
    }
    }
    return 1;
    }

  • Entweder so:
    public OnPlayerText(playerid, text[])
    {
    new string[128];
    format(string,128,"%s sagt: %s",PlayerName(playerid),text);
    for(new i = 0;i<MAX_PLAYERS;i ++)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(i,20.0,X,Y,Z))
    {
    SendClientMessage(i,0xFFFFFFFF,string);
    SendClientMessage(playerid,0xFFFFFFFF,string);
    return 0;
    }
    }
    return 1;
    }


    oder du verwendest folgendes:
    Das hier unter OnPlayerText

    if (realchat)
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    format(string, sizeof(string), "%s sagt: %s", SpielerName(playerid), text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }
    return false;
    }


    oben zu den new's

    new realchat = 1;


    und ganz unten:

    forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
    public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:posx, Float:posy, Float:posz;
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    GetPlayerPos(i, posx, posy, posz);
    tempposx = (oldposx -posx);
    tempposy = (oldposy -posy);
    tempposz = (oldposz -posz);
    if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
    {
    SendClientMessage(i, col1, string);
    }
    else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
    {
    SendClientMessage(i, col2, string);
    }
    else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
    {
    SendClientMessage(i, col3, string);
    }
    else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
    {
    SendClientMessage(i, col4, string);
    }
    else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    SendClientMessage(i, col5, string);
    }
    }
    }
    }
    return true;
    }


    Solltest du die Farben nicht Definiert haben:
    ganz oben bei den Defines

    #define COLOR_FADE1 0xE6E6E6E6
    #define COLOR_FADE2 0xC8C8C8C8
    #define COLOR_FADE3 0xAAAAAAAA
    #define COLOR_FADE4 0x8C8C8C8C
    #define COLOR_FADE5 0x6E6E6E6E


    Achso und dann noch SpielerName:

    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }

    05eb03de-9fda-461c-9dfc-834ae5b64e65.png << Server | Home >> 13462590508.png

  • wenn ich z.B das hier mache bekomt der,der was geschreiben hat 2 mal die message und ich wiedermal nicht


    public OnPlayerText(playerid, text[])
    {
    new string[128];
    format(string,128,"%s sagt: %s",PlayerName(playerid),text);
    for(new i = 0;i<MAX_PLAYERS;i ++)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(i,20.0,X,Y,Z))
    {
    SendClientMessage(i,0xFFFFFFFF,string);
    SendClientMessage(playerid,0xFFFFFFFF,string);
    return 0;
    }
    }
    return 1;
    }


  • Hm, versucht mal die zweite Methode, ist ja alles bei was du brauchst.
    Wenn du hilfe brauchst geb bescheid

    05eb03de-9fda-461c-9dfc-834ae5b64e65.png << Server | Home >> 13462590508.png