Chats

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
  • unter onplayertext

    new string[100];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    SendClientMessageToAll(deinefarbe, string);
    ungetestet
    //edit ortsangabe^^
    //edit2
    //edit3
    oder ungetestet das:
    SendPlayerMessageToAll(sender, text);

  • Fischer hat die Frage nicht verstanden.


    Er möchte, dass das nur in einem Umkreis gelesen werden kann :)


    for schleife und distance abfrage!


  • #define FARBE_FADE1 0xE6E6E6E6
    #define FARBE_FADE2 0xC8C8C8C8
    #define FARBE_FADE3 0xAAAAAAAA
    #define FARBE_FADE4 0x8C8C8C8C
    #define FARBE_FADE5 0x6E6E6E6E
    public OnPlayerText(playerid, text[])
    {
    new string[142];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "%s sagt: %s", name, text);
    ProxDetector(30.0, playerid, string, FARBE_FADE1,FARBE_FADE2,FARBE_FADE3,FARBE_FADE4,FARBE_FADE5);
    return 0;
    }
    stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:posx, Float:posy, Float:posz,Float:oldposx, Float:oldposy, Float:oldposz,Float:tempposx, Float:tempposy, Float:tempposz,i=0;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(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 1;
    }
    :P

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • wie war das mit keine Komplettlösung geben, lass sich doch mal denken, die können das, aber wenn wir sie nicht fordern, werden sie es nie lernen und du wirst immer ein schlechter Scripter sein, ich rate dir es selbst zu lösen, denn die angebotene Lösung ist viiiiilll zu kompliziert und ehrlich gesagt gleichermaßen lächerlich xD

  • Das ist meine Variante des Umgebungschats. Funktioniert einwandfrei.


    new UC[MAX_PLAYERS]; // Zum Zwischenspeichern ob man im Umgebunschat ist oder nicht. Unter die Includes damit ^^


    ocmd:uc(playerid,params[])
    {
    if(UC[playerid] == 0) // Fragt die Variable UC oben im Script ab.
    {
    SendClientMessage(playerid,COLOR_YELLOW, " Der Umgebungschat ist eingeschaltet"); //
    LimitGlobalChatRadius(30.0); // Hier wird der Chatradius eingestellt mit.
    UC[playerid] = 1; // Damit ich den Status später wieder abrufen kann.
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW, " Der Umgebungschat ist ausgeschaltet");
    UC[playerid] = 0;
    return 1;
    }
    }

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche