english version
Application Infos
tf Pakete
Mapper Home
Aenderungen 23.02.01
Aenderungen 02.02.01
Aenderungen 7.12.99
Aenderungen 2.11.99
Aenderungen 8.10.99
Aenderungen 7.9.99
Aenderungen 3.8.99
Aenderungen 16.7.99
Aenderungen 6.5.99
Aenderungen 26.4.99
Aenderungen 3.4.99
Aenderungen 22.3.99

Der DoItYourself Mapper in Java(TM) Alpha Version

Was soll das?
Da ich es leid war, meine Karten auf Papier mit Bleistift zu malen, hab ich mich darangesetzt sowas mal in Software zu giessen.
Folgende Probleme hatte ich meistens:
  • mittendrin zeigte sich, dass die Karten/Knoten nicht zusammenpassten, also war Radieren bzw. Neumalen
  • es war oft kein Platz da, um Informationen an Knoten dranzuschreiben
  • wenn es Aenderungen an den Gegenden im Nachhinein gab, musste ich oft radieren oder insgesamt neuzeichnen
  • die Karten fuellen mittlerweile ein Heft und wenn ich von einer zur anderen will muss ich erstmal suchen

    deshalb hab ich mich dran gemacht den Mapper mit folgender Funktionalitaet auszustatten:

    implementiert:

  • Karten aus Knoten mit Wegen als Verbindungen mit den Knoten
  • man kann die Karten durchwandern (Maus/Richtungen/Keypad)
  • 3-dimensionale Karten von denen eine Z-Ebene aktuell dargestellt und die Verbindungen in andere Z-Ebenen angedeutet werden
  • jede Karte==Map wird mit anderen Maps verknuepft, zwischen denen bei der Navigation automatische umgeschaltet wird (die Verknuepfung der Maps wird am Ende des Ausgangs durch ein gelbes Quadrat visualisiert)
  • neue Ausgaenge koennen entwender interaktiv durch Ablaufen oder mehrere Ausgaenge des aktuellen Knotens auf einmal durch einen Befehl erzeugen
  • Ausgaenge die ueber spezielle Kommandos angesprochen werden, koennen entweder mit einer Richtung oder einem Map/Zielpunkt eingegeben werden (so werden auch die Verknuepfungen zu anderen maps erzeugt)
  • Fernsteuerung von tf ueber einen Port (Kommandos)
  • Markierung von Knoten (Maus)
  • Einbahnstrassenrichtungen sind moeglich
  • Zoomstufen (Maus/Tastaur), Verschieben der Map ohne Bewegung des aktuellen Knotens, Zentrieren um den aktuellen Punkt
  • Loeschen von Knoten und Wegen
  • Informationen zu Knoten (wie p_long, p_short, name, knoten im Wegesystem, npcs,...), die dann entweder innerhalb der Map visualisiert werden bzw. in einem Infobereich angezeigt werden (auch von tf aus generierbar)

    22.3.99
  • zusaetzlich zu den festgelegten Informationen zu Knoten koennen auch eigene Schluesselworte verwendet werden, diese werde auch als Titel in der Anzeige benutzt
  • die Kommandos DP (deletePoint), DE (deleteExit), ae (addExit) arbeiten jetzt auch ueber die markierten Knoten
  • das Kommando cgrid erzeugt Netzstrukturen in der Map
  • die meisten moeglichen Himmelsrichtungen wurden hinzugefuegt (siehe Navigation)
    3.4.99
  • mit dem Kommando ar (addReverse) koennen Raeume, die nur einen Ausgang oder Zugang haben eine special exit mit dem angegebenen Namen ganz einfach erhalten (Praktisch fuer raus, verlasse xxx)
  • die Informationen ueber NPCs, Haeuser, Knotennamen, Portale, Auftankstellen, Kneipen,Laeden haben jetzt eine grafische Repraesentation in der Map

    26.4.99
  • Einstellen von Optionen mittels opt (Gitter, Anzeige, Maxlevel)
  • Demomaps, die Funktionen demonstrieren
  • Verschieben von Knoten in und zwischen Maps mit MP

    6.5.99
  • erzeugen von Knoten an beliebigen Koordinaten mit an
  • aufspalten eines Knotens in zwei Teilknoten mit sn
  • erzwingen des Ueberschreibens von Ausgaengen (mit "!" und des Erzeugens von Knoten auf schon belegten Koordinaten ("$"), Angabe der Laenge von Wegen mit n* siehe Syntax
  • erzeugen und updaten von lpc code mit template files
  • Speichern der Optionen und freie Optionen eintragen siehe opt

    16.7.99
  • Auflistung von Knoten, die ein bestimmtes Info-Schluesselwort enthalten, bzw. Darstellung von Schrittfolgen ueber die gewuenschten Knoten
  • intern wird auch mit verwaltet, welche Knoten schon (vom Mud aus) betreteten worden sind. Diese werden in der Map mit einem Quadrat markiert.
  • die internen Attribute werden jetzt mit in der coords Datei abgespeichert (Markierung, Knoten betreten, Ueberlappende Knoten,...)

    3.8.99
  • Hilfe im Mapper mit ?zu allen Kommandos und generell
  • History fuer Kommandos des Mappers (mit Pfeil hoch und runter)
  • teilweise funktionstuechtige Undo Funktionalitaet mittels undo
  • neue Hilfsfunktionen zum Zoomen, Unzoomen, Ansicht verschieben und Zentrieren
  • Hilfsfunktionen zum Markieren und Demarkieren mit Auswahlsyntax wie lna
  • Kommando zum Halbieren des Massstabs einer Anzahl Knoten (markierte) z.B. fuer Gebaeude mittels mh
  • go kann auch benannte Punkte ueber Mapgrenzen anspringen
  • bei asp kann der -mmap Parameter weggelassen werden, wenn der bei -p angegebene Punkt ein benannter Punkt in einer anderen Map ist.
  • save hat jetzt auch den Parameter all, damit werden alle Maps gespeichert
  • DE loescht jetzt auch benannte Ausgaenge ohne zusaetzliche Parameter

    7.9.99
  • ein kurze Einfuehrung fuer die Nutzung des Mappers als lokale Applikation
  • lna zeigt jetzt auch Knoten an, die einen bestimmten Substring in den angegebenen Attributen (nicht) enthalten
  • die Flags der Knoten koennen jetzt auch per Hand mit sf gesetzt werden, das ist auch fuer eine bestimmte Anzahl Knoten moeglich.
  • die Nutzung einer Paralleldimension (z.B. Morgengrauen Parawelt) ist moeglich, dazu gibt es eine Option und ein Flag bei den Raeumen, sowie den neuen Parameter & bei ae und asp
  • opt zeigt jetzt auch die gesetzten Optionen an.
  • mit den Attribut color koennen jetzt Knoten mit eigenen Farben zum Hervorheben eingefaerbt werden. (englisch Farben)

    8.10.99
  • mit poly (Polygon) koennen sowohl farbige Polygone unter die Map gelegt werden, als auch Anmerkungen an beliebige Koordinaten plaziert werden
  • es wurden Objekte eingefuehrt, die in ihrer Funktionlitaet den Rauminfos mit ai (AddInfo) entsprechen, also zusammenhaengende Schluesselwort-Wert Paare bilden ein Objekt eines Typs mit einer eindeutigen Nummer und ggf. einem Namen
  • dazu gibt es die Befehle oi (ObjectInfo) zum Anzeigen von Objekten
  • weiterhin ei (EditInfo) zum Editieren der Objekte in einem Extrafenster
  • ci (CreateInfo) zum Erzeugen eines Objekts.
  • di (DeleteInfo) zum Loeschen eines Objekts.
  • und saveObjects zum Abspeichern der Objekte
  • und loadObjects zum Laden der Objekte
  • die Objekttypen werden in der Datei default_de.info definiert, wobei die enthaltenen Schluessel erweitert werden koennen. Wenn in einem Mud-Map Verzeichnis auch eine default_de.info existiert, dann wird diese speziellere Version genutzt. Natuerlich gibt es dies auch fuer die englische Version als default_en.info.
  • einige Befehle koennen durch Mausklicks mit Parametern versorgt werden. Dazu gehoeren: poly, an, mp, asp, text, si, center node, center screen, center view, center. Es wird versucht, dem Typ des Befehls entsprechend, die richtigen Parameter zu uebergeben, bei den meisten Befehlen (ausser poly) werden die einmal uebergebenen Parameter beim naechsten Klick durch neue ersetzt.
    2.11.99
  • lna kann jetzt auch die Knoten markieren, die als Ergebnis einer Suche gefunden werden einfach den Parameter -m voranstellen. Also lna -m house map markiert alle Knoten der aktuellen Map mit Haeusern. Und mit -u werden sie demarkiert.
  • dazu passend kann jetzt die Auswahl fuer Regionen auch markierte Knoten benutzen einfach als Schluesselwort marked benutzen
  • und da ai (AddInfo) jetzt auch ueber die Knoten die entsprechend der Auswahlangaben angegeben wurden Attribute setzen kann, ist es einfach moeglich markierte Knoten mit einem bestimmten Attribut zu versehen
    7.12.99
  • Ausgaenge, die mehr als 20 bzw. 5 Grad von den Normrichtungen abweichen werden getrennt dargestellt mit einer Verbindungslinie dazwischen. Am Ende der angedeuten Normrichtungsausgaenge ist die Nummer des Zielraums sichtbar.
  • dass kann z.B. fuer unmoegliche Labyrinthe genutzt werden (die sich sonst nur tabellarisch darstellen lassen), dazu gibt es den Befehl alb (AddLaB) der ein Raster von Raeumen erzeugt die den doppelten Abstand der normalen Raeume haben (wegen der Uebersicht). Nutzung mit alb richtung Zielraumnummer
  • fuer Ausgaenge gibt es jetzt einige zusaetzliche Infos, in der Map wird auch angezeigt, wohin die Umschaltausgaenge fuehren
  • mit aec (AddExitColor) koennen Ausgaengen Farben zugeordnet werden, mit aed (AddExitDoor) koennen Tore, Portale usw, hinzugefuegt werden, dabei sollten die einfach zu oeffnenden Dinge klein und die mit speziellen Items zu oeffnenden (Schluessel) gross geschrieben werden.
  • mit aecmd (AddExitCommand) werden zusaetzliche Kommandos fuer den Ausgang, die vor dem Bewegungsbefehl ausgefuehrt werden muessen angegeben.
  • die Zusatzinfos werden in der Map durch Kuerzel und bei si (ShowInfo) im Detail angezeigt.
  • bei Bewegungen von der Kommandozeile des Mappers aus werden, die Richtungsbefehle an das TF geschickt, dabei gibt es einen vorangestellten Parameter, der zur Zeit meist 0 (fuer automatisch) ist.
    02.02.01
  • die Auswahlsyntax wurde erweitert, so dass auch Folgen von Knoten markiert werden können, z.b. die Knoten 0-100
  • die Buttons links unten funktionieren jetzt, sie koennen zum Laufen, Zeichnen, Kartenverschieben und Löschen genutzt werden, der Modus wird mit dem mittleren Button eingestellt
  • in der Combobox oben sind die Karten auswählbar, geladene Karten sind mit einem Stern (*) gekennzeichnet, Bugs die damit zusammenhingen wurden entfernt
  • undo wurde voruebergehend deaktiviert (zuviele Ungereimtheiten)
    23.02.01
  • die Karte kann jetzt mit der Maus durch Ziehen verschoben werden
  • mit dm (DeleteMap) können Karten gelöscht werden, d.h. sie werden auf nur einen Basisknoten reduziert
  • mit rename (RenameMap) können Karten umbenannt werden
  • das Zeichnen von Karten mit Polygonen sollte jetzt schneller vor sich gehen, da diese vorgeparst werden
  • die Buttons links unten haben jetzt einen Extrabutton fuer den Modus erhalten, der mittlere Button wird zum Zentrieren genutzt
  • Spezialausgaenge sind jetzt auch einfacher nutzbar, durch Angabe der Richtung in die sie gehen (Buttons, Kommando), an das Mud (z.B. TF am Port) wird aber die korrekten Befehle fuer den Spezialausgang geschickt
  • die Zusatzkommandos, die einem Ausgang mit aecmd zugeordnet werden, können jetzt auch zweiteilig sein, der erste Teil wird vor, und der zweite Teil nach dem eigentlichen Ausgangsbefehl (z.B. Richtungsbefehl) an den Port geschickt
  • der Mapper wurde mit Menues versehen, die alle Befehle einfacher zugaenglich machen, falls die Befehle Parameter verlangen, wird die Vorgabe in der Eingabezeile dargestellt
  • das Hilfemenue enthaelt auch die komplette Hilfe dieser Webseite
  • die Lokalisierung (deutsch, english) ist fast abgeschlossen

    TODO

  • Undo, History

    geplant:

  • Neuberechnung der Map, wenn Unstimmigkeiten innerhalb der Map
  • Integration in das Wegesytem, d.h. per Anklicken wandere ich im Mud zu dem Punkt
  • ??Eure Ideen.

    Hier kommt das Demo (fast)

    Allgemeine Infos:

    Der Buttonblock links unten

    Die Combobox fuer den Kartenzugriff

    Die Menues

    Die grafische Karte

  • die unten angegebenen Farben koennen in der mapper.inieingestellt werden
  • die Karte wird auf der groessten Flaeche des Mappers dargestellt
  • die Groessen der dargestellten Symbole sind vom Zoomfaktor abhaengig
  • der aktuelle Punkt ist ein gruenes Quadrat
  • ueberlappende Knoten sind rot und Knoten deren Masstab halbiert (Gebaeude) wurde blau
  • neben den Knoten werden deren Nummern und ggf. Namen dargestellt (oso)
  • wenn der Knoten (vom Mud aus) schon besucht worden ist, wird er als Quadrat dargestellt. Daran soll man erkennen wo man in neuen Gebieten noch nicht gewesen ist.
  • normale Ausgaenge werden mittelgrau, Ausgaenge nach oben heller mit einem Plus (nno) , nach unten dunkler mit einem Minus (ssw) und Spezialausgaenge rot dargestellt (Spezialausgaenge ohne Richtung enden nnw)
  • Umschaltung zwischen Maps wird durch ein gelbes Quadrat am Ende eines Ausgangs angezeigt.
  • NPCs werden als Strichmaennel rechts unterhalb (sso) des Knotens angezeigt, dabei entspricht deren farbstaerke dem Verhaeltnis von angegebenen Level zu Level 50, rot sind autoattack NPCs, und ein "Schild" halten Blocker (z.B. ai npc Waechter (#A#B#L30) wo Waechter der Name des NPCs ist, #A autoattack, #B Blocker, #L30 Level 30
  • vorhandene Haeuser werden durch ein kleines Haus in Richtung wsw dargestellt
  • das Vorhandensein von Tanken, Kneipen, Laeden im Knoten wird jeweils durch die Zeichen TKL (ono) dargestellt
  • vorhandene Portale/Teleporter werden durch einen Bogen (wnw) dargestellt)
  • ueberlappende Knoten werden rot und versetzt zu dem originalen Knoten dargestellt, damit sie auch markierbar sind
  • Knoten der Parallelwelt werden hellrot dargestellt
  • Knoten, die ein Attribut namens color haben, werden in der angegebenen Farbe dargestellt, die Farbe kann aber auch als Dezimal oder Hexadezimalzahl (mit vorangestelltem 0x) angegeben werden.
  • Die Zusatzinfos, die mittels aec (AddExitColor), aecmd (AddExitCommand), aed (AddExitDoor) fuer die Ausgaenge angegeben werden koennen, werden in dieser Reihenfolge als Farbe des Ausgangs, als + ueber dem Ausgang, und der erste Buchstabe der Tuer (u.a) angegeben.
  • Wenn ein Ausgang ein MapSwitch ist (siehe asp (AddSpecial), wird in der Map auch die Nummer der Zielmap und des Knoten dort angegeben).
  • Wenn der Ausgang mehr als 20 Grad von der Normrichtung (z.B. so) abweicht oder mehr als 5 Grad von den 4 Haupthimmelsrichtungen, wird am Knoten nur die korrekte Himmelsrichtung dargestellt, und am Ende diese kurzen Stueckes, steht der Zielraum. Ausserdem fuehrt einen duenne rosa Linie zum Zielraum. Wenn der Zielraum, den Rueckweg in den aktuellen Raum besitzt, endet diese Linie an desssen Andeutung der eigentlichen Richtung, ansonsten direkt am Raum. (siehe auch alb (AddLaB)).

    Die Tastenkombinationen:

    Unmittelbare Tastenkombinationen (die sofort wirken)

    !!Die Tasten funktionieren nur, wenn die Zeichenflaeche aktiviert ist, wenn das TextField aktiv ist, werden die Zeichen dort eingefuegt.
    Navigation:
  • wie Keypad 1-sw, 2-s, 3-so, 4-w, 6-o, 7-nw, 8-n, 9-no fuer die Himmelsrichtungen, + fuer oben, - fuer unten

    View Bewegung:

  • Ctrl+Naviationstasten: Verschieben der Map in X/Y oder Z-Richtung
  • Ctrl+z: Zoom
  • Ctrl+u: Unzoom
  • Ctrl+c, Ctrl+m: Zentrieren des aktuellen Knotens

    Erzeugen:

  • Alt+#
    naechster Ausgang wird als Einbahnstrasse erzeugt
  • Alt+$
    der naechste Knoten wird auch erzeugt, wenn es auf den Koordinaten schon einen Knoten gibt.
  • Alt+Navigationstasten
    neuer Ausgang in der angegebenen Richtung (wenn dort schon ein Punkt existiert wird eine Verbindung geschaffen, ansonsten wird ein neuer Punkt erzeugt)

    Markieren:

  • Shift+u
    loescht alle Markierungen in der aktuellen Map

    Mausaktionen

    Navigation:
  • rechte Maustaste oder Doppelklick:
    es wird zum angeklickten Punkt gesprungen
  • linke Maustaste:
    vorgesehen fuer interaktive Kommandos, z.Zt. Ausgabe von Bildschirm-/Mapkoordinaten ggf. gefundener Punkt View Bewegung:
  • Ctrl+linke Maustaste ziehen:
    Aufziehen eines Zoomfensters (Zoom)
  • Ctrl+rechte Maustaste:
    eine Zoomstufe zurueck (Unzoom) Interaktion:
  • Shift+linke Maustaste:
    Markieren/Demarkieren von Knoten
  • Shift+linke Maustaste ziehn:
    Markieren der Knoten im Rechteck

    interaktive Parameteruebergabe mit der Maus
    bei einigen Kommandos koennen Parameter mit der Maus uebergeben werden.
    Die Nutzung ist wie folgt: Kommando bis zu den hinzuzufuegenden Koordinaten eintippen und dann mit der linken Maustaste auf den gewuenschten Punkt klicken. Es wird nur einmal das Kommando erkannt und dieses dann bis zum naechsten Befehl bedient!
    Die Besonderheiten bei den einzelnen Kommandos sind im folgenden aufgefuehrt:

    Kommandostrings: (Syntax Regexp)

    ganz kurz zur Regexp Syntax, weil diese in dieser Anleitung meistens etwas abgewandelt genutzt wird Syntax:
  • -d((#|x*|$|!|&)+)?(name|id) Richtungsname (s o sw) oder ID (besonders 0 fuer richtungslos z.b. Teleports oder ueber mehrere Knoten hinweg),
  • -m(name|id) Name der Map (ein Wort) oder ID (steht in Titelzeile)
  • -p(name|id) Name des Knotens (ein Wort) oder ID (wird angezeigt)
  • wenn ein Punkt auf einer anderen Map angegeben wird, dann muss auch -m angegeben werden
  • fuer richtungslose Spezialausgaenge -d0 ansonsten kann die Richtung angegeben werden -dso
  • wenn ohne die o.a. Optionen mehrere Richtungen bzw. Knoten angegeben werden gelten diese nur fuer die aktuelle Map und keine SpezialAusgaenge es koennen aber auch dort IDs oder Namen benutzt werden
  • bei den Kommandos ae, DP, DE, MP, lpc kann auch der zur Identifikation notwendige Teilstring von marked benutzt werden, um das Kommando ueber alle markierten Knoten arbeiten zu lassen

    Auswahlsyntax fuer mark, unmark,sf ai und lna

    (all|map|level|region dx dy dz|marked|((nodes|named) knotenid/name[-knotenid2/name2]+)

    Optionen:
    Es ist moeglich nur Teilstrings der Bezeichner zu verwenden.(z.B. reg fuer region)
  • all: Alle Maps
  • map: aktuelle Map
  • level: aktuelles z-level
  • marked: markierte Knoten (in der aktuellen Map)
  • region dx dy dz: die Punkte, deren Abstand zum aktuellen Punkt kleiner bzw. gleich der angegebenen Deltas ist. (Also ein Wuerfel mit den doppelten Kantenlaengen)
    Beispiel:reg 5 2 2: alle Knoten, die im Wuerfel mit den Seitenlaengen (10,4,4) um den aktuellen Knoten liegen
  • nodes, named knotenbezeichner: die angegebenen Knoten werden fuer die Auswahl beruecksichtigt
    Beispiel: named 1 2 turm bruecke
    wenn zwei Knotennamen oder Nummern durch ein Minus getrennt sind (z.b. 5-100) werden alle Knoten dazwischen bearbeitet

    Navigation:

  • Ausgangsname: n,so,..., bzw. Spezialausgangsnamen (z.B. gehe nach osten) Navigation in dieser Richtung
    diese Ausgaenge gibt es:
    sp, sw, ssw, s, sso, so, oso, o, ono, no, nno, n, nnw, nw, wnw, w, wsw, ob, u, swu, sswu, su, ssou, sou, osou, ou, onou, nou, nnou, nu, nnwu, nwu, wnwu, wu, wswu, swob, sswob, sob, ssoob, soob, osoob, oob, onoob, noob, nnoob, nob, nnwob, nwob, wnwob, wob, wswob
    special, suedwesten, suedsuedwesten, sueden, suedsuedosten, suedosten, ostsuedosten, osten, ostnordosten, nordosten, nordnordosten, norden, nordnordwesten, nordwesten, westnordwesten, westen, westsuedwesten, oben, unten, suedwestunten, suedsuedwestunten, suedunten, suedsuedostunten, suedostunten, ostsuedostunten, ostunten, ostnordostunten, nordostunten, nordnordostunten, nordunten, nordnordwestunten, nordwestunten, westnordwestunten, westunten, westsuedwestunten, suedwestoben, suedsuedwestoben, suedoben, suedsuedostoben, suedostoben, ostsuedostoben, ostoben, ostnordostoben, nordostoben, nordnordostoben, nordoben, nordnordwestoben, nordwestoben, westnordwestoben, westoben, westsuedwestoben
  • g (Punktname|id)
    (Go) Springt zu dem angegebenen Punkt
  • go Punktname/id
    (GoOther) Springt zum angegebenen Punkt, wenn der (benannte) Punkt nicht in der aktuellen Map zu finden ist, werden alle Maps durchsucht.
  • sm (mapname|id)
    (SwitchMap) schaltet zur angegebenen Map um. Es wird zum zuletzt aktiven Punkt in der Map gesprungen. Erzeugen:
  • asp -d(&|#|x*|$|!)?(Richtungsid|-name|0) ((-m(Mapid|-name))? -p(Punktid|-name))? (Name des Ausgangs)?
    (AddSPecial) Hinzufuegen des speziellen Ausgangs in der Richtung [wenn Richtung 0 zum Punkt Map/Punkt] mit dem angegebenen Namen, geht auch fuer Verbindungen zu Knoten, die mehr als eine Einheit weg liegen (asp -drichtung -ppunktid)
  • ae (((&|#|x*|$|!)?(Richtungsid|-name)|marked) )+
    (AddExit) in den angegebenen Richtungen werden Ausgaenge erzeugt, ggf. mit Knoten verbunden oder neue Knoten erzeugt, bei der Angabe von marked zwischen allen markierten Knoten Verbindungen erzeugt, wobei aber ein Knoten in einer Richtung nur einen Ausgang haben darf. Fuer das (#|x*|$|!) siehe Syntax
  • ar special exit name
    (AddReverse)wenn der aktuelle raum nur einen Ausgang bzw. einen Zugang hat, wird ein/der Ausgang mit dem angegebenen Spezialausgang erzeugt/ueberschrieben (praktisch fuer: raus, verlasse xxx)
  • alb richtung raumnummer
    (AddLaB) dieser Befehl soll Unterstuetzung zum Mappen von unlogischen Labyrithen geben. Wenn man diese z.B. mit dem Ablegen von Muenzen mappt, kann man den Befehl sehr einfach nutzen, indem man eine neue Map anlegt und dann als Raumnummern einfach die Muenzenanzahl in den Raeumen nimmt. Die Raeume werden im doppelten Abstand der normalen Befehle angelegt, weil das die Uebersichtlichkeit erhoeht. Weil in diesen Labs Hin- und Rueckwege nicht uebereinstimmen, werden die meisten Ausgaenge wohl getrennt dargestellt. Es wird immer nur der Hinweg zum angegebenen Raum erzeugt, falls der Raum noch nicht exisitiert wird er in der angegebenen Richtung erzeugt, also aufpassen wenn dort schon ein Raum vorhanden ist, dann muss der Zielraum mit an (AddNode) z.b. mit der interaktiven Mausunterstuetzung woanders erzeugt werden.
  • am mapname
    (AddMap) es wird eine neue Map mit dem angegebenen Namen erzeugt, wenn dieser noch nicht existiert. Diese enthaelt schon den Punkt 0.
  • cgrid xpos ypos -sx Breite (-sy Hoehe)? (-di)?
    (CreateGRID) Erzeugt ein Netz in der Map, in dem der aktuelle Punkt die Position (xpos,ypos) hat (z.B. (0,0) links unten oder (Breite-1,Hoehe-1) rechts oben). Wenn die Hoehe nicht angegeben wird, wird ein quadratisches Netz erzeugt. Mit der Angabe von -di werden auch die Diagonalen erzeugt.
  • an (-r(knotenid|name)) x y? z? $?
    (AddNode) Erzeugt einen neuen Knoten (kann auch interaktiv mit der Maus erzeugt werden) Veraendern:
  • MP (-a(Knotenid/-name)?|-r((x*)richtungsname|id)?)? (x|dx) (y|dy)? (z|dz)? (-m(mapid|name))? marked?
    (MovePoint) Verschiebt die angegebenen Knoten:
  • sn ((richtungsid|name) )+
    (SplitNode) splittet vom aktuellen Knoten einen neuen Knoten ab, der die angegebenen Ausgaenge vom vorherigen Knoten uebernimmt.
    Diese Funktionalitaet ist dann von Bedeutung, wenn die Neuberechnung der Maps implementiert ist.
  • mh knotenname/id
    (MakeHouse) Mit diesem Kommando wird der Massstab aller markierten Knoten halbiert und zwar so, dass die Position des angegebenen Knotens unverändert bleibt. Damit kann z.B. das Innere eines kleinen Gebaeudes dargestellt werden, ohne das es Ueberschneidungen gibt. Die Knoten erhalten ein zusätzliches Flag, das im Info als "Gebaeude" dargestellt wird. Von diesen Knoten aus werden Ausgaenge auch mit dem halben Masstab erzeugt, so das es keine Ueberschneidungen mit aeusseren Wegen gibt. Wenn man einen dieser inneren Knoten mit einem aeusseren verbinden will, musss man es mitasp -drichtung -pknotennummer/id machen. Die so modifzierten Knoten erscheinen in der Karte blau. Loeschen:
  • DE  ((-d#?(Richtungsid|-name|0) ((-m(Mapid|-name))? -p(Punktid|-name))? (Name des Ausgangs)?)|((#?(Richtungsid|-name)|marked) )+)
    
    (DeleteExit) loescht die Ausgaenge in den angegebenen Richtungen. Wenn ein # vor der Richtung steht, dann wird nur der Ausgang in Hinrichtung geloescht. Die Angabe von marked bewirkt das Entfernen aller Verbindungen zwischen den markierten Knoten
    Beispiele:
  • DP ((PunktId/-name|marked) )?
    
    (DeletePoint) loescht die angegebenen Knoten, wenn keiner angeben dann den aktuellen Punkt, und bei marked alle markierten Knoten, alle Wege die von ihm weg- und zu ihm hinfuehren (in allen Maps). Die Punktnummer kann spaeter beim Erzeugen neuer Knoten wiederverwendet werden. Sonstiges:
  • Q
    Verlassen ohne speichern (Vorher abspeichern)
  • save ((map )+|all)?
    Speichert die Map in Dateien fuer Koordinaten, Ausgaenge und Infos ab. Wenn nichts angegeben wird, wird die aktuelle Karte, sonst die angegebenen Karten bzw. bei all alle Karten abgespeichert.
  • lpc (marked|map)?
    (makeLPC) erzeugt bzw. aktualisiert die LPC-Files fuer die angegebenen Knoten (markierte, ganze Map, wenn nichts angegeben fuer den akutellen Knoten)
  • dazu wird ein template file verwendet, welches entweder speziell fuer eine Map als mapmapid_template.c (z.B. map0_template.c) oder fuer das mud insgesamt als template.c im mud Verzeichnis oder fuer alle muds in maps Verzeichnis. Die Template Dateien werden in der angegebenen Reihenfolge gesucht.
  • die Namenskonventionen fuer die LPC Dateien sind mapname/mapname_knotenid|name.c (z.B. furghud/furghud_1.c oder town/town_center.c)
  • zur Zeit werden die short, long gesetzt
  • als Beispiel mit short d.h. /*short* bis */ wird kopiert, enkommentiert, ein // $short$ vor der Aenderung eingefuegt und dann #short# durch die short ersetzt
  • die exits werden mit AddExit aus den Verbindungen erzeugt, die Referenzdateien werden als "../mapdir/maplpcfile.c" erstellt.
  • wenn die Datei fuer den Knoten schon vorhanden ist, wird sie nur aktualisiert.
  • dabei werden die Bereiche zwischen // $short$ und /*short* geloescht und dann wieder neu erzeugt. Deshalb muessen Aenderungen nach ausserhalb des Bereichs kopiert werden.
  • wenn im template File andere schluessel auftauchen und diese auch mit ai im Knoten vorhanden sind, werden sie genauso ersetzt.
  • wenn die Schluessel mit f_ beginnen wird in den Optionennach einer Option gleichen Namens gesucht, die dann vor den Schluessel geschrieben wird. Damit kann z.B. ein absoluter Pfad in den Optionen abgelegt werden und in den Schluesseln der Knoten muessen nur noch die Dateinamen enthalten sein. (z.B. f_bsx = "wache.bsx" Option f_bsx = /d/wunderland/mesirii/bsx/ -> /d/wunderland/mesirii/bsx/wache.bsx wird in dem File bei#f_bsx# eingefuegt.