Family 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
  • Hey Leute ich bräucht einen /f chat womit man in der Fraktion chaten kann.


    Also Ich bin mal Medic und TIppe:


    /f Hey leute alles klar?


    und nur die Leute im Team Medic können Das lesen und zurück schreiben
    aber das sollte auch für oamt und so gehen


    hätte jmd ne lögun?

  • Eine Lösung dafür haben Viele.
    Versuch es doch alleine,so schwer ist es nicht.


    • Prüfen ob etwas hinter /f eingebene wurde
    • Schleife durch alle Spieler
    • Prüfen ob Spieler in Spezieller Fraktion
    • Falls richtige Fraktion,Nachricht absenden
  • Den konnte bestimmt jeder sehen,weil du
    a) nicht SendClientMessage benutzt hast
    oder b) eine If-Bedingung drin hattest.


    Zeig doch mal wie du es machen würdest, dann kann man dir Schritt für Schritt helfen. Die Grundlagen musst du natürlich dafür schon drauf haben ( Schleifen,Bedingungen, Variablen ).

  • Mach eine Abfrage die durch alle geht
    ist einer in Fraktion XX dann senden wenn nicht dann nicht senden


    //OT
    Goldkiller les Smalltalk

  • Hier ich helf dir mit ein paar Codeschnipseln.

    new text[256];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,Lightrot,"Tippe: /a [TEXT]");
    for(new i=0;i<GetMaxPlayers();i++)
    if(IsPlayerConnected(i))
    if(IsPlayerInFrakt(playerid,DeineFrakt));
    SendClientMessage(i,deinefarbe?',text);


    Mehr möchte ich dir nicht sagen. :P


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Einfach eine Schleife durch alle Spieler und dann abfragen ob i oder deine Variable in der gleichen Fraktion ist wie du bzw. der Player der /f macht und die nachricht dann absenden an die Frakmitglieder ;)
    Mfg Stivi

  • Hey Leute ich bräucht einen /f chat womit man in der Fraktion chaten kann.


    vlcht kannste damit was anfangen..



    ocmd:f(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    new text[128];
    if(GetPVarInt(playerid,"Muted")==1) return SendClientMessage(playerid,ROT,"Du bist gemuted und kannst nicht reden!");
    if(GetPVarInt(playerid,"Fraktion")==0) return SendClientMessage(playerid,ROT,"Du gehörst keiner Fraktion an!");
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,BLAU,"Info: /f [text]");
    format(text,sizeof(text),"%s [Rang %i] : %s",SpielerName(playerid),GetPVarInt(playerid,"FrakRang"),text);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFraktion(i,GetPVarInt(playerid,"Fraktion")))
    {
    SendClientMessage(i,GRAU,text);
    }
    }
    }
    }
    return 1;
    }

  • hier wird fuer jeden spieler abgefragt ob er in der gleichen fraktion ist
    if(isPlayerInFraktion(i,GetPVarInt(playerid,"Fraktion")))


    ansonsten wird


    SendClientMessage(i,GRAU,text);


    nicht gesendet. also ja.
    du musst es halt an dein script anpassen.
    sollte als beispiel dienen damit du einigermassen einen ueberblick bekommst wie man es machen kann.

  • Wenn du dir die Hilfe nimmst die wir dir gegeben haben, Joa. :D


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Ist es so richtig?:


    ocmd:f(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    new text[128];
    if(GetPVarInt(playerid,"Fraktion")==0) return SendClientMessage(playerid,COLOR_GRAU,"Du gehörst keiner Fraktion an!");
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_GRAU,"[BENUTZUNG]: /f(amily) Chat [Text]");
    format(text,sizeof(text),"[Rang %i] %s: %s",GetPVarInt(playerid,"FrakRang"),SpielerName(playerid),text);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(!isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
    {
    SendClientMessage(i,COLOR_BLAU,text);
    }
    }
    }
    }
    return 1;
    }

  • Habe es nun so:


    ocmd:f(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    new text[128];
    if(GetPVarInt(playerid,"Fraktion")==0) return SendClientMessage(playerid,COLOR_GRAU,"Du gehörst keiner Fraktion an!");
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_GRAU,"[BENUTZUNG]: /f(amily) Chat [Text]");
    format(text,sizeof(text),"[Rang %i] %s: %s",GetPVarInt(playerid,"FrakRang"),SpielerName(playerid),text);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFraktion(i,GetPVarInt(playerid,"Fraktion")))
    {
    SendClientMessage(i,COLOR_BLAU,text);
    }
    }
    }
    }
    return 1;
    }



    Trotzdem kan das jeder lesen