Makros

Aus Arindal Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Allgemein

Makros können einen das Leben in Arindal sehr erleichtern. In ein Makro kann man zum einen längere Befehle ablegen, die man oft benötigt (z.B. "/yell Zu Hilfe, rettet mich. Ich habe nicht aufgepasst und bin gefallen!"). Man muss dann nur noch diese Makro starten und nicht immer wieder alles eintippen. Zum anderen kann man auch eine Folge von Befehlen in einem einzelnen Makro ablegen (z.B. "/pose bow" und "/say Vielen Dank!").

Ein Makro kann dabei auf drei Arten ausgelöst werden:

  • durch einen Befehl
  • durch einen Tastendruck
  • durch Nachricht innerhalb des Spieles


Makros sind auch sehr nützlich im Zusammenhang mit mehrsprachigen Befehlen. Fertige Makros finden sich im Makroarchiv. Eine Übersicht über die Variablen findet sich bei den Makrovariablen und die Funktionen werden unter Makrofunktionen erläutert.

Erstellen von Makros

Um ein Makro zu erstellen, kann man mit einem einfachen Texteditor die Makro-Dateien bearbeiten. Diese findet man sowohl beim Java- wie auch beim Mac-Client im Unterverzeichnis "macros". Man kann in diesem Verzeichnis auch eigene Dateien mit einem beliebigen Namen anlegen und diese dann in andere Makro-Dateien einbinden. Achtung: Die Makrodateien müssen im Unicode (UTF-8) Format gespeichert werden!

Im Verzeichnis "macros" (im Windows-Client data\Macros) gibt es eine Datei mit dem Namen "default" und verschiedene andere Dateien, die die Namen der eigenen Charaktere in Großbuchstaben tragen.

In der Datei "default" befinden sich die Standard-Makros, also die Abkürzungen der gängisten Befehle. Sie wird automatisch in alle vom Client erzeugten charakterspezifischen Makros eingebunden.

Alle Dateien mit dem Namen eines Charakters beziehen sich auch nur auf diesen und werden beim Einloggen in das Spiel automatisch geladen.


Grundlagen

Folgend werden die wichtigsten Grundlagen zur Erstellung von Makros beschrieben. Solche Makros sind schnell gemacht und können einem das Leben bereits stark erleichtern. So kann man mit den Grundlagen bereits Makros schreiben mit denen sich zum Beispiel ein Heiler mit seinem Heilkristall heilt und anschließend seine Waffe wieder anlegt oder mit dem man "Vielen Dank" sagt und sich gleichzeitig verbeugt. Auch wie man ander Makro-Dateien einbindet, wird erklärt.


Einbinden von Makros

Damit ein Makro beim Einloggen geladen wird, muss es entweder direkt in der Makro-Datei stehen, die den Namen des Charakters trägt oder es muss in einer anderen Datei im selben Verzeichnis liegen und wie folgt eingebunden werden:

include "<Dateiname>"

Als Beispiel empfiehlt sich ein Blick in die Makro-Datei, die den Charakternamen trägt. Wurden hier noch keine Makros hinzugefügt, so findet sich hier nur der Eintrag

include "Default"

womit die Standard-Makros aus der Datei Default für den Charakter eingebunden werden.


Einzeilige Makros

Einzeilige Makros bestehen immer aus einem Auslöser und dem auszuführenden Befehl/Text.

<auslöser> <befehl>

Die beiden ersten Beispiele werden durch einen Text, den der Benutzer in das Eingabefeld des Clients eingibt und abschickt, gestartet. Das dritte Beispiel startet durch Drücken der Taste F1.

"hilfe" "/yell Zu Hilfe! \r"
"ss" "/pose sit \r"
F1 "/equip Heilkristall \r"

Die beiden Zeichen '\r' zeigen jeweils das Ende des Befehls an; die Stelle an der man die [ENTER]-Taste drückt, wenn man den Befehl von Hand eingeben würde.


Mehrzeilige Makros

Mehrzeilige Makros haben immer die folgende Form:

<auslöser>
{
  <befehl 1>
  [<befehl 2>]
}

Die Anzahl der Befehle pro mehrzeiligem Makro spielt keine Rolle. So sind die drei folgenden Beispiele denkbar:

"hilfe"
{
  "/yell Hilfe! \r"
}
"thx"
{
  "/pose bow \r"
  "/say Vielen Dank! \r"
}
"heilemich"
{
  "/equip Heilkristall \r"
  "/use 5 \r"
  "/equip Dolch \r"
}


Kommentare

Um die Übersicht bei großen Makro-Dateien nicht zu verlieren kann man die Funktion der Makros kommentieren. Kommentare werden beim Ausführen des Makros nicht beachtet:

// Einzeiliger Kommentar
/* Mehrzeiliger
Kommentar */

Hiermit könnte man beispielsweise schreiben:

/*******************************
* Das Makro heilt mich selber! *
*******************************/

"heilemich"
{
  "/equip Heilkristall \r" //Heilkristall anlegen
  "/use 5 \r" //Heilkristall benutzen
  "/equip Dolch \r" //Dolch anlegen
}

Mit Hilfe von Kommmentaren kann man besonders gut auch nach längerer Zeit Änderungen an Makros vornehmen, da man auf einen Blick sieht, was ein Makro macht und nicht lange nachdenken muss, was man mit welcher Anweisung bezweckt hatte.

Sonderzeichen

Möchte man ein Sonderzeichen, dass eine andere Funktion erfüllt (zum Beispiel einen Befehl einleitet) anzeigen, so muss man es mit einem Backslash \ maskieren:

/*******************************
* Zeigt eine drehende Linie an *
*******************************/
F5
{
  "- \r"
  pause 1
  "\\ \r" //Maskierung des Backslashs
  pause 1
  "\/ \r" //Maskierung des Schrägstrichs
}

Solche Sonderzeichen sind zum Beispiel: Schrägstrich / , Backslash \ , Anführungszeichen " , Einfaches Anführungszeichen ' , Prozentzeichen  % .


Auslöser

Es gibt verschiedene "Auslöser" (oder auch "Trigger"), mit denen ein Makro gestartet werden kann. Auslöser können auch bestimmen, wie sich ein Makro verhält.


Erstes Wort

Das erste Wort, welches man in die Textzeile eingibt, kann als Auslöser agieren. So funktionieren alle in der Datei "Default" beschriebenen Standardmakros.

"<Erstes Wort>" <Befehl>

Beispielsweise findet man bei den Standardmakros ein Makro, dass den Befehl /thinkto zu tt verkürzt, so dass man anstatt "/thinkto <person> <nachricht>" einfach "tt <person> <nachricht>" schreiben kann (und das hat mir schon manches Mal das Leben gerettet!):

"tt"  "/thinkto " @text "\r"

Wortersetzung

Bei der Wortersetzung wird ein Makro durch ein Wort, welches eingeben wird, gestartet und ersetzt dieses Wort:

'<Wort>' "<Ersetzung>"

So kann man zum Beispiel einer Person sagen "<Person> , ich danke dir herzlich für die Rettung" und muss dafür nur "<Person> thx die Rettung" schreiben:

'thx' ", ich danke dir herzlich für"


Tastenkommandos

Tastenkommandos sind die wahrscheinlich schnellste Art ein Makro auszulösen. Hierfür muss man nur den Namen der Taste oder Tastenkombination als Auslöser notieren:

[<Modifikator>-, [...]]<Taste> <Befehl>

Als Beispiel kann ich so ein Kurzschwert auf der Taste "#" anlegen:

# "/equip Kurzschwert \r"

Ein Modifikator bezeichnet in diesem Fall eine Taste wie zum Beispiel die Umschaltaste (Shift-Taste).

shift-d "/action duckt sich. \r"

Möchte man ein Makro zum Beispiel auf [Shift]-0 starten, so muss man darauf achten, dass man

shift-= "/yell Aua... Ein Tier hat mich gebissen \r"

notiert, da durch das Drücken der Shift-Taste keine 0, sondern ein Gleichheitszeichen = erzeugt wird. Analoges gilt für alle Zeichen, die sich durch das Drücken der Modifikation ändern.

Es ist übrigens möglich beliebig viele Modifikatoren zu benutzen (wie gut ein Makro dann handhabbar ist, bleibt eine andere Frage):

control-shift-o
{
  "/action öffnet ein Freßpacket \r"
  pause 15
  "/action mampft ein Brot \r"
  "/pose cry \r"
  pause 3
  "/pose stand \r"
  pause 2
  "/pose cry \r"
  pause 3
  "/pose stand \r"
  pause 2
  "/pose cry \r"
  pause 3
  "/pose stand \r"
  pause 2
  "/pose cry \r"
  pause 2
  "/pose stand \r"
}

Mögliche Tasten:

  • Normale "Schreibtasten"
  • F1 bis F15 (Funktionstasten [F1] bis [F12] bzw. [F15], je nach Tastatur)
  • escape ([Esc])
  • minus ([-])
  • multiply ([*] (nur Numblock) ?) (nur Windows)
  • devide ([/] (nur Numblock) ?) (nur Windows)
  • delete ([Entf])
  • tab ([Tab])
  • return ([Return], die "große Enter-Taste")
  • space ([Leertaste])
  • help (nur auf Macintoshtastatur {?})
  • undo (nur auf Macintoshtastatur {?})
  • print ([Druck/S-Abf]) (nur Windows)
  • home ([Pos1])
  • del ([Entf])
  • insert ([Einfg]) (nur Windows)
  • end ([Ende])
  • pageup ([Bild-rauf])
  • pagedown ([Bild-runter])
  • up ([Pfeil rauf])
  • down ([Pfeil runter])
  • left ([Pfeil links])
  • right ([Pfeil rechts])
  • clear (nur auf Macintoshtastatur {?})
  • enter ([Enter])
  • click (Linker Mausknopf)
  • click2, click3, ... (weitere Mausknöpfe; nur bei Betriebssystemen mit Mehrtastenunterstützung)
  • wheelup (Mausrad hoch; nur bei Betriebssystemen mit Mausradunterstützung)
  • wheeldown (Mausrad runter; nur bei Betriebssystemen mit Mausradunterstützung)
  • wheelleft (Mausrad links; nur bei Betriebssystemen mit Mausradunterstützung)
  • wheelright (Mausrad rechts; nur bei Betriebssystemen mit Mausradunterstützung)

Mögliche Modifikatoren:

  • command ([Apfel]) [Nur Mac]
  • control ([Strg])
  • numpad (Die Tasten im Nummernblock)
  • option [Nur Mac]
  • shift ([Umstelltaste])
  • alt ([Alt]) [Nur Windows]

ToDo

Funktionen

  • pause #
  • ...
F1 /pose sit

Variablen

  • @text
  • ...

Item Kurznamen

Damit Makros mit jeder Sprache funktionieren, sollte man stets die Item Kurznamen verwenden.

%prse purse, Geldbörse, Beurs, bourse

%bram brambleberry cluster, Brombeerstrauch, takje braambessen, baie de ronces

%lila lilaberry cluster, Lilabeerstrauch, takje lilabessen, baie des forêts

%orga orgaberry cluster, Orgabeerstrauch, takje orgabessen, baie des marais

%dggr dagger, Dolch, dolk, dague

%chnn chain, Kette, ?, ?

%shsw short sword, Kurzschwert, kort zwaard, épée courte

%wdsh wooden shield, Holzschild, houten schild, bouclier de bois

%lfcy lifecrystal(moonstone), Heilkristall, levenskristal, Cristal de vie

%club roguewood club, Wurzelholzknüppel, knuppel, gourdin noueux

%hlmt leather helmet, Lederhelm, leren helm, casque de cuir

%mdcy mindcrystal(sunstone), Gedankenkristall, denkkristal, PensePierre

%lcsh lifecrystalshard, Heilkristallsplitter, levenskristalscher, fragment de Cristal de vie

%trdg training dagger, Trainingsdolch, trainingsdolk, dague d'entraînement

%brkg beer keg, Bierfass, biervat, tonneau de bière

%brmg beer mug, Bierkrug, bierkroes, bock de bière

%axee axe, Axt, bijl, hache

%kdzu kudzu seedling, Kudzusetzling, kudzu zaadje, graine de Kudzu

%mgcy strange crystal, Seltsamer Kristall, vreemd kristal, cristal bizarre

%mgst staff, Stab, magiërs staf, bâton

%tnbx tinderbox, Zunderbüchse, vuurdoos, pierre à briquet

%pchm piece of parchment, Stück Pergament, stuk perkament, feuille de parchemin

%ltgl leather gloves, Paar Lederhandschuhe, paar leren handschoenen, paire de gants de cuir

%trch torch, Fackel, fakkel, torche

%inkk bottle of ink, Tintenfass, inktfles, bouteille d'encre

%qull quill, Federkiel, schrijfveer, porte-plume

Unterschiede in den Clients

Benutzer des Mac-Clients und des Windows-Clients stehen Makros in ihrem vollen Umfang zur Verfügung. Der JavaClient in seiner aktuellen Version beherrscht allerdings nur einen kleinen Teil Makro-Sprache.

Java kann:

  • Key-macros (shift-N)
  • Text-Macros ("trigger")
  • Ein- und mehrzeilige Makros
  • die Variable @text
  • message, pause, random, set/setglobal (teilweise)

Java kann nicht:

  • Replacement Macros ('trigger')
  • alle anderen Variablen
  • if, goto, label, call, move

Links

Links zu großen und kleinen Makroarchiven finden sich im Makroarchiv selber. Ein Beispiel für ein größeres Makro ist das Makro von Reizende.

Von „index.php/Makros
Persönliche Werkzeuge