chat

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
  • hi brotfische...




    heute wende ich mich mit folgendem Problem an euch...




    1, ich möchte gerne dass es einen normalen mainchat gibt ... d.h. man kann einfach "hi" schreiben und dann steht im chat" USERxy: hi


    momentan ist es so dass dann da steht USERxy sagt: hi




    das ist auch nur im radius von 3 ich möchte aber halt dass es immer und überall zu sehen ist.




    2. die namen der user sollen dann im chat die Farbe haben die sie in ihrer frak haben also: "USERxy ist FBI sein name ist in der TABliste blau also soll er im chat auch blau sein






    und 3. zum thema farben: wenn ein cop oderso stirbt und respawn ist sein name nurnoch weiss und ich hätte gerne dass der name weiterhin farbig bleibt :/




    ich hoffe mir kann jemand helfen da ich davon echt 0 plan hab da ich das noch nie gemacht hab:(



    //edit


    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s: %s", sendername, text);
    ProxDetector(9999999.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }
    return 1;
    }


    das hab ich mittlerweile so weiss nur nich ob der detector weit genug ist ^^


    nun fehlt dann soweit nurnoch das mit den farben

  • So:


    zum 2.,3.:


    Unter OnPlayerSpawn machst du eine Abfrage ob die Peson in einem Team ist und gibst der Person die Farbe mit:
    SetPlayerColor


    zum 1.:


    public OnPlayerText(playerid, text[])
    {
    new texts[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof (name));
    format(texts, sizeof (texts), "%s: %s", name, text);
    SendClientMessageToAll(playerid, texts);
    return 0;
    }

    Back to the roots!

  • public OnPlayerText(playerid, text[])
    {
    if(strcmp(text, "hi", true) == 0)
    {
    new string[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string),"%s: hi@all",name);
    SendClientMessageToAll(weiß,string);
    }
    return 1;
    }


    probier mal so, habe das mal so aus dem Kopf geschrieben ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • also den detector einfach rausnehmen ??

  • mach das doch so


    new str[128], Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    format(str, 128, "%s sagt: %s",Name,text);
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    for(new i=0;i<=MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(IsPlayerInRangeOfPoint(i,30.0,x,y,z))
    {
    SendClientMessage(i,0xFFFFFFAA,str);
    }
    }
    }


    Der sendet in den Radius 30.0
    und die Farbe ist weiß

  • ja aber es soll so sein dass wenn jemand in einer fraktion ist die eine farbe hat wie zum beispiel "fbi blau, army grün, cop hellblau... soll der name auch so im chat sein ....


    und es soll kein radius sein .. wenn man es in LS schreibt soll man es auch in LV lesen können .. also einen chat der unbegrenzt ist einfach schreiben und jeder sieht es egal wo man ist

  • Er meint den ''bekannten'' OOC aus nem GF...
    Da ist es so, wenn man /o TEXT schreibt, sehen es alle.
    Er will aber nicht dass man /o TEXT schreibt, sondern einfach nur TEXT.


    Zusätzlich soll in diesem ''Mainchat'' die Fraktion des Spielers erkannt werden, und die Namen farbig ausgegeben werden.


    Bsp.:
    Hans im FBI, Peter der GroveStreet:
    Hans: Hi
    Peter: Hi, was geht ab?


    Und das soll komplett ohne ''Reichweite'' gehen, d.h. jeder kann es lesen, egal wer, egal wo.


    Nur wie man das umsetzt weiß ich gerade nicht.

  • mach doch vor den Test eine abfrage in welcher Fraktion der ist und weißt da die jeweiligen Farben zu


    wenn derjenige schreibt und in der Fraktion XXX drin ist bekommt er die Farbe XXX
    guck dir dafür mal einfach einen /f code an und die Abfrage die von den Fraktionen ist übernimmst du einfach bei OnPlayerText

  • Mein Tipp:
    Wenn du ein GF verwendest, such dort nach den Befehlen /o oder /f
    Da schaust du an wie das mit der Reichweite geht.
    Dann schaust du wo das mit dem "%s sagt: %s" steht, das ist ja dann das ohne einen Befehl, also wenn man nur den Text eingibt.
    Dann 1 und 1 zusammen zählen, umstrukturieren, fertig.
    Anschließend fehlen nur noch die Farben, aber die kann man ja später, wenn du weißt wie, mittels switch-case einfügen.


    Wenn du kein GF nutzt das diese Befehle /o und /f hat, suchst du dir halt eins. Einfach die Pwn download, nebenher öffnen und schauen wie das geht.
    Ggf. dann auf dein Script anpassen...



    Mehr kann ich dir leider von hier aus nicht helfen, sorry.

  • }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s: %s", sendername, text);
    ProxDetector(9999999.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }
    return 1;
    }
    das is das ja schon die range sollte eigentlich reichen :D da fehlen halt nun nurnoch die farben dass die halt die frakfarben haben ^^