Nachricht an Fraktion? Wie geht das....

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,


    Ich habe eine Frage.
    Ich möchte gerne, dass wenn jemand /sani eingibt, dass eine Nachricht an alle Sanitäter gesendet wird. (z.B. Major ruft einen Sanitäter)
    Am besten auch, dass man den "call" mit /annehmen annehmen kann und das ein Checkpoint erstellt wird.


    Vielen dank!!!!

  • Mit einer for-Schleife ^^

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.


  • for(new i = 0; i < sizeof(MAX_PLAYERS); i++)// bin mir nicht sicher ob das richtig ist o.O lang netmehr mit for new schleifen gearbeitet..
    {
    if(FraktionsAbfrage(i,1))
    {
    SendClientMessage(i,FARBE,"Laalalla");
    }
    }

    Mit unfreundlichen Grüßen
    Buschmensch

  • Aha aha...
    Ja, ob das richtig ist weiß ich ja nicht. Sonst hät ich nicht gefragt.
    Bitte auch um ein kleines Tutorial zum aufbau und einbau


    // Bitte den ganzen befehl....

    Einmal editiert, zuletzt von Mayor Degtyarev ()

  • Ich habe kein GF :P und mache es auch nicht so ähnlich...


    Habe
    if(isPlayerInFrakt(playerid,2))

  • Ja gut, das weiß ich nun. Aber wie baue ich das in einen Befehl.

  • Ungefähr so ?
    ocmd:fc(playerid,params[])
    {
    new text[128];
    if(sInfo[playerid][sSpieler_fraktion] == 4 || sInfo[playerid][sSpieler_arbeit] == 4)return IsAdmin
    if(sscanf(params,"s[128]",text))return SendClientMessage(playerid,ROT,"/mc [Text]");
    format(text,sizeof(text),"<<Feuwerher %s: %s >>",SpielerName(playerid),text);
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i))
    {
    if(sInfo[playerid][sSpieler_fraktion] == 4 || sInfo[playerid][sSpieler_arbeit] == 4)
    {
    SendClientMessage(i,ROT,text);
    }
    }
    }
    return 1;
    }

  • Ich meinte kein Fraktion's Chat.


    Das habe ich nicht gemeint. Ich meine das ein User (nicht in der Fraktion) die Feuerwehr rufen kann. Und nicht Chatten.
    So dass die Feuerwehr dann weiß "Aha Spieler so und so braucht hilfe und ist bei so und so"

  • Das ist doch eig. genau dasselbe?
    Einfach nur ein "/service feuerwehr" Befehl oder sowas.
    Und dann einfach abfragen, ob derjenige in der Feuerwehrfraktion ist und die Nachricht sendet.


    Desweiteren kannst du ja noch einen Checkpoint einfügen, damit die Feuerwehr weiß, wo er sich gerade befindet (x,y,z).

  • /service feuerwehr will ich nicht.
    Einfach nur /feuerwehr und /sani und /polizei... usw.
    Für jedes ein eigenen Befehl.
    Kannst du mir den ein Befehl machen? Den Rest könnte ich dan selber.
    Danke


    //Edit: Rechtschreibung -.-

    Einmal editiert, zuletzt von Mayor Degtyarev ()


  • stock SendFraktionMessage(fraktion, COLOR, string[])
    {
    for(new i=0; i != MAX_PLAYERS; i++) // Schleife die alle Spieler durchgeht
    {
    if(isPlayerInFrakt(i,fraktion)) // Wenn der Spieler in der Fraktion ist
    {
    SendClientMessage(i, COLOR, string); // Wird der Text gesendet
    }
    }
    }

    Beispielbefehl:
    new bool:CalledSani[MAX_PLAYERS];


    dcmd_sani(playerid, params[])
    {
    #pragma unused params
    if(CalledSani[playerid] == true) return SendClientMessage(playerid, COLOR_GREY, "Du hast bereits einen Sanitäter gerufen!");
    new string[128];
    format(string, sizeof string, "* %s ruft einen Sanitäter",GetName(playerid));
    SendFraktionMessage(FID, COLOR_GREY, string); // FID musst du noch ändern! in die FraktionsID!!
    CalledSani[playerid] = true;
    return 1;
    }


    //Edit, Anmerkung im Befehl eingefügt

    Einmal editiert, zuletzt von Tommyx3 ()

  • Gut Danke!
    Aber wenn man den Befehl eimal gemacht hat, kommt immer, dass man schon ein Sani gerufen hat.
    Kannst du mir auch sagen wie das mit Checkpoint geht, und annehmen des anrufes?

  • Lern Lessen. Ich habe überhaupt kein GF UND ICH WILL ES AUCH NICHT WIE IM GF.
    Und außerdem Lern ich daraus nichts.


    //Edit: Problem immer noch nicht gelöst...

    Einmal editiert, zuletzt von Mayor Degtyarev ()

  • Wenn du mir nicht helfen willst dann hör auf dich hier Sinnlos aufzuregen -.-


    //Edit: Rechtschreiben und Push

    Einmal editiert, zuletzt von Mayor Degtyarev ()