Info: Diese Datei enthaelt das komplette Wegesystem! Es ist soweit wie moeglich mudunabhaengig (ggf. sind geringe Anpassungen fuer andere Muds notwendig).
Vor Benutzung bitte folgende Hilfe-Punkte lesen: knoten, wege, go, wo. Den Rest dann bei Bedarf.
Sonstiges: cache
Einfuehrung: Detaillierte Bedienungsanleitung: siehe auch wege.
Siehe auch wegeingabe.
Wenn man sich mit Kommandos durch die Gegend bewegt, die in der Liste xtramoves stehen (es sind schon die meisten Richtungskommandos drin), wird der Hin- und Rueckweg mitgeloggt. _Wenn_ man den Weg zurueckgehen koennen will, oder den Weg (ohne editieren) abspeichern will, dann muss man die wegespezifischen Sachen (Spezialkommandos) extra eingeben. Dazu einfach die Taste "0" auf dem Ziffernblock druecken oder selber "/vorwaerts" eintippen.
Es kommt dann: /vorwaerts - dahinter einfach den Befehl eintragen, der dann sofort ausgefuehrt wird und ggf. (bei komplexen Sachen) kommt danach noch ein /rueckwaerts (eventuell mit Vorgabe). Wenn im Weg bei /rueckwaerts oder /vorwaerts nichts kommen soll, dann einfach Enter druecken.
Wenn man einen Weg speichern will, tippt man einfach an dem Punkt, wo er enden soll, "/end/end(tf) Name" ein und dann wird der Weg von letztem Punkt zu Name gespeichert; Wenn der Endpunkt schon bekannt ist, reicht auch /end. Noch ein paar Fragen beantworten ... fertig.
In den Wegen koennen auch noch witzige Makros enthalten sein (siehe wegmakros).
Zum Wegebearbeiten exisiteren folgende Kommandos:
Mit "/delway" kann man einen Weg aus der Wegeliste loeschen. Es erfolgt eine Abfrage und die Wegeliste wird abgespeichert!!!
Mit "/showway from to" kann man sich einen Weg from -> to anzeigen lassen (als Wildcard ist einmal * erlaubt, also alle Wege von/zu einem Punkt).
Mit "/editway" kann man Wege nachtraeglich editieren.
Knotenkommandos: siehe auch knoten
"/shownode name" oder "/shownode *" zeigt die Beschreibungen fuer den Knoten oder eine Liste aller Knoten an.
"/addnode [name]" ersetzt alle vorhandenen Beschreibungen fuer den aktuellen oder angegebenen Knoten durch die aktuelle Raumbeschreibung.
"/appendnode [name]" fuegt die Raumbeschreibung der Liste hinzu.
"/delnode [name]" loescht den Knoten und alle Wege, die zu ihm hin- oder von ihm wegfuehren.
"/wo" stellt den aktuellen Knoten fest und zeigt ihn an.
"/setali" vergibt Aliase fuer Knotennamen (die etwas laenger sein koennen).
Siehe auch: ways, knoten, wege, portale, dimensionen, wegmakros, sperren, einschraenkungen, knotenaliase, wegeingabe, editieren
Kommandos: lplp(tf), wayindex, askway, gof, wgo, go, noport, port, wpara, nopara, testway, continue, disable, enable, showways, ao, setali, weg, walk, vorwaerts, addnode, appendnode, delnode, wo, addallpoints, shownode, comparelastpoints, gobk, end end(tf), reverseway, splitway, editway, showway, delway, renamenode, rush, addnodeinfo, nodes_geb, nodes_info
Benoetigt: loading.tf, lists.tf, util.tf, help.tf, in dem Verzeichnis ${world_host(tf)}: xtramoves.list.tf, comm_abbr.list.tf, customize.tf, way.list.tf, fromidx.list.tf, toidx.list.tf, lastpoints.list.tf, [nodealias.list.tf]
Datei: way.tf
Aenderungen: 1.01 Das Problem mit dem tfread()/read(tf)() wurde durch /myread in util.tf geloest. Deshalb wurde bug_way zweigeteilt. Falls irgendwo noch das Problem mit dem read() auftritt, bitte Mail an mich.
1.02 Es wird jetzt /shread in den Makros verwendet, das sollte keine Probleme mehr machen.
Die /speedwalk(tf)-Syntak wird per Makro und Send-Hook unterstuetzt /walk.
1.03 /walk und /h_move unterstuetzen jetzt den Mapper mapper.tf (siehe auch dort</a(tf)>).
1.03 Neues Makro /cond_stop fuer bedingtes Anhalten auf Wegen, einige nicht customizable Fehler rausgenommen.
1.04 * Fehlermeldungen von /go erweitert.
* Ausgabe der durchlaufenen Knoten und bei /wo.
* Prefix-Makros fuer jeden Wegebefehl eines Bereiches (/cond_go).
* Einbindung von Mapper in /h_move, /wo, bzw. bei /go.
* Bei der Nutzung von verify (/von, /npc) in den Wegen ist jetzt bei einem Hindernis sowohl /c(tf)[ontinue] (weiterlaufen, nachdem Hindernis beseitigt ist) als auch /back (zurueck zum letzten passierten Knoten) moeglich.
* /addway zum direkten Hinzufuegen eines Weges.
* Wegen der Konsistenz der Listen werden die Wegelisten vor jeder Veraenderung neu geladen und danach wieder gespeichert.
* Fehler in /renamenode (hoffentlich) behoben ,)
1.05 * /gof erlaubt jetzt auch die Angabe des Startknotens (also kein /wo vorher).
* Der Inhalt der Variable %after_go wird jetzt nach dem Ablaufen eines Weges mittels /go ausgefuehrt.
* /para fuer Stroh in /wpara umbenannt.
* Einbindung der Parawelt des Mappers in /wpara und /nopara.
* Neues sehr hilfreiches makro /rush zum schnellen Ablaufen langer, unverzweigter Wege.
1.06 (3.11.99) /shownode arbeitet jetzt auch mit Wildcards.
1.07 (13.12.99) /go ist in /_go umbenannt worden, damit eigene Kreationen das /go ersetzen koennen. Kandidaten dafuer sind '/gof start ziel' oder '/wgo ziel' (testet den Startknoten) (z.B. /def(tf) go = /wgo %*%;).
/break_tri bricht einen Weg ab, wenn ein Triggertext anschlaegt.
/do_tri fuehrt einen Befehl aus und fuehrt den Weg dann fort, wenn der Trigger anschlaegt.
1.07 (05.01.00) * /shownode, /nodes_geb und /nodes_info zeigen jetzt auch Aliase richtig an.
* /goto und /gobk optimieren jetzt den Weg (n%;s%; raus), bevor der weg vom letzten Knoten wiederholt bzw. zum letzten Knoten zurueckgegangen wird.
* An den Grenzen der Teilwege gibt es eine Optimierung (n%;s%; raus).
-------------------------
(top)
Info: Fuegt einen !kompletten Weg zur Liste ways hinzu.
Siehe auch: ~getway, ways
Datei: way.tf
Info: Liefert einen kompletten Weg aus der Liste ways zurueck.
Datei: way.tf
Info: Die Liste 'ways' enthaelt alle Wege in kompletter Form:
Anfang: Subliste aller wegfuehrenden Wege, naechster Anfang ...
Subliste: Ziel Dimension([n]ormal|[p]arawelt|[b]eides)
Erlaubnis(siehe dort), Laenge des Wegs Weg, naechstes Ziel ...
Aus dieser Liste werden zwei Indizes erzeugt: Der 'fromidx', der eine verkuerzte Form von Ways darstellt, d.h. ohne die eigentlichen Wege, und der 'toidx', der die nach Zielen gruppierte Liste enthaelt.
Siehe auch: knoten, dimensionen, portale, wege
Datei: way.tf
Info: Die Knoten des Wegesystems halten dieses zusammen. Zwischen ihnen verlaufen die Wege. Die Knoten werden als Raeume erkannt, sie sind Anfangs-, Zwischen- und Zielpunkte jedes berechneten Weges. Die Knoten werden in allen Wegelisten abgespeichert.
Fuer die Knoten gelten bestimmte Namenskonventionen:
In den Knotennamen sollten nur Buchstaben, Zahlen und Unterstriche stehen.
Kneipe: Kname, Laden: Lname, Portale tname, Seherhaeuser: ein paar Buchstaben des Namens des Sehers (kleingeschrieben)
Es gibt ein paar reservierte Namen: tport, laden, kneipe.
Bitte haltet Euch an die Konventionen, sie sind sehr wichtig.
Fuer jeden Knoten kann mit /setali ein Aliasname vergeben werden, der dann ganz normal genutzt werden kann.
Jeder der Knoten kann mittels /wo als Raum im Mud erkannt werden. Mit /lp /lp(tf) kann man auch Knoten per Hand setzen, das sollte aber nicht noetig sein. Die Anzeigevariable fuer die Knoten lautet %showpoint. Diese zeigt auch die ggf. vorhandenen Aliase korrekt an.
Kommandos: shownode, setali, appendnode, addnode, delnode, wo
Datei: way.tf
Info: Die Wege des Systems werden in einer grossen Liste (ways) gespeichert. Sie werden durch Anfangs- und Endknoten und gewisse Einschraenkungen definiert. Die Eingabe der Wege kann direkt im Mud erfolgen. Es ist also nicht notwendig, die Listen von Hand zu bearbeiten (und auch nicht zu empfehlen!!!). Die Eingabe der Wege erfolgt einfach durch das einmalige Ablaufen des Weges. Wenn Sonderbewegungsbefehle entsprechend beruecksichtigt wurden, sind danach beide Wege (Hin- und Rueckweg) verfuegbar. Das Abspeichern eines Weges erfolgt mit /end /end(tf) (siehe dort).
Es gibt mehere Kommandos zum Verwalten der Wege, die alle dieselbe Syntax haben:
/kommando anfangsknoten|* endknoten|* (* * ist unzulaessig)
ACHTUNG: Die Editierkommandos speichern die Aenderungen sofort ab!
Kommandos: showway, editway, delway
Datei: way.tf
Info: Setzt den aktuellen Knoten auf den uebergebenen Parameter. Der Inhalt der Variablen %cond_go wird geloescht. Wenn der Mapper aktiv ist (%mapper==1), wird ein 'go knotename' an den Mapper gesandt.
Siehe auch: /cond_go, mapper
Datei: way.tf
Info: Setzt den aktuellen Knoten. Dabei wird nicht geprueft, ob dieser Knoten schon existiert. Das kann genutzt werden, wenn /wo versagt, oder wenn man von diesem neuen Knoten aus eine Weg erstellen will.(Dann aber nach dem /lp /lp(tf) /appendnode aufrufen.)
Der Puffer fuer die Wegaufzeichnung wird geloescht!!
Datei: way.tf
Info: Nach manuellen Arbeiten an der Liste ways MUSS /wayindex aufgerufen werden, damit die Indexlisten neu erstellt werden!
Datei: way.tf
Info: Sortiert eine Wegknotensubliste nach der Laenge der Teilwege.
Datei: way.tf
Info: Initialisiert die Listen fuer das Wegberechnen.
Datei: way.tf
Info: Enthaelt die Hauptschleife fuer das Wegesuchsystem, d.h. von den zwei Endpunkten aus werden sternfoermig die kuerzesten Wege gesucht, und bei Ueberschneidungen der beiden Netze wird der gefundene Gesamtweg benutzt.
Datei: way.tf
Info: Fuehrt die Wegesuche fuer jeden einzelnen Knoten der Start- und Zielnetze aus.
Datei: way.tf
Info: Testet, ob sich Hinweg und Rueckweg schon treffen.
Datei: way.tf
Info: Loescht die Wege, die laenger als die angegebene Variable (from|to)maxlen sind aus der Liste (from|to)temp_list.
Datei: way.tf
Info: Liefert den kuerzesten Weg aus der Liste (from|to)l_w.
Datei: way.tf
Info: Initialisiert die Listen fuer das Wegberechnen.
Datei: way.tf
Info: Enthaelt die Hauptschleife fuer das Wegesuchsystem, d.h. von den zwei Endpunkten aus werden sternfoermig die kuerzesten Wege gesucht, und bei Ueberschneidungen der beiden Netze wird der gefundene Gesamtweg benutzt.
Datei: way.tf
Info: Fuehrt die Wegesuche fuer jeden einzelnen Knoten der Start- und Zielnetze aus.
Datei: way.tf
Info: Testet, ob sich Hinweg und Rueckweg schon treffen.
Datei: way.tf
Info: Loescht die Wege, die laenger als die angegebene Variable (from|to)maxlen sind aus der Liste (from|to)temp_list.
Datei: way.tf
Info: Liefert den kuerzesten Weg aus der Liste (from|to)l_w.
Datei: way.tf
Info: Initialisiert die Listen fuer das Wegberechnen.
Datei: way.tf
Info: Damit kann man den Zustand 'askway' umschalten. Wenn askway eingeschaltet ist, wird der Weg berechnet und angezeigt. Dann wird auf eine Eingabe gewartet. Wenn diese (n)ein ist, wird der Weg nicht gegangen, ansonsten (Return) wird der Weg gegangen.
Siehe auch: go
Datei: way.tf
Info: Damit es nicht immer so muehselig ist, erst /wo und dann /go zu benutzen, habe ich den Befehl /gof hinzugefuegt, dessen erster Parameter der Ausgangsknoten ist.
Beispiel:
/gof start ziel
Datei: way.tf
Info: die Variable %after_go kann beliebige Kommandos (Mud oder tf) enthalten, die nach erfolgreichem Ablaufen eines Weges ausgefuehrt werden. Der Trenner fuer tf sollte aber escaped werden.
Beispiel:
/set after_go /echo Jetzt bin ich fertig\%;tanze\%;
/go ziel
Jetzt bin ich fertig
Du tanzt.
Siehe auch: go
Datei: way.tf
Info: Testet ob er den aktuellen Raum kennt. Wenn ja, wird der Weg gegangen (via /_go), und wenn nicht, gibt es eine Fehlermeldung.
Datei: way.tf
Info: Ist der wichtigste Befehl des Wegeprogramms.
Syntax: /go [knoten1 knoten2 ...] endknoten
Es wird ein Weg ueber die angegebenen Knoten zum Endknoten berechnet. Der Weg wird angezeigt und dann geht es los. ;)
Da der Weg, der vom letzten bekannten Knoten aus gegangen wurde, mitgeloggt wurde, wird zuerst zu dem letzten bekannten Knoten gegangen, danach wird der berechnete Weg zum Zielknoten gegangen.
Dabei gibt es folgende Besonderheiten: Fehler treten auf, wenn auf dem Weg zum letzten bekannten Knoten Wegebefehle auftreten, die keine Richtungs- befehle sind oder wenn der Rueckweg zum Knoten anders verlaeuft als der Hinweg.
Fehler (Zyklus) werden gemeldet, wenn der Startknoten im Laufe des (erzwungenen) Weges wieder passiert wird.
Waehrend des Weges kann allerlei passieren:
Fall kein bekannter Startpunkt vorhanden ist, wird das gemeldet.
Wenn ein Hindernis im Weg steht und das im Weg vorgesehen ist, wird man gefragt, ob man den Weg temporaer sperren will. Wenn ja, wird dies getan, und man kann mit /continue oder /c(tf) zum letzten Knotenpunkt zuruecklaufen Wenn nein, muss man das Hindernis beseitigen und kann dann mit /continue weiterlaufen bis zum Ziel.
Wenn ein NPC vorgesehen ist, den man sowieso weghaut, gibt es die erste Variante nicht. Man bekommt aber eine schoene Meldung ;).
Ausserdem koennen im Weg beliebige Makros enthalten sein, die dann alles moegliche machen. Zu diesen Sachen steht viel mehr unter Wegeingabe.
Schon gegangene Wege werden in einer Liste temporaer zwischengespeichert, damit es beim zweiten Mal schneller geht. Wenn man einen Weg dauerhaft speichern will, so sollte man /ao benutzen.
Siehe auch: /gof, %after_go
Datei: way.tf
Aenderungen: 1.04 Fehlermeldung, wenn Teilknoten des Weges keine Ausgaenge hat, andere Fehlermeldungen praezisiert.
1.05 der Inhalt der Variablen %after_go wird nach komplettem Ablaufen des Weges ausgefuehrt.
Info: Schaltet die Portale aus. Loescht die Liste zwischengespeicherter Wege.
Siehe auch: portale, dimensionen, para, nopara, port
Datei: way.tf
Info: Schaltet die Portale ein. Loescht die Liste zwischengespeicherter Wege.
Siehe auch: portale, dimensionen, para, nopara, noport
Datei: way.tf
Info: Da die Portale in einem Wegesystem eine grosse Zeitersparnis bringen, werden sie auch extra behandelt. Es gibt einen Befehl zum Ein- und Ausschalten der Portale.
Ausserdem gibt es einen Spezialknoten namens 'tport' (bzw. %portal_node), der das naechstgelegene Portal bezeichnet, und von dem aus nur die Portale funktionieren.
Siehe auch: Spezialknoten, Wege
Datei: way.tf
Info: Da es neben der Normalwelt auch noch die Parawelt gibt und einige Weg dort nicht und andere nur dort funktionieren, ist die Einschraenkung Dimension mit in das Wegesystem integriert worden.
Gueltige Werte dafuer sind (b)eide (n)ormal (p)arawelt
Bei der Wegeingabe kann so ein Weg entsprechend gekennzeichnet werden und diese Wege werden dann auch entsprechend beruecksichtigt.
Siehe auch: para, nopara, ao, ways, wegeingabe, editway
Datei: way.tf
Info: Schaltet die aktuelle Dimension auf Parawelt um.
Siehe auch: dimensionen, nopara, ways, editway, portale
Datei: way.tf
Info: Schaltet die aktuelle Dimension auf Normalwelt um.
Siehe auch: dimensionen, para, ways, editway, portale
Datei: way.tf
Info: Fuehrt die Berechnung genauso wie /go aus und zeigt den Ergebnisweg komplett an. Der Weg wird nicht ausgefuehrt, aber trotzdem in den Cache geschrieben, so dass bei einem nachfolgenden /go sofort losgelaufen wird.
Beispiel:
/testway gilde
Siehe auch: go
Datei: way.tf
Info: Erstellt aus der Abfolge der Knoten den eigentlichen Weg, testet ggf. ueber 'askway', ob man den Weg gehen will, geht zum letzten bekannten Knotenpunkt und startet von dort aus das Ablaufen des Weges. Vorher wird noch der Ultrakurzmodus mittels mud_shortest_output eingeschaltet und vor dem letzten Befehl im Weg der Kurzmodus (mud_short_output) eingeschaltet.
Datei: way.tf
Info: Nach einer Unterbrechung fuehrt /continue oder kurz /c(tf) den Weg entweder weiter oder geht zum letzten Knoten zurueck. Es wird vorher wieder mit 'mud_shortest_output' in den Ultrakurzmodus geschaltet.
Siehe auch: wegeingabe
Datei: way.tf
Info: Geht den unterbrochenen Weg weiter. MUSS von eigenen Makros ausgefuehrt werden, nachdem sie ihre Funktion erfuellt haben.
Siehe auch: continue, wegeingabe
Datei: way.tf
Info: Loescht die Prompts der letzten Befehle an das Mud, so dass ein aktueller Einlesetrigger, der die Ausgaben des Muds liest, nur noch die des letzten Befehls bekommt (ueber mud_recognize_command).
Siehe auch: wegeingabe, mud_recognize_command
Datei: way.tf
Info: In den Wegen koennen ja beliebige Makros enthalten sein. Ein paar nuetzliche sind schon vorhanden.
Siehe auch: lwo, npc, von, voff, wait, tri, utri, stop, continue, cw, cond_stop, cond_go, no_cond_go, break_tri, do_tri
Datei: way.tf
Info: Wartet, bis der richtige Raum errreicht ist, und macht dann /wo.
Siehe auch: wegeingabe
Datei: way.tf
Info: Testet, ob ein NPC im Weg steht. Wenn ja, haelt es an. Mit /continue geht es dann weiter. Da es 'verify' einschaltet, muss nach dem kritischen Befehl das verify mit /voff wieder ausgeschaltet werden.
Siehe auch: wegeingabe, von, voff
Datei: way.tf
Info: Schaltet 'verify' ein, d.h. bis /voff kommt wird, jeder Befehl auf Erfolg getestet. Wenn einer nicht erfolgreich ist, wird das mit der entsprechenden Fehlermeldung angezeigt. Mit dem Parameter 2 reagiert es so wie /npc. Nach dem kritischem Abschnitt muss verify mit /voff wieder ausgeschaltet werden.
Beispiel:
fuer einen Weg: n%;/von%;zu testender Schritt%;/voff%;s%;
Siehe auch: wegeingabe, von, voff
Datei: way.tf
Info: Schaltet 'verify' aus. Danach werden alle Kommandos ohne Ueberpruefung ausgefuehrt.
Siehe auch: wegeingabe, von
Datei: way.tf
Info: Fuehrt seinen Parameter aus und setzt dann den Weg fort.
Datei: way.tf
Info: Wartet die angegebene Zahl Sekunden, bis der Weg weiter ausgefuehrt wird, und fuehrt ggf. das angegebenen Kommando aus. /wait kann benutzt werden, um im Zusammenhang mit /cond_go vor jedem Wegschritt eine Pause einzulegen (/cond_go /wait sekunden).
Siehe auch: cond_go, no_cond_go
Datei: way.tf
Info: Wenn innerhalb eines Weges angewandt, wird das Kommando gesetzt, das vor jedem Mud-Wegbefehl ausgefuehrt wird. Es kann z.B. zum Ueberpruefen komplexer Bedingungen in einem Gebiet genutzt werden, oder mit /wait zum Setzen einer Pause vor jedem Wegebefehl. Mit /no_cond_go wird dieser Modus wieder aufgehoben. Fuer die Kommandos, die mit /cond_go gesetzt werden, gelten folgende Bedingungen:
* Der uebergebene Wegebefehl muss im Erfolgsfall ausgefuehrt werden.
* Das Makro muss im Erfolgsfall mit /cont_way beendet werden, damit der Weg fortgesetzt werden kann.
* Bei Komplettabbruch des Weges muss die Variable go auf 0 gesetzt werden.
Beispiel:
/def check = /echo naechster Befehl %*%;/cw%; /cond_go /check
'/cond_go /wait 4' wartet vor jedem Wegebefehl 4 Sekunden
Siehe auch: wait, no_cond_go
Datei: way.tf
Info: Setzt den mit /cond_go gesetzten Befehl zurueck.
Datei: way.tf
Info: Haelt den Weg an. Er kann dann mit /continue fortgesetzt werden. Es wird der Kurzmodus (mud_short_output) eingestellt und eine Meldung ausgegeben.
Datei: way.tf
Info: Wenn die Bedingung erfuellt ist, wird an der Stelle der Weg angehalten und kann dann mit /continue fortgesetzt werden.
Beispiel:
/cond_stop 1==0 oder /cond_stop party (true, wenn party gesetzt und ungleich 0)
Datei: way.tf
Info: Fuehrt den angegebenen Weg aus. Dabei werden die integrierten Sonderbefehle bzw. die eigenen Makros entsprechend beruecksichtigt. Beim Wegablaufen mit Ueberpruefung wird auf die Fehlerausgaben des Muds (mud_blocking_output) getriggert. Wenn Prefixmakros innerhalb der Wege angegeben sind, werden sie vor jedem Mud-Befehl ausgefuehrt.
Datei: way.tf
Info: Definiert einen Regexp-Trigger, der den Weg fortsetzt, wenn er triggert.
Beispiel:
/tri (Ein Schiff kommt an\\.)
Siehe auch: wegeingabe, utri, regexp(tf), do_tri, break_tri
Datei: way.tf
Info: Definiert einen Regexp Trigger, der den Weg fortsetzt, wenn er triggert, und zwar mit dem Richtungsbefehl, dessen Px-Nummer als erster Parameter angegeben wird.
Beispiel:
'/dir_tri 1 Das Schild zeigt nach ([A-Za-z]+), ([A-Za-z]+) und ([A-Za-z]+)'. Dann wird die Richtung, die in der ersten Klammerung steht, als erster Wegebefehl ausgefuehrt.
Datei: way.tf
Info: Fuehrt den vor der '(' uebergebenen Befehl aus und fuehrt den Weg fort, wenn der Trigger innerhalb der Klammern anspringt.
Beispiel:
/do_tri druecke knopf(Der Aufzug kommt an)
Siehe auch: wegeingabe, utri, regexp(tf), tri, break_tri
Datei: way.tf
Info: Testet, ob einer der Befehle, die nach dem /break_tri und vor dem naechsten /voff kommen, dem Triggertext (regexp) entspricht, und bricht dann den Weg ab; ansonsten wird er fortgesetzt.
Beispiel:
/break_tri (Ohne Seil kommst Du hier nicht lang)%;kletter nach unten%;/voff%;
Siehe auch: wegeingabe, utri, regexp(tf), tri, do_tri, voff
Datei: way.tf
Info: Da nicht alle Befehle, die ans Mud geschickt werden, einen Prompt generieren, diese aber benoetigt, wird um festzustellen, ob ein Teilweg schon abgelaufen wurde, zaehlt dieses Makro den Promptzaehler eins hoeher und setzt dann den Weg fort.
Siehe auch: h_action_prompt, cont_way
Datei: way.tf
Info: Definiert einen Regexp-Trigger, der den Weg fortsetzt, wenn er triggert. Dieser Trigger macht zuerst ein %mud_look_command, um ggf. schon im Raum befindliche Dinge festzustellen. Daher ist es am besten, den Trigger mit einer zweiteiligen rexexp zu versehen.
Beispiel:
/utri (Ein Schiff\\.|Ein Schiff kommt an\\.)
Siehe auch: wegeingabe, tri, regxexp
Datei: way.tf
Info: Wird ausgefuehrt, falls bei der ueberprueften Wegausfuehrung ein Fehler aufgetreten ist.
Wenn verify=1 ist, wird gefragt, ob der Weg zwischen dem letzten und dem naechsten Knoten temporaer gesperrt werden soll. Es wird versucht, den Rueckweg zum letzten bekannten Knoten zu berechnen. Dieser kann dann mit /back zurueckgegangen werden. Ansonsten muss das Hindernis beseitigt werden und dann kann mit /c(tf)[ontinue] der Weg fortgesetzt werden.
Ist verify==2, dann wird nur das Monster geknuddelt, das im Weg steht, und nach der Beseitigung ;) wird mit /c(tf)[ontinue] weitergegangen.
Datei: way.tf
Info: Wegstuecken koennen temporaer gesperrt werden. Das kann von Hand mittels /disable erfolgen, oder wenn bei der Ausfuehrung eines Weges ein Fehler auftrat.
Siehe auch: disable, enable, verify
Datei: way.tf
Info: Diese Liste enthaelt die temporaer (wird nicht gespeichert) gesperrten Wegstuecke in der Form Anfangsknoten_Endknoten.
Der dazugehoerige Befehl testet, ob die angegebenen Wegstuecken gesperrt sind.
Siehe auch: enable, disable, go, sperren
Datei: way.tf
Info: Damit werden Wegstuecke temporaer gesperrt.
Siehe auch: enable, go, disabled, sperren
Datei: way.tf
Info: Der Wegecache speichert die bisher gelaufenen Wege, so dass sie kein zweites Mal berechnet werden muessen. Dabei werden alle Bedingungen (Para/Normalwelt und die Bedingungen im Weg) mit den zur Berechnung aktuellen Werten mit im Cache aufgenommen. Wenn kein Weg gefunden wird, der mit den aktuell gueltigen Werten berechnet wurde, wird er neu berechnet, ansonsten aus den Infos im Cache erzeugt.
Der Cache wird beim Ausfuehren von /editway, /delway, /delnode, /addway usw. aktualisiert.
Beispiel:
hier mal ein Beispiel fuer einen Cacheeintrag:
-- neander_tpv:
start: neander
end: tpv
steps: 35
way: neander:neanderu:tdrachen:tport:tpv
dim: n
allow: (portals==1)&(p_state=/"seher")
Siehe auch: show_cache, remove_from_cache, clear_cache
Datei: way.tf
Info: Zeigt den Inhalt des Wegecaches sortiert an.
Siehe auch: cache, remove_from_cache, clear_cache
Datei: way.tf
Info: Loescht den Cache mit den Wegen.
Siehe auch: cache, remove_from_cache, show_cache
Datei: way.tf
Info: Entfernt alle Wege aus dem Cache, die den angegebenen Knoten oder Teilweg enthalten.
Beispiel:
'/remove_from_cache knotenname' oder '/remove_from_cache knoten1 knoten2'.
Siehe auch: cache, clear_cache, show_cache
Datei: way.tf
Info: Damit werden temporaer gesperrte Wegstuecke wieder freigegeben.
Siehe auch: disable, go, disabled, sperren
Datei: way.tf
Info: Zeigt alle Wege von und zum angegebenen Knoten, oder, wenn keiner angegeben wurde, des aktuellen Knotens an.
Siehe auch: showwway
Datei: way.tf
Info: Aus der uebergebenen Abfolge der Wegknoten ermittelt diese Funktion den kompletten Weg.
Datei: way.tf
Info: fuegt den zuletzt gegangenen Weg zur Liste der fest gespeicherten Wege hinzu. Dabei wird die Dimension des Weges mit abgefragt.
Siehe auch: dimensionen
Datei: way.tf
Info: Die Einschraenkungen fuer die Wege sind wie folgt anzugeben:
all - keine Einschraenkungen.
spielername - nur derjenige kann diesen Weg benutzen.
property:wert - diejenigen koennen den Weg benutzen, deren Properties dem angegebenn Wert entsprechen. Dabei reichen die zur Identifikation notwendigen Buchstaben (z.B. lev:10 fuer Level > 10); bei numerischen Properties wird angenommen, dass der Wert der Property groesser als der angegebene sein muss. Ansonsten muessen die Wertangaben mit dem Wert der Property mindestens den Anfangsbuchstaben gemeinsam haben. Also aufpassen mit den Wertangaben.
logischer Ausdruck mit Properties: Dieser wird einfach ausgewertet, alsoalle Properties ausschreiben und bei der Konstruktion aufpassen.
Beispiel:
'lev:10 (level>10)' oder '((p_guild=~"chaos")&(p_guild_level>6))' usw.
Siehe auch: properties, wege, mud_properties
Datei: way.tf
Info: Testet, ob die aktuellen Properties erlauben, diesen Weg zu gehen.
Siehe auch: einschraenkungen
Datei: way.tf
Info: Liefert das Alias zum Knoten; wenn keins vorhanden ist, dann den Knotennamen selbst.
Datei: way.tf
Info: Liefert den Knotennamen zum Alias; wenn kein Alias vorhanden ist, wird der Parameter zurueckgegeben.
Datei: way.tf
Info: Fuer die Wegknotennamen, die beim Erstellen der Wege vergeben wurden, koennen im Nachhinein Aliase vergeben werden, je nach persoenlichem Geschmack. Deshalb bitte die Knotennamen eindeutig und verstaendlich vergeben, damit auch ein anderer was damit anfangen kann.
Intern wird trotzdem mit den Knotennamen gearbeitet ;)
Datei: way.tf
Info: Erlaubt fuer beliebige Wegeknoten Aliase zu vergeben. Die Liste der Aliase wird sofort im Anschluss abgespeichert.
Siehe auch: Knotenaliase
Datei: way.tf
Info: Die Wegeingabe muss von einem Knotenpunkt starten, der entweder mit /wo oder mit /lp /lp(tf) gesetzt wurde. Es gibt zwei Arten Wege einzugeben:
Mit /weg werden alle Kommandos, die eingegeben werden, im Hin- und (sofern es erkennbar ist) auch im Rueckweg abgespeichert.
Wenn einfach mit dem Ziffernblock durch die Gegend gewandert wird, werden die Schritte auch mitgeloggt. Spezielle Befehle koennen durch die 0-Taste des Ziffernblocks eingegeben werden. Sofern bekannt. wird auch deren Umkehrung im Rueckweg gespeichert, wenn nicht. wird nach einer gefragt. Diese Befehle werden sofort ausgefuehrt. Mit dieser Taste koennen auch die im Weg enthaltenen Makros eingegeben werden.
Wenn man mit dem Weg fertig ist, macht man einfach /end. Sofern man an einem bekannten Knoten steht, wird das erkannt, ansonsten wird man zur Namensverleihung gebeten.
Dann wird der Weg abgespeichert (siehe dort).
Siehe auch: weg speichern, weg editieren, weg, end end(tf), lp lp(tf), wo
Datei: way.tf
Info: Speichert ab dem Einschalten alle Kommandos im Hin- und (sofern erahnbar) auch im Rueckweg. Ab dem Ausschalten per /weg oder /end /end(tf) dann nicht mehr.
Siehe auch: wege,
Datei: way.tf
Info: Ein Send-Hook, der auch als Makro aufgerufen werden kann und die Syntax des speedwalk(tf) versteht. Er fuegt die expandierten Bewegungen den Wegespeichern des Wegesystems hinzu. Das Besondere ist, dass das Trennzeichen movement_marker selbst gesetzt werden kann und dass die Befehle als eine Zeile an das Mud gesendet werden. Das Trennzeichen muss auch vor dem ersten Befehl auftauchen, damit nicht beliebige ans Mud gesendete Strings untersucht werden muessen.
Beispiel:
[/walk ],5o,2n,25 klatsche,ob,schaue
Siehe auch: shorten, customize.tf
Datei: way.tf
Aenderungen: 1.03 Der Hook kommuniziert mit der Mapper Application mapper.tf, wenn die Variable mapper auf 1 gesetzt ist. Wenn %automapper auf 1 gesetzt ist, werden Bewegungen sofort in neue Ausgaenge umgewandelt.
Der Hook wird jetzt erst in der customize.tf definiert, wenn der 'movement_marker' feststeht, damit unnoetige Sufrufe vermieden werden. Susserdem kommen sich so hoffentlich die verschiedenen Send-Hooks nicht mehr in die Quere.
1.04 * Einbindung des Mappers (mapper.tf). Die Befehle, die ans Mud gesandt werden, bekommt auch der Mapper, sofern (%mapper==1). Wenn (%automapper==1) werden dem Mapper zuvor die Befehle zum Erzeugen der Ausgaenge uebermittelt.
* Bug beim Speichern des Rueckweges behoben.
Info: Ueberprueft alle Eingaben auf Richtungsbefehle und speichert diese ab.Wenn die Wegaufzeichnung eingeschaltet wurde, werden _alle_ Eingaben abgespeichert. Natuerlich wird auch der Rueckweg gleich mit erzeugt.
Siehe auch: wege, hooks hooks(tf)
Datei: way.tf
Aenderungen: 1.03 unterstuetzt die Mapper Application (siehe walk).
1.04 Einbindung des Mappers (mapper.tf). Die Befehle, die ans Mud gesandt werden, bekommt auch der Mapper, sofern (%mapper==1). Wenn (%automapper==1) werden dem Mapper zuvor die Befehle zum Erzeugen der Ausgaenge uebermittelt.
Info: Speichert den angegebenen Wegebefehl im Hinweg. Wenn 'verify' eingeschaltet ist, passiert das nur bei erfolgreicher Ausfuehrung des Befehls. Wenn online eingeschaltet ist, wird der Befehl sofort ausgefuehrt, ansonsten nicht.
Wenn der Rueckbefehl bekannt ist, wird er im Rueckweg gespeichert. Dabei kann ggf. nachgefragt werden. Wenn der Rueckbefehl nicht bekannt ist, wird nachgefragt. Wenn ein '+' vor dem Befehl steht, wird versucht, ihn und auch den Rueckbefehl zu expandieren ('soob' wird zu 'suedostoben' etc.).
Siehe auch: online, verify, rueckwaerts, wegeingabe
Datei: way.tf
Info: Liefert den Wert, der in der Liste 'comm_abbr' zum Parameter steht, ansonsten den Parameter selbst.
Datei: way.tf
Info: Ersetzt alle vorhandenen Knotenbeschreibungen durch die des aktuellen Raumes. Wenn der zusaetzliche Parameter Zeilenzahl angegeben wird, wird nur die gewuenschte Anzahl Zeilen gespeichert. Ansonsten wird die Variabel addlines beachtet. Wenn die Zeilenzahl 0 ist, wird die komplette Raumbeschreibung bis zu den Ausgaengen gespeichert.
Siehe auch: knoten, appendnode, delnode
Datei: way.tf
Info: Fuegt eine zusaetzliche Knotenbeschreibung fuer den aktuellen Raum zur Liste hinzu. Wenn der zusaetzliche Parameter Zeilenzahl angegeben wird, wird nur die gewuenschte Anzahl Zeilen gespeichert. Ansonsten wird die Variabel addlines beachtet. Wenn die Zeilenzahl 0 ist, wird die komplette Raumbeschreibung bis zu den Ausgaengen gespeichert.
Siehe auch: knoten, addnode, delnode
Datei: way.tf
Info: Loescht den Knoten mit all seinen Wegen (mit Abfrage).
Vor dem Loeschen werden die Wegelisten neu geladen, um Inkonsistenzen zu vermeiden.
Siehe auch: addnode, appendnode, knoten
Datei: way.tf
Info: Liest die aktuelle Raumbeschreibung ein, begrenzt sie bis einschliesslich der Ausgaenge und speichert sie in %fulldetail.
Datei: way.tf
Info: Begrenzt die Raumbeschreibung, die in %fulldetail steht, auf bis einschliesslich der Ausgaenge. Die Variable %room_npcs wird auf den Rest gesetzt.
Datei: way.tf
Info: Erkennt, welcher Knoten der aktuelle Raum ist.
Siehe auch: knoten, knotenaliase
Datei: way.tf
Info: Vergleicht die aktuelle Raumbeschreibung mit der Liste 'lastpoints' und liefert ggf. den entsprechenden Raum.
Datei: way.tf
Info: Fuegt fuer alle Knoten des Wegesystems eine Erkennung hinzug (mit Abfrage).
Datei: way.tf
Info: Zeigt Knoten an.
Datei: way.tf
Aenderungen: 3.11.99 /shownode arbeitet jetzt auch mit Wildcards, d.h. '/shownode t*' zeigt alle Knoten, an die mit 't' beginnen (Gross/Kleinschreibung egal).
Info: Vergleicht die Raumbeschreibungen in der Liste und zeigt Knoten mit denselben Raumbeschreibungen an.
Datei: way.tf
Info: Uebergibt den uebergebenen Weg ueber die Variable %shorten an /shorten und liefert dessen Ergebnis zurueck.
Datei: way.tf
Info: Wandelt den uebergebenen Weg aus dem Format 'o%;w%;w%;gehe nach oben%;s%;s%;s%;' in ',o,2w,gehe nach oben,3s' um. Dieses kann mit /walk oder direkt ueber den Sendhook genutzt werden.
Datei: way.tf
Info: Geht bis zum letzten bekannten Knoten zurueck, sofern ab diesem nur Richtungsbefehle verwendet wurden.
Siehe auch: go, wegeingabe
Datei: way.tf
Info: Beendet die Wegeingabe. Wenn der aktuelle Raum als Knoten erkannt wird, wird er sofort als Endknoten benutzt, ansonsten muss einer eingeben werden. Dann speichert es den Weg ab. Dabei wird gefragt, ob das mit Defaultwerten (s)chnell, mit vorherigem (e)ditieren oder (n)icht geschehen soll. (Nach Aenderunen in tf geht das direkte Editieren nicht mehr, der Weg muss erst mit (s)chnell gespeichert werden und dann mit /editway editiert werden.)
Fuer das Editieren bitte dort nachsehen.
Die Wege werden sofort
auf die Platte gespeichert.
Falls der Knoten neu ist, wird seine Beschreibung auch erfasst. Dabei wird die ggf. angegebene Zeilenzahl fuer die Speicherung benutzt, ansonsten die Variable addlines
Siehe auch: wege editieren, einschraenkungen
Datei: way.tf
Info: Kehrt den angegebenen Weg um und speichert ihn ab.
Datei: way.tf
Info: Fuegt den als Parameter uebergebenen Weg mit Standardparametern (b all laenge) zur Wegeliste hinzu. Der Weg kann dann mit /editway editiert werden.
Datei: way.tf
Info: Laedt die Wegelisten neu, besonders vor Aenderungen wegen der Konsistenz zu empfehlen.
Datei: way.tf
Info: Speichert die Wegelisten (z.B. nach Aenderungen) ab (wegen der Konsistenz).
Datei: way.tf
Info: Beim Editieren von Wegen wird nach folgenden Angaben gefragt:
Weg selbst, kann editiert werden, muss danach aber ausfuehrbar sein ;)
Gueltigkeitsbereich: ue(b)erall, nur (n)ormalwelt, nur (p)arawelt.
Einschraenkungen: all-keine, der Rest siehe Einschraenkungen.
Laenge des Weges: = Gewicht beim Berechnen, also bei langwierigen Wegen hochsetzen.
Siehe auch: einschraenkungen, dimension, editway, showway, delway
Datei: way.tf
Info: Splittet einen Weg in zwei Teilwege auf. Dafuer wird die Anzahl der zum ersten Weg gehoerenden Befehle als Parameter uebergeben und kann dann auch spaeter interaktiv veraendert werden. Es wird nach dem neuen Zwischenknoten gefragt, dann werden die neuen Wege gespeichert und das Loeschen des alten Weges abgefragt.
Beispiel:
/splitway knoten1 knoten2 anzahl_befehle_in_erstem_teilweg
z.B. /splitway haus kneipe 5
Datei: way.tf
Info: Editieren von Wegen (mit jeweiliger Abfrage).
Siehe auch: wege editieren, showway, delway, einschraenkungen
Datei: way.tf
Info: Zeigt Wege an.
Siehe auch: wege editieren, editway, delway
Datei: way.tf
Info: Loescht Wege (mit jeweiliger Abfrage).
Siehe auch: wege editieren, showway, editway
Datei: way.tf
Info: Fuehrt fuer alle Wege, die den Parametern entsprechen, das Makro in \%nextmakro aus mit den Wegeknoten als Parameter.
Beispiel:
/set nextmakro /echo von %1 zu %2%;
/forEachWay * gilde%;
/addh syn /forEachWay knoten1|* knoten2|*
Datei: way.tf
Info: Benennt den angegebenen Knoten um.
Datei: way.tf
Info: /rush erlaubt es, lange unverzweigte Wege schnell abzulaufen. Es erwartet als Parameter eine Startrichtung und beginnt, in diese Richtung zu laufen. Dabei wird jeweils der Ausgang benutzt, mit dem man weiterkommt und nicht zurueck.
/rush stoppt, wenn es einen Fehler bemerkt (z.B. blockender NPC) und schickt dann ggf. dem Mapper einen Befehl rueckwaerts, damit dieser wieder auf dem aktuellen Knoten steht. Ausserdem wird noch angehalten, wenn eine Verzweigung gefunden wird, oder der Weg in einer Sackgasse endet.
Wenn man dem Mapper auf 'automapping' stellt, wird die Bewegung mitgezeichnet.
Beispiel:
/rush n
Datei: way.tf
Info: Fuegt der Liste mit den Knoteninfos (nodeinfo) den angebebenen Knoten sowie ein Gebiet und einen Infostring hinzu. Die Bedienung erfolgt interaktiv.
Datei: way.tf
Info: Sucht in den Knoteninfomationen alle Knoten, die im angegebenen Gebiet liegen.
Datei: way.tf
Info: Sucht in den Knoteninfomationen alle Knoten, die im Text den angegebenen String enthalten.
Datei: way.tf
Info: Durchforstet die Liste der Knoteninfos nach Knoten, die in dem uebergebenen Attribut den als Restparameter uebergebenen Substring (ignore case) enthalten.
Beispiel:
/nodes_search gebiet Ebene
Datei: way.tf
Info: Variable, die bestimmt, wie die Knoten dargestellt werden sollen
Beispiel:
wert Beispiel
short mesi
long mesi Haus Mesirii (Ebene)
geb mesi (Ebene)
info mesi Haus Mesirii
Datei: way.tf
way.tf,v 1.5 2001/09/11 20:56:47 mh14 (Mesirii@mg.mud.de) Wegesystem Requires: !lists.tf util.sfunc.tf util.prompts.tf util.hooks.tf
This file was created using TinyFugue (c) 1998 by Ken Keys at Fre 14 Sep 2001 23:17:47 MEST by Michael Hunger (mh14@inf.tu-dresden.de).