Chat Kann mir jemand helfen?

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 ich wollte mal fragen wie man machen kann das der Chat in einer Bestimmten umfeld geht also z.b 5 meter währe nett wen mir wer hilft :)


    mfg Savas

    Sei du Selbst, denn all die anderen Gibt es schon !



    **Savas**

  • #include <a_samp>
    new UC[MAX_PLAYERS];


    #define FILTERSCRIPT


    forward Float:GetDistanceBetweenPlayers(p1,p2);


    #if defined FILTERSCRIPT
    #define COLOR_YELLOW 0xFFFF66FF


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Blank Filterscript by Whycando");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else
    #endif



    public OnPlayerText(playerid, text[])
    {
    if(UC[playerid] == 1)
    {
    new pname[MAX_PLAYER_NAME],sendstr[128]; GetPlayerName(playerid,pname,sizeof pname);
    format(sendstr,sizeof sendstr,"[UC] %s: %s",pname,text);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetDistanceBetweenPlayers(playerid,i) < 30)
    {
    SendClientMessage(i,COLOR_YELLOW,sendstr);
    return 0;
    }
    }
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext,"/uc",true) == 0)
    {
    if(UC[playerid] == 0)
    {
    SendClientMessage(playerid,COLOR_YELLOW, " Der Umgebungschat ist eingeschaltet");
    UC[playerid] = 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW, " Der Umgebungschat ist ausgeschaltet");
    UC[playerid] = 0;
    return 1;
    }
    }
    return 0;
    }


    public Float:GetDistanceBetweenPlayers(p1,p2)
    {
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
    {
    return -1.00;
    }
    GetPlayerPos(p1,x1,y1,z1);
    GetPlayerPos(p2,x2,y2,z2);
    return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    }


    Script nich von mir :!:

    Det blæser en halv pelikan.

    I may look calm. But inside my mind I have killed you 20 times in 5 minutes in 20 different ways.


  • Hier gebe dir mal meinen Funktioniert Perfekt.




    public OnPlayerText(playerid, text[])
    {
    new string[128];
    format(string, sizeof(string),"%s sagt: %s",Spielername(playerid),text);
    SMessage(playerid,WEIS,string,5);
    return 0;
    }


    stock SMessage(playerid,farbe,text[],Float:umkreis)
    {
    new Float:xm, Float:ym, Float:zm,maxplayers=GetMaxPlayers(); //erklärt ich von selbst
    if(GetPlayerPos(playerid,xm,ym,zm)) //das sollte sich auch von selbst erklären
    {
    for(new i=0;i<maxplayers;i++) //schleife die durch alle spieler geht
    if(IsPlayerConnected(i) && (i==playerid || IsPlayerInRangeOfPoint(i,umkreis,xm,ym,zm)))
    SendClientMessage(i,farbe,text);
    return 1;
    }
    return 0;
    }


    Das hier unter OnGameModeInit:


    LimitGlobalChatRadius(0);



    Das währs auch schon :D