• Hallo Leute, ich möchte mir mir gerne ein Makro bei "onChatEvent" machen, dass wenn die Nachricht "Willkommen <Spieler> auf <Servername>>" kommt, automatisch ne Nachricht kommt (die ich dann selber festlegen möchte :))
    Da wäre meine frage, wie ich das machen muss, also was da schreiben muss.

  • Es gibt eine Funktion, die nennt sich "match". Mit dieser kann man überprüfen, ob ein String, z.B. eine Chatnachricht, einem bestimmten Schema entspricht.
    Der Code für Dich würde dann etwa so aussehen:

    Code
    strip(&var1,$$[1]);match(%&var1%,"^Willkommen .* auf .*",&var2);if(%&var2%!="");  echo("<Deine Nachricht>");endif

    Erklärung:
    "strip" filtert alle Formatierungs-Befehle aus der Nachricht heraus (Farbe, Unterstreichung, ...)
    "match" kontrolliert, ob die Nachricht ins Schema passt. ".*" steht für ein beliebiges Wort (hier Spieler- und Servername) und das ^ am Anfang kontrolliert, ob dort auch der Anfang der Nachricht ist, um Willkommensgrüße von Spielern rauszufiltern.
    "&var2" enthält den Teil der Nachricht, der gepasst hat, oder gar nichts, wenn die Nachricht nicht ins Schema passt.
    In der 3. Zeile wird geprüft, ob etwas in &var2 drinsteht.
    In der 4. Zeile kannst Du schlussendlich Deine Nachricht eintragen. Benutze "echo", um das Skript eine neue Nachricht senden zu lassen oder "log", um eine nur für Dich sichtbare Meldung im Chat auftauchen zu lassen.


    Diesen Code speicherst Du Dir am besten in einer Textdatei (Makro-Slot wählen -> oben rechts "Datei bearbeiten" -> Namen eingeben -> "Erstellen"). Bei "onChat" gibst Du dann ein:

    Code
    $${exec("<Name der Skript-Datei>","Willkommensgruß","%CHAT%")}$$


    Bin gerade beim Testen, sollte aber klappen. Getestet, berichtigt und für gut befunden. :winking_face:

    Code
    ┌──┐ ┌┐  ┌┐ ┌┐   ┌─┐                         ┌┐
    │┌┐│ ││  └┘┌┘└┐  │┌┘                         ││
    │└┘│ │└─┐┌┐└┐┌┘ ┌┘└┐┌──┐┌─┐┌───┐┌┐┌┐┌───┐┌─┐ ││
    │┌┐│ │┌┐│││ ││  └┐┌┘│┌┐││┌┘│ ─ ││└┘││ ─ ││┌┘ └┘
    │└┘│ │└┘│││ │└┐  ││ │└┘│││ │ ──┤└┐┌┘│ ──┤││  ┌┐
    └──┘ └──┘└┘ └─┘  └┘ └──┘└┘ └───┘ └┘ └───┘└┘  └┘

    Einmal editiert, zuletzt von Tobias1595 ()

  • Hast Du alles exakt so eingetragen, wie es da steht? Alle Anführungszeichen an der richtigen Stelle, kein Semikolon hinter der letzten Zeile, den kurzen Befehl in der Zeile vom "onChat"-Event?
    Hast Du vielleicht beim Namen der Skript-Datei das ".txt" vergessen?
    Taucht eine Fehlermeldung auf oder passiert einfach gar nichts?

    Code
    ┌──┐ ┌┐  ┌┐ ┌┐   ┌─┐                         ┌┐
    │┌┐│ ││  └┘┌┘└┐  │┌┘                         ││
    │└┘│ │└─┐┌┐└┐┌┘ ┌┘└┐┌──┐┌─┐┌───┐┌┐┌┐┌───┐┌─┐ ││
    │┌┐│ │┌┐│││ ││  └┐┌┘│┌┐││┌┘│ ─ ││└┘││ ─ ││┌┘ └┘
    │└┘│ │└┘│││ │└┐  ││ │└┘│││ │ ──┤└┐┌┘│ ──┤││  ┌┐
    └──┘ └──┘└┘ └─┘  └┘ └──┘└┘ └───┘ └┘ └───┘└┘  └┘
  • Am besten wäre, Du würdest mir einen Screenshot mit der Nachricht, die das Skript erkennen soll zukommen lassen. Denn wenn gar nichts kommt, dann kann es nur sein, dass
    a) das Suchschema falsch ist und somit die Nachricht nicht erkannt wird, oder
    b) irgendeine benötigte Funkion auf diesem Server deaktiviert wurde. (z.B. onChat, exec, echo, ...)

    Code
    ┌──┐ ┌┐  ┌┐ ┌┐   ┌─┐                         ┌┐
    │┌┐│ ││  └┘┌┘└┐  │┌┘                         ││
    │└┘│ │└─┐┌┐└┐┌┘ ┌┘└┐┌──┐┌─┐┌───┐┌┐┌┐┌───┐┌─┐ ││
    │┌┐│ │┌┐│││ ││  └┐┌┘│┌┐││┌┘│ ─ ││└┘││ ─ ││┌┘ └┘
    │└┘│ │└┘│││ │└┐  ││ │└┘│││ │ ──┤└┐┌┘│ ──┤││  ┌┐
    └──┘ └──┘└┘ └─┘  └┘ └──┘└┘ └───┘ └┘ └───┘└┘  └┘