Doku-Update
Change-Id: Idf8f0026daca30fca7f14c2c2de4bcb359958e14
diff --git a/doc/lfun/AddInfo b/doc/lfun/AddInfo
index 76c6e1c..730c26f 100644
--- a/doc/lfun/AddInfo
+++ b/doc/lfun/AddInfo
@@ -6,8 +6,9 @@
FUNKTION
========
- public varargs void AddInfo(string|string* key, string|closure info,
- string indent, int|string silent, string|closure casebased);
+ public varargs void AddInfo(string|string* key, string|closure
+ info,
+ string indent, int|string silent, string|closure casebased);
DEFINIERT IN
@@ -20,12 +21,13 @@
=========
string|string* frage
- Schluesselwoerter, fuer die der NPC eine Antwort geben soll,
+ Schluesselphrase(n), fuer die der NPC eine Antwort geben soll,
wenn man ihn danach fragt
string|closure meldung
Information, die gegeben werden soll; wenn 'meldung' eine
- Closure ist, wird der gerufenen Funktion nichts uebergeben.
+ Closure ist, wird der gerufenen Funktion die vom Spieler
+ gefragte Schluesselphrase uebergeben.
string indent (optional)
Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
@@ -34,8 +36,8 @@
Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
string|closure casebased (optional)
- Closure mit Returnwert string oder int. Der Funktion werden
- keine Argumente uebergeben.
+ Closure mit Returnwert string oder int. Der Funktion wird die
+ vom Spieler gefragte Schluesselphrase uebergeben.
BESCHREIBUNG
@@ -48,7 +50,7 @@
Meldung wird der Name des Monsters vorangestellt.
Frage:
- Schluessel muessen kleingeschrieben sein, koennen aber
+ Schluesselphrasen muessen kleingeschrieben sein, koennen aber
Leerzeichen enthalten.
Meldung:
@@ -125,13 +127,13 @@
// Beispiel 3: dynamisch
// ein Prototyp, damit wir die Methode bekannt machen
- protected string query_kekse();
+ protected string query_kekse(string key);
AddInfo(({"keks","kekse"}),
#'query_kekse, // ein Verweis auf die Funktion
"sagt: ");
- protected string query_kekse() {
+ protected string query_kekse(string key) {
if(present("keks", this_object()))
return("Ich hab noch welche. Aetsch!");
else if(present("keks", environment()))
@@ -146,8 +148,8 @@
// Beispiel 4: dynamischer
// ein Prototyp, damit wir die Methode bekannt machen
- protected string query_kekse();
- protected mixed case_fighting();
+ protected string query_kekse(string key);
+ protected mixed case_fighting(string key);
AddInfo(({"keks","kekse"}),
#'query_kekse," // ein Verweis auf die Funktion
@@ -155,13 +157,13 @@
0, // nicht silent :)
#'case_fighting); // noch ein Funktionsverweis
- protected string query_kekse() {
+ protected string query_kekse(string key) {
if(present("keks"))
return("Ich hab noch welche. Aetsch!");
return("Menno. Keine mehr da!");
}
- protected mixed case_fighting() {
+ protected mixed case_fighting(string key) {
if(InFight())
return("Keine Zeit fuer Kekse. Muss kaempfen.");
return 0;
@@ -177,7 +179,7 @@
// Beispiel 5: ### dynamisch und komplex ###
// ein Prototyp, damit wir die Methode bekannt machen
- protected string question_gold();
+ protected string question_gold(string key);
// "gold" wird eine Closure auf die Methode question_gold()
// zugewiesen, ausserdem soll es still bleiben (wir informieren
@@ -185,7 +187,7 @@
AddInfo("gold", #'question_gold, "murmelt: ", 1);
// los gehts, wir generieren unsere Antwort selbst
- protected string question_gold() {
+ protected string question_gold(string key) {
// wieviel Kohle hat der Spieler
int money = this_player()->QueryMoney();
string* valuables = ({});
@@ -266,4 +268,4 @@
Interna:
GetInfoArr() , do_frage()
-24.09.2020, Arathorn
+09.08.2021, Zesstra
diff --git a/doc/lfun/AddSpecialInfo b/doc/lfun/AddSpecialInfo
index be61558..3c164fd 100644
--- a/doc/lfun/AddSpecialInfo
+++ b/doc/lfun/AddSpecialInfo
@@ -6,31 +6,9 @@
FUNKTION
========
- public varargs void AddSpecialInfo(string|string* keys, string functionname,
- string indent, int|string silent, string|closure casebased);
-
-
-ARGUMENTE
-=========
-
- string|string* frage
- Schluesselwoerter, fuer die der NPC eine Antwort geben soll, wenn
- man ihn danach fragt
-
- string functionname
- Name der Funktion, die gerufen werden soll, um den Informationstext
- des NPCs zu ermitteln. Der gerufenen Funktion werden keine Argumente
- uebergeben.
-
- string indent (optional)
- Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
-
- int|string silent (optional)
- Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
-
- string|closure casebased (optional)
- Closure mit Returnwert string oder int.
- Der Funktion werden keine Argumente uebergeben.
+ public varargs void AddSpecialInfo(string|string* keys, string
+ functionname,
+ string indent, int|string silent, string|closure casebased);
DEFINIERT IN
@@ -39,25 +17,49 @@
/std/npc/info.c
+ARGUMENTE
+=========
+
+ string|string* frage
+ Schluesselphrase(n), fuer die der NPC eine Antwort geben soll,
+ wenn man ihn danach fragt
+
+ string functionname
+ Name der Funktion, die gerufen werden soll, um den
+ Informationstext des NPCs zu ermitteln. Der gerufenen Funktion
+ wird die vom Spieler gefragte Schluesselphrase uebergeben.
+
+ string indent (optional)
+ Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
+
+ int|string silent (optional)
+ Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
+
+ string|closure casebased (optional)
+ Closure mit Returnwert string oder int. Der Funktion wird die
+ vom Spieler gefragte Schluesselphrase uebergeben.
+
+
BESCHREIBUNG
============
- Wenn ein Spieler ein NPC mittels "frage <monstername> nach <frage>" nach
- einer Information mit dem Schluessel frage fragt, so wird die Methode
- "function" gerufen. Die Rueckgabe wird als Meldung ausgegeben.
+ Wenn ein Spieler ein NPC mittels "frage <monstername> nach <frage>"
+ nach einer Information mit dem Schluessel frage fragt, so wird die
+ Methode "function" gerufen. Die Rueckgabe wird als Meldung
+ ausgegeben.
Fuer die Beschreibung der weiteren Parameter siehe man AddInfo(L).
- AddSpecialInfo(keys, "function", ...) entspricht:
- - AddInfo(keys, #'function, ...)
+ "AddSpecialInfo(keys, "function", ...)" entspricht "AddInfo(keys,
+ #'function, ...)".
BEMERKUNGEN
===========
Da AddSpecialInfo() und AddInfo() auf die gleichen Daten zugreifen,
- kann man Informationen, die mit AddSpecialInfo() gesetzt wurden, auch
- mit RemoveInfo() entfernen. Es gibt kein RemoveSpecialInfo().
+ kann man Informationen, die mit AddSpecialInfo() gesetzt wurden,
+ auch mit RemoveInfo() entfernen. Es gibt kein RemoveSpecialInfo().
BEISPIELE
@@ -69,13 +71,13 @@
"query_kekse", // der Methodenname
"sagt: ");
// ist uebrigens das gleiche wie:
- // static string query_kekse();
+ // static string query_kekse(string key);
// ...
// AddInfo(({"keks","kekse"}),
// #'query_kekse, // ein Verweis auf die Methode
// "sagt: ");
...
- static string query_kekse() {
+ static string query_kekse(string key) {
if(present("keks"))
return("Ich hab noch welche. Aetsch!");
return("Menno. Keine mehr da!");
@@ -106,4 +108,4 @@
Interna:
GetInfoArr() , do_frage()
-24.09.2020, Arathorn
+09.08.2021, Zesstra
diff --git a/doc/lfun/short b/doc/lfun/short
index c446d1c..5da9b46 100644
--- a/doc/lfun/short
+++ b/doc/lfun/short
@@ -6,7 +6,7 @@
FUNKTION
========
- public varargs string short();
+ public string short();
DEFINIERT IN
@@ -24,7 +24,7 @@
BESCHREIBUNG
============
- Der Inhalt der Property P_SHORT wird ausgewertet, mit ".n"
+ Der Inhalt der Property P_SHORT wird ausgewertet, mit ".\n"
abgeschlossen und zurueckgegeben.
Durch Ueberladen von short() lassen sich ggf. weitere Eigenschaften
diff --git a/doc/props/P_BRIEF b/doc/props/P_BRIEF
index f6d3769..34ba0aa 100644
--- a/doc/props/P_BRIEF
+++ b/doc/props/P_BRIEF
@@ -18,4 +18,10 @@
BESCHREIBUNG
============
- Ist gesetzt, wenn der Spieler nur die Kurzbeschreibung sehen will.
+ Speichert die Einstellung fuer "lang", "kurz" oder "ultrakurz" des
+ Spielers.
+ Werte: 0 fuer lang, 1 fuer kurz, 2 fuer ultrakurz.
+
+ Bitte nur lesend zugreifen, nicht nach Belieben in Spielern aendern.
+
+Letzte Aenderung: Arathorn, 2021-09-05
diff --git a/doc/props/P_CONTAINER b/doc/props/P_CONTAINER
index e779f75..019ff81 100644
--- a/doc/props/P_CONTAINER
+++ b/doc/props/P_CONTAINER
@@ -12,10 +12,30 @@
DEFINIERT IN
============
- /sys/properties.h
+ /sys/container.h
BESCHREIBUNG
============
- *** KEINE BESCHREIBUNG VORHANDEN ***
+ Markiert Objekte als Container im spieltechnischen Sinn. Aktuell
+ hat dies nur den Effekt, dass Spieler in Objekte mit gesetztem
+ P_CONTAINER Objekte hereinstecken und herausnehmen koennen, was bei
+ Objekten, die rein aus technischer Sicht Container sind, wie
+ Raeumen oder Livings, nicht moeglich ist.
+
+
+ANMERKUNGEN
+===========
+
+ Bei von *../std/container*, /std/armour_container und
+ /std/clothing_container geerbten Objekten wir die Property
+ automatisch gesetzt.
+
+
+SIEHE AUCH
+==========
+
+ *../std/container*
+
+Letzte Aenderung: 07.05.2021, Bugfix
diff --git a/doc/props/P_TRAY b/doc/props/P_TRAY
index 0c394d4..dc38379 100644
--- a/doc/props/P_TRAY
+++ b/doc/props/P_TRAY
@@ -18,4 +18,14 @@
BESCHREIBUNG
============
- *** KEINE BESCHREIBUNG VORHANDEN ***
+ Markiert Objekte als Tray. Derzeit hat dies nur den Effekt, das
+ Spieler Objekte darauf ablegen und sie herunternehmen koennen.
+
+
+ANMERKUNGEN
+===========
+
+ Bei von /std/tray geerbten Objekten wird die Property automatisch
+ gesetzt.
+
+Letzte Aenderung: 07.05.2021, Bugfix
diff --git a/doc/sphinx/lfun/short.rst b/doc/sphinx/lfun/short.rst
index e31d7ff..439ad92 100644
--- a/doc/sphinx/lfun/short.rst
+++ b/doc/sphinx/lfun/short.rst
@@ -4,7 +4,7 @@
FUNKTION
--------
- public varargs string short();
+ public string short();
DEFINIERT IN
------------
@@ -19,7 +19,7 @@
BESCHREIBUNG
------------
- Der Inhalt der Property P_SHORT wird ausgewertet, mit ".\n"
+ Der Inhalt der Property P_SHORT wird ausgewertet, mit ".\\n"
abgeschlossen und zurueckgegeben.
Durch Ueberladen von short() lassen sich ggf. weitere Eigenschaften des
diff --git a/doc/sphinx/props/P_BRIEF.rst b/doc/sphinx/props/P_BRIEF.rst
index d50f389..43ba64b 100644
--- a/doc/sphinx/props/P_BRIEF.rst
+++ b/doc/sphinx/props/P_BRIEF.rst
@@ -17,5 +17,11 @@
------------
::
- Ist gesetzt, wenn der Spieler nur die Kurzbeschreibung sehen will.
+ Speichert die Einstellung fuer "lang", "kurz" oder "ultrakurz" des
+ Spielers.
+ Werte: 0 fuer lang, 1 fuer kurz, 2 fuer ultrakurz.
+ Bitte nur lesend zugreifen, nicht nach Belieben in Spielern aendern.
+
+
+Letzte Aenderung: Arathorn, 2021-09-05
diff --git a/doc/wiz/homemud b/doc/wiz/homemud
index db6ea5f..d1de64a 100644
--- a/doc/wiz/homemud
+++ b/doc/wiz/homemud
@@ -10,9 +10,9 @@
bauen, benoetigt man folgende Pakete (die Namen koennen je nach
Distribution abweichen):
- libjson0/json-c, libgnutls30, libsqlite3, libpcre3, libxml2, libgcrypt,
- libpcre3, libiconv (diese ist bei neueren Distributionen in
- libc6-dev enthalten).
+ libjson0/json-c, libgnutls30, libsqlite3, libpcre3, libxml2,
+ libgcrypt, libpcre3, libiconv (diese ist bei neueren Distributionen
+ in libc6-dev enthalten).
Beachte, dass man auf debianbasierten System auch die
entsprechenden Entwicklerpackete (**-dev*) mitinstallieren muss,
@@ -23,7 +23,8 @@
=======================================
Mit den folgenden Schritten installiert man die gegenwaertige
- mudlib und einen Driver der Version LDMUD-3.6.x
+ mudlib und einen Driver der Version LDMUD-3.6.4 oder
+ https://github.com/zesstra/ldmud/releases/tag/mgreboot-20210507
1. Lade den aktuellen Driver unter
https://github.com/ldmud/ldmud herunter. Du kannst auch das Repo
@@ -38,13 +39,15 @@
3. Gehe in das *src/*-Verzeichnis des drivers
- 4. Im *src/*-Verzeichnis, fuehere "./autogen.sh" aus
+ 4. Im *src/*-Verzeichnis, fuehre "./autogen.sh" aus (Hierfuer
+ ist das Paket autoconf empfehlenswert.)
5. Im src/-Verzeichnis, passe die Pfade in settings/morgengrauen
an, und fuehre settings/morgengrauen aus
6. im src/-Verzeichnis, kompiliere und installiere den Treiber
- mit "make all" und "make install-all".
+ mit "make all" und "make install-all". (Hierfuer wird das Paket
+ bison benoetigt.)
7. Falls noch nicht geschehen, schiebe die Mudlib in den Ordner,
den Du in *settings/morgengrauen* eingestellt hast