Automatisch erzeugte Manpages.
Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.
Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/lfun/AddExit b/doc/lfun/AddExit
index 9942ef3..384975f 100644
--- a/doc/lfun/AddExit
+++ b/doc/lfun/AddExit
@@ -1,91 +1,114 @@
+
AddExit()
-FUNKTION:
- void AddExit(string|string* cmd, closure|string dest);
+*********
-DEFINIERT IN:
- /std/room/exits
-ARGUMENTE:
- string/string* cmd
- die Richtung(en), in die der Ausgang fuehrt
- string/closure dest
- das Ziel des Ausgangs mit Text/Closure
+FUNKTION
+========
-BESCHREIBUNG:
+ void AddExit(string|string* cmd, closure|string dest);
- Es wird ein Ausgang in die Richtung(en) cmd eingefuegt. Die Art des
- Ausgangs haengt ab von dest:
- - ein String:
- - mit einem Dateinamen:
- Der Ausgang fuehrt in den Raum, den der Dateiname bezeichnet.
- - der Form "<msg>#dateiname"
- Der Ausgang fuehrt in den Raum, den der Dateiname bezeichnet,
- bei der Benutzung wird jedoch statt "<name> geht nach <richtung>"
- "<name> geht nach <msg>" ausgegeben.
- - eine Closure:
- Die Closure wird bei Nutzung des Ausgangs aufgerufen. Das entspricht
- eine SpecialExit - in der gerufenen Funktion muss man den Spieler
- selbst in den Zielraum bewegen.
- Gegebenenfalls kann das durch AddCmd() ersetzt werden.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- Man kann fuer den Dateinamen des Zielraumes auch einen relativen Pfad
- angeben. Die Auswertung erfolgt nach folgendem Schema:
- - "./<dateiname>"
- Es wird ein Zielraum relativ zum gleichen Verzeichnis wie dieser
- Raum angesprochen.
- - "../<dateiname>"
- Es wird ein Zielraum relativ zur Verzeichnisebene ueber der
- dieses Raumes angesprochen (analog mit mehrerern "../..")
+ /std/room/exits
- Mittels P_HIDE_EXITS kann man Ausgaenge verstecken.
- Bei der Benutzung eines Ausgangs wird der Hook H_HOOK_EXIT_USE
- ausgeloest.
+ARGUMENTE
+=========
-BEISPIELE:
- ### normale Ausgaenge ###
- // Beim Kommando "sueden" kommt: "<name> geht nach Sueden."
- AddExit("sueden", "/gilden/abenteurer");
+ string/string* cmd
+ die Richtung(en), in die der Ausgang fuehrt
+ string/closure dest
+ das Ziel des Ausgangs mit Text/Closure
- // Beim Kommando "sueden" kommt: "<name> geht in die Gilde."
- AddExit("sueden", "in die Gilde#/gilden/abenteurer");
- ### Ausgaenge mit relativen Pfaden ###
- // Der Name des Raumes sei "/d/inseln/wargon/hafen1"
- // Dieser Ausgang geht nach "/d/inseln/wargon/kneipe":
- AddExit("norden", "./kneipe" );
+BESCHREIBUNG
+============
- // Und dieser nach "/d/inseln/anthea/anlege":
- AddExit("sueden", "../anthea/anlege" );
+ Es wird ein Ausgang in die Richtung(en) cmd eingefuegt. Die Art des
+ Ausgangs haengt ab von dest:
- ### dynamische Ausgaenge ###
- // ein Ausgang soll nur von Froeschen benutzbar sein:
+ - ein String:
+ - mit einem Dateinamen:
+ Der Ausgang fuehrt in den Raum, den der Dateiname bezeichnet.
+ - der Form "<msg>#dateiname"
+ Der Ausgang fuehrt in den Raum, den der Dateiname bezeichnet,
+ bei der Benutzung wird jedoch statt "<name> geht nach <richtung>"
+ "<name> geht nach <msg>" ausgegeben.
+ - eine Closure:
+ Die Closure wird bei Nutzung des Ausgangs aufgerufen. Das entspricht
+ eine SpecialExit - in der gerufenen Funktion muss man den Spieler
+ selbst in den Zielraum bewegen.
+ Gegebenenfalls kann das durch AddCmd() ersetzt werden.
- static int lochfkt(string dir); // Prototyp
- ...
- AddExit("loch", #'lochfkt);
- // auch identisch zu:
- // AddSpecialExit("loch", #'lochfkt); [eine Closure] oder
- // AddSpecialExit("loch", "lochfkt"); [ein Funktionsname]
- static int lochfkt(string dir) {
- if (!(this_player()->QueryProp(P_FROG))) {
- // Kein Frosch => passt nicht!
- notify_fail("Du bist zu gross!\n");
- return 0;
- }
- // Meldungen werden im move() gleich mitgegeben
- return this_player()->move("/room/loch", M_GO, 0,
- "huepft ins Loch", "huepft herein");
+BEMERKUNGEN
+===========
+
+ Man kann fuer den Dateinamen des Zielraumes auch einen relativen Pfad
+ angeben. Die Auswertung erfolgt nach folgendem Schema:
+ - "./<dateiname>"
+ Es wird ein Zielraum relativ zum gleichen Verzeichnis wie dieser
+ Raum angesprochen.
+ - "../<dateiname>"
+ Es wird ein Zielraum relativ zur Verzeichnisebene ueber der
+ dieses Raumes angesprochen (analog mit mehrerern "../..")
+
+ Mittels P_HIDE_EXITS kann man Ausgaenge verstecken.
+
+ Bei der Benutzung eines Ausgangs wird der Hook H_HOOK_EXIT_USE
+ ausgeloest.
+
+
+BEISPIELE
+=========
+
+ ### normale Ausgaenge ###
+ // Beim Kommando "sueden" kommt: "<name> geht nach Sueden."
+ AddExit("sueden", "/gilden/abenteurer");
+
+ // Beim Kommando "sueden" kommt: "<name> geht in die Gilde."
+ AddExit("sueden", "in die Gilde#/gilden/abenteurer");
+
+ ### Ausgaenge mit relativen Pfaden ###
+ // Der Name des Raumes sei "/d/inseln/wargon/hafen1"
+ // Dieser Ausgang geht nach "/d/inseln/wargon/kneipe":
+ AddExit("norden", "./kneipe" );
+
+ // Und dieser nach "/d/inseln/anthea/anlege":
+ AddExit("sueden", "../anthea/anlege" );
+
+ ### dynamische Ausgaenge ###
+ // ein Ausgang soll nur von Froeschen benutzbar sein:
+
+ static int lochfkt(string dir); // Prototyp
+ ...
+ AddExit("loch", #'lochfkt);
+ // auch identisch zu:
+ // AddSpecialExit("loch", #'lochfkt); [eine Closure] oder
+ // AddSpecialExit("loch", "lochfkt"); [ein Funktionsname]
+
+ static int lochfkt(string dir) {
+ if (!(this_player()->QueryProp(P_FROG))) {
+ // Kein Frosch => passt nicht!
+ notify_fail("Du bist zu gross!\n");
+ return 0;
}
+ // Meldungen werden im move() gleich mitgegeben
+ return this_player()->move("/room/loch", M_GO, 0,
+ "huepft ins Loch", "huepft herein");
+ }
-SIEHE AUCH:
- AddSpecialExit(), GetExits(),
- RemoveExit(), RemoveSpecialExit(),
- GuardExit(),
- H_HOOK_EXIT_USE, P_EXITS, P_HIDE_EXITS, /std/room/exits.c
- ausgaenge
+
+SIEHE AUCH
+==========
+
+ AddSpecialExit(), GetExits(),
+ RemoveExit(), RemoveSpecialExit(),
+ GuardExit(),
+ H_HOOK_EXIT_USE, P_EXITS, P_HIDE_EXITS, /std/room/exits.c
+ ausgaenge
Letzte Aenderung: 22.12.2016, Bugfix