Update diverser Manpages und Beispiele
Change-Id: I07094305b7697550dac8667a26e150ca23560e41
diff --git a/doc/sefun/process_string b/doc/sefun/process_string
index fbc7018..4d72259 100644
--- a/doc/sefun/process_string
+++ b/doc/sefun/process_string
@@ -8,41 +8,43 @@
FUNKTION
========
- string process_string(string str)
- string process_string(closure cl)
+ string process_string(string str) string process_string(closure cl)
BESCHREIBUNG
============
- Durchsucht den String str nach Vorkommnissen von Substrings, die "Wert
- durch Funktionsaufruf zu ersetzen" andeuten. Die Form ist: @@, gefolgt
- durch einen impliziten Funktionsaufruf.
+ Beschreibung s. efun/process_string.
- Der zu ersetzenden Substring hat die Form:
- @@function[:filename][|argument1|argument2]@@
+ Abweichend zu der Beschreibung gibt es im MG folgende wichtige
+ Punkte:
- Die entsprechende Funktion muss einen String zurueckgeben, oder der
- process_string() uebergebene String str wird nicht modifiziert.
+ * nicht in neuem Code nutzen, aus altem Code ausbauen
- process_string() arbeitet nicht rekursiv, object_name und argument sind
- optionale Werte.
+ * nicht nutzbar fuer Objekte mit einer UID mit einem Level > 30.
- Falls eine Closure angegeben wurde, wird diese lediglich gerufen
- und nicht gefiltert.
+ * nicht rufbar durch Magiershells
+ * kann Funktionen in anderen Objekten nur rufen, wenn diese zum
+ gleichen Magier gehoeren.
-ANMERKUNGEN
-===========
+ Folgendes Properties und Details werden bei der Abfrage ueber
+ process_string() gefiltert:
- - Die Funktion, die gerufen werden soll, _muss_ mit einem Buchstaben
- anfangen, '_' ist nicht moeglich!
- - folgendes Properties und Details werden bei der Abfrage ueber
- process_string() gefiltert:
- P_LONG, P_SHORT, P_READ_MSG, AddReadDetail()-Details und NPC-Chats
- P_INT_LONG ueber int_long(), P_INT_SHORT ueber int_short()
- - die Nutzung kann zu Sicherheitsproblemen fuehren, siehe auch
- process_call()
+ * P_LONG
+
+ * P_SHORT
+
+ * Details
+
+ * NPC-Chats
+
+ * P_INT_LONG
+
+ * P_INT_SHORT
+
+ Die Nutzung kann zu Sicherheitsproblemen fuehren, siehe auch
+ process_call().
BEISPIEL
@@ -58,7 +60,6 @@
-> bei Abfrage: "Die Beschreibung." oder "Die andere Beschreibung."
-
// Teilersetzung
SetProp(P_SHORT, "Ein @@farbenfun|huebsch@@ Ding");
...
@@ -72,6 +73,6 @@
SIEHE AUCH
==========
- notify_fail(E), process_call(E), replace_personal(E)
+ process_call(), replace_personal()
-22. Nov. 2006 Arathorn
+02.09.2020 Zesstra
diff --git a/doc/sefun/replace_personal b/doc/sefun/replace_personal
index 3804be3..a8946e5 100644
--- a/doc/sefun/replace_personal
+++ b/doc/sefun/replace_personal
@@ -47,8 +47,6 @@
x steht fuer die Position des Objekts/Strings in *obs, beginnend bei 1.
-
-
Besonderheiten beim Possessivpronomen (@WERQPPGNx):
G muss durch das Geschlecht (M, F oder N) und N durch den Numerus (S
oder P) ersetzt werden.
@@ -62,47 +60,45 @@
durchersetzter String
+
Beispiele
+=========
- replace_personal("@WER1", ({find_player("gloinson")})) ==
- "Gloinson"
+ replace_personal("@WER1", ({find_player("gloinson")})) ==> "Gloinson"
- replace_personal("@WEMQP1", ({find_player("gloinson")})) == "ihm"
+ replace_personal("@WEMQP1", ({find_player("gloinson")})) ==> "ihm"
- // unbestimmter und bestimmter Artikel: replace_personal("@WER1
- zueckt @WENU2 und verhaut @WEN3.",
+ // unbestimmter und bestimmter Artikel:
+ replace_personal("@WER1 zueckt @WENU2 und verhaut @WEN3.",
+ ({find_player("gloinson"),
+ find_object("/obj/mpa"),
+ find_object("/obj/wanderer")}))
+ ==> "Gloinson zueckt eine Zeitung und verhaut den Wanderer."
- ({find_player("gloinson"),
- find_object("/obj/mpa"), find_object("/obj/wanderer")}))
-
- == "Gloinson zueckt eine Zeitung und verhaut den Wanderer."
-
- // Beim Possessivpronomen beziehen sich WEN, F und P (Akkusativ, //
- Femininum, Plural) auf die Taschen, nicht auf Kessa:
+ // Beim Possessivpronomen beziehen sich WEN, F und P (Akkusativ,
+ // Femininum, Plural) auf die Taschen, nicht auf Kessa:
replace_personal("@WER1 steckt @WESSEN2 Turnschuhe in @WENQPPFP1 "
+ "Taschen.",
+ ({find_player("kessa"),
+ find_player("gloinson")}))
+ ==> "Kessa steckt Gloinsons Turnschuhe in ihre Taschen."
- "Taschen.", ({find_player("kessa"),
-
- find_player("gloinson")}))
-
- == "Kessa steckt Gloinsons Turnschuhe in ihre Taschen."
-
- // Ein Beispiel mit laengerem >>*<<obs: replace_personal("@WER1
- zieht @WENQPPMP1 neuen Turnschuhe an. @WER2 ist "
-
- "so beeindruckt, dass @WERQP2 @WEMQP1 @WENU3 auf die " "@WEN4
- haut und die Schuhe in @WEMQPPFS2 Tasche " "verschwinden laesst.
- @WERU5 schaut zu und kichert " "irre. Wenn das @WER6 gesehen
- haette!", ({find_player("gloinson"),
-
- find_player("kessa"), find_object("/obj/mpa"), "Birne",
- find_object("/obj/wanderer"), find_netdead("jof")}),1)
-
- == "Gloinson zieht seine neuen Turnschuhe an. Kessa ist so
- beeindruckt, "
- "dass sie ihm eine Zeitung auf die Birne haut und die Schuhe in
- ihrer " "Tasche verschwinden laesst. Ein Wanderer schaut zu und
- kichert " "irre. Wenn das Jof gesehen haette!"
+ // Ein Beispiel mit laengerem *obs:
+ replace_personal("@WER1 zieht @WENQPPMP1 neuen Turnschuhe an. @WER2 ist "
+ "so beeindruckt, dass @WERQP2 @WEMQP1 @WENU3 auf die "
+ "@WEN4 haut und die Schuhe in @WEMQPPFS2 Tasche "
+ "verschwinden laesst. @WERU5 schaut zu und kichert "
+ "irre. Wenn das @WER6 gesehen haette!",
+ ({find_player("gloinson"),
+ find_player("kessa"),
+ find_object("/obj/mpa"),
+ "Birne",
+ find_object("/obj/wanderer"),
+ find_netdead("jof")}),1)
+ ==> "Gloinson zieht seine neuen Turnschuhe an. Kessa ist so "
+ "beeindruckt, dass sie ihm eine Zeitung auf die Birne haut und die "
+ "Schuhe in ihrer Tasche verschwinden laesst. Ein Wanderer schaut "
+ "zu und kichert irre. Wenn das Jof gesehen haette!"
SIEHE AUCH
diff --git a/doc/sefun/send_debug b/doc/sefun/send_debug
new file mode 100644
index 0000000..f47b748
--- /dev/null
+++ b/doc/sefun/send_debug
@@ -0,0 +1,45 @@
+
+send_debug()
+************
+
+
+FUNKTION
+========
+
+ varargs void send_debug(object|string wiz, string msg, string
+ msg_prefix)
+
+
+BESCHREIBUNG
+============
+
+ Sendet <msg> via ReceiveMsg() an das Spielerobjekt <wiz> (wenn es
+ als string angegeben wird, wird es per find_player gesucht).
+ Hierbei wird mit dem Nachrichtentyp MT_DEBUG gesendet, d.h. die
+ Meldung wird nur angezeigt, wenn das Spielerobjekt Magier oder
+ Testspieler mit aktiviertem P_WIZ_DEBUG ist.
+
+ Magier koennen P_WIZ_DEBUG mit dem Kommando 'mschau' umschalten,
+ Testspieler benoetigen hierfuer einen Magier.
+
+ Diese Debugmeldungen koennten sehr praktisch sein, aber man sollte
+ es in produktivem Code auch nicht uebertreiben, auch wenn keine
+ Ausgabe an Spieler erfolgt, wird die Zustellung jedoch bei jedem
+ Aufruf zumindest geprueft.
+
+
+BEISPIEL
+========
+
+ send_debug("zesstra", "Verbrauchte evalcosts: 42");
+
+ send_debug(this_player(), "Verbrauchte evalcost: 42",
+ "Unit-Debug: ");
+
+
+SIEHE AUCH
+==========
+
+ ReceiveMsg()
+
+14.10.2020, Zesstra