Update auto-erzeugter Manpages.
Change-Id: Iff30c40e141bb8f9b1f82e4763272504881375fc
diff --git a/doc/lfun/AddInfo b/doc/lfun/AddInfo
index 193e407..c684fe0 100644
--- a/doc/lfun/AddInfo
+++ b/doc/lfun/AddInfo
@@ -23,8 +23,8 @@
Schluesseltext(e) auf die Informationen gegeben werden sollen.
string/closure meldung
- Information, die gegeben werden soll/Closure Bekommt nichts
- uebergeben.
+ Information, die gegeben werden soll; wenn 'meldung' eine
+ Closure ist, wird der gerufenen Funktion nichts uebergeben.
string indent
Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
@@ -62,7 +62,9 @@
Silent:
Bei 'silent'==1 erfolgt keine Textausgabe der Antwortmeldung im
Raum, ist 'silent' ein String, so wird jener an alle anderen
- Spieler ausser dem Fragesteller im Raum ausgegeben.
+ Spieler ausser dem Fragesteller im Raum ausgegeben. Dem
+ ausgegebenen Text wird der Name des NPCs als Indent
+ vorangestellt.
Casebased:
Die als Closure angegebene Methode entscheidet, ob oder wie der
@@ -106,9 +108,9 @@
"Ich habe zwar kein Geld, aber [...] blablabla [...]",
"sagt: ");
AddInfo("muenzen",
- "fluestert: Du willst Geld?",
+ "fluestert: Du willst Geld?\n",
0,
- "fluestert @WEM1 etwas zu.");
+ "fluestert @WEM1 etwas zu.\n");
// "frage monster nach geld": alle im Raum hoeren
// Das Monster sagt: Ich habe zwar kein Geld, aber [...]
@@ -148,7 +150,7 @@
AddInfo(({"keks","kekse"}),
#'query_kekse," // ein Verweis auf die Funktion
- sagt: ",
+ "sagt: ",
0, // nicht silent :)
#'case_fighting); // noch ein Funktionsverweis
@@ -185,50 +187,58 @@
protected string question_gold() {
// wieviel Kohle hat der Spieler
int money = this_player()->QueryMoney();
- string* y = map(deep_inventory(this_player()),
- function string(object o) {
- if(o->QueryMaterial(MAT_GOLD)>0 &&
- strstr(object_name(o),"/items/money")<0 &&
- o->QueryProp(P_NAME))
- return o->name(WER,1);
- })-({0});
+ string* valuables = ({});
+
+ // Wertgegenstaende suchen, d.h. Material kein Gold,
+ // Objekt kein Geld, und auch nicht unsichtbar
+ foreach(object o : deep_inventory(this_player()))
+ {
+ if ( o->QueryMaterial(MAT_GOLD)>0 &&
+ load_name(o) != "/items/money" &&
+ o->QueryProp(P_SHORT) &&
+ !o->QueryProp(P_INVIS) )
+ {
+ valuables += ({o->Name(WER,1)});
+ }
+ }
// das geht an alle anderen im Raum, silent bietet sich hier
// nicht an, weil es mehrere Moeglichkeiten gibt
send_room(environment(),
- (Name(WER,1)+" murmelt "+
- this_player()->name(WEM,1)+
- " etwas zu"+
- ((money || sizeof(y))?
- " und glotzt "+this_player()->QueryPronoun(WEN)+" gierig an.":
- ".")),
+ sprintf("%s murmelt %s etwas zu%s.",
+ Name(WER,1),
+ this_player()->name(WEM,1),
+ (money || sizeof(valuables))?
+ " und glotzt "+this_player()->QueryPronoun(WEN)+
+ " gierig an" : ""),
MT_LOOK|MT_LISTEN,
MA_EMOTE, 0, ({this_player()}));
- // und hier die Antwort an den Spieler selbst, mit vielen
- // Verzweigungen fuer dessen Besitztum
- return("Ich hab kein Gold bei mir."+
- ((money || sizeof(y))?
- " Aber du "+
- (money?
- "hast ja jede Menge Kohle bei dir, so etwa "+money+
- " Muenzen."+
- (sizeof(y)?
- " Ausserdem "+
- ((sizeof(y)==1)?"ist":"sind")+
- " auch noch "+CountUp(y)+" aus Gold.":
- ""):
- (sizeof(y)?"hast ja ein paar Wertsachen dabei: "+
- CountUp(y)+
- (sizeof(y)==1?" ist":" sind")+
- " aus Gold.":"")):
- ""));
+ // Und hier die Antwort an den Spieler selbst, mit diversen
+ // Verzweigungen fuer dessen Besitztum.
+ string reply = "Ich hab kein Gold bei mir.";
+ string verb = sizeof(valuables) ? "ist" : "sind";
+ if ( money )
+ {
+ reply += " Aber Du hast ja jede Menge Kohle bei dir, so etwa "+
+ money+" Muenzen.";
+ if ( sizeof(valuables) )
+ reply += sprintf(" Ausserdem %s auch noch %s aus Gold.",
+ verb, CountUp(valuables));
+ }
+ else if ( sizeof(valuables) )
+ {
+ reply += sprintf(
+ " Aber Du hast ja ein paar Wertsachen dabei: %s %s aus Gold.",
+ CountUp(valuables), verb);
+ }
+ return reply;
}
// "frage monster nach gold"
// - der Fragesteller hoert zB:
- // Das Monster murmelt: Ich hab kein Gold bei mir. Aber du hast ja
- // Das Monster murmelt: jede Menge Kohle bei dir, so etwas <number>
+ // Das Monster murmelt: Ich hab kein Gold bei mir. Aber Du hast ja
+ // Das Monster murmelt: jede Menge Kohle bei Dir, so etwa <number>
// Das Monster murmelt: Muenzen. Ausserdem ist/sind noch <object1>
// Das Monster murmelt: und <object2> aus Gold."
// - die Umstehenden hoeren:
diff --git a/doc/props-liste b/doc/props-liste
index 745a671..d62564f 100644
--- a/doc/props-liste
+++ b/doc/props-liste
@@ -796,6 +796,8 @@
* P_TEAM_WIMPY_ROW
+* P_TELNET_KEEPALIVE_DELAY
+
* P_TELNET_RTTIME
* P_TESTPLAYER
diff --git a/doc/props/P_SYNTAX_HELP b/doc/props/P_SYNTAX_HELP
index 1d1cb67..a4f4cdf 100644
--- a/doc/props/P_SYNTAX_HELP
+++ b/doc/props/P_SYNTAX_HELP
@@ -6,8 +6,7 @@
NAME
====
- P_SYNTAX_HELP
- "lib_p_syntax_help"
+ P_SYNTAX_HELP "lib_p_syntax_help"
DEFINIERT IN
@@ -24,8 +23,10 @@
angezeigt, wenn der Spieler das Kommando "syntaxhilfe <objekt>"
eingibt. Die Property kann verschiedene Datenstrukturen enthalten:
- 1) ein String Der String wird angezeigt, hierbei ggf. umgebrochen,
- vorhandene Zeilenumbrueche werden beibehalten.
+ 1. ein String:
+
+ Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
+ Zeilenumbrueche werden beibehalten.
2. ein Array: ({hilfetext, bedingungen})
diff --git a/doc/props/P_TELNET_KEEPALIVE_DELAY b/doc/props/P_TELNET_KEEPALIVE_DELAY
new file mode 100644
index 0000000..6c91627
--- /dev/null
+++ b/doc/props/P_TELNET_KEEPALIVE_DELAY
@@ -0,0 +1,45 @@
+
+P_TELNET_KEEPALIVE_DELAY
+************************
+
+
+NAME
+====
+
+ P_TELNET_KEEPALIVE_DELAY "p_lib_telnet_alive_delay"
+
+
+DEFINIERT IN
+============
+
+ <player/telnetneg.h>
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property kann der zeitliche Abstand zwischen zwei
+ Aussendungen der "Telnet Timing Mark", welche fuer das Telnet keep-
+ alive benutzt wird, bestimmt werden. Die Angabe ist in Heartbeats.
+ Eine 0 fuehrt zu einer Standardverzoegerung (zur Zeit 240 s).
+
+ Wenn diese Property in einem Magier (oder Spieler) gesetzt wird,
+ sollte experimentell ermittelt werden, welcher Wert sinnvoll ist.
+ Dies kann z.B. dadurch erfolgen, dass von 120 (Heartbeats) eine
+ stufenweise Reduktion erfolgt, bis kein Disconnect mehr erfolgt.
+ Helfen sehr niedrige Werte nicht, sollte die Verzoegerung wieder
+ erhoeht werden bzw. das Keepalive ganz abgeschaltet werden.
+
+
+BEMERKUNGEN
+===========
+
+ Die Property sollte nicht auf weniger als 30 gesetzt werden.
+
+
+SIEHE AUCH
+==========
+
+ *../pcmd/telnet*
+
+25.07.2019, Zesstra
diff --git a/doc/wiz/homemud b/doc/wiz/homemud
index cd23d87..2f703c3 100644
--- a/doc/wiz/homemud
+++ b/doc/wiz/homemud
@@ -11,7 +11,8 @@
Distribution abweichen):
libjson0/json-c, libssl, libsqlite3, libpcre3, libxml2, libgcrypt,
- libpcre3, libiconv
+ libpcre3, libiconv (diese ist bei neueren Distributionen in
+ libc6-dev enthalten).
Beachte, dass man auf debianbasierten System auch die
entsprechenden Entwicklerpackete (**-dev*) mitinstallieren muss,
@@ -22,7 +23,7 @@
=======================================
Mit den folgenden Schritten installiert man die gegenwaertige
- mudlib und einen Driver der Version LDMUD-3.5.x.
+ mudlib und einen Driver der Version LDMUD-3.5.x (x < 99).
1. Lade den aktuellen Driver unter
https://github.com/ldmud/ldmud herunter. Du kannst auch das Repo
@@ -56,22 +57,30 @@
"ldmud <port>" kannst Du auch den Port bestimmten, auf welchem
das Homemud laeuft.
- Optional kannst Du noch den Namen des Mudgottes von Jof auf etwas
- anderes aendern, das geht wie folgt:
+ 9. Einloggen als "jof".
- mv save/j/jof.o save/t/thomas.o
- mv secure/save/j/jof.o secure/save/t/thomas.o
+ Optional kannst Du *anschliessend* den Namen des Mudgottes von Jof
+ auf etwas anderes aendern, das geht wie folgt:
+
+ clone /obj/tools/MGtool
+ xcall $me->SetProp(P_START_HOME, "/players/thomas/workroom");
+ ende
+
+ Auf der Shell:
+
+ mv data/save/j/jof.o data/save/t/thomas.o
+ mv data/secure/save/j/jof.o data/secure/save/t/thomas.o
# (beachte den Namen des Unterverzeichnisses, es ist der erste Buchstabe
# Deines Namens. )
- sed -i 's/jof/thomas/' secure/save/t/thomas.o
+ sed -i 's/jof/thomas/' data/secure/save/t/thomas.o
mkdir -p players/thomas
mv players/jof/workroom.c players/thomas/workroom.c
- Nachdem Login muss man nun noch den Workroom anpassen:
-
- clone /obj/tools/MGtool
- xcall $me->SetProp(P_START_HOME, "/players/thomas/workroom");
- save
+ Beachte hierbei allerdings, dass in Homemuds immer automatisch
+ sichergestellt wird, dass "Jof" existiert. Falls noetig, wird diesr Char
+ ohne Passwort angelegt. Ist Dein Homemud erreichbar, gibt "jof" bitte ein
+ Passwort und lasse den Char bestehen. (Alternativ muss Du das File
+ /secure/testmud.c anpassen.)
Beispielinstallation
@@ -91,23 +100,9 @@
# Alternative
git clone https://mg.mud.de/gerrit/mudlib-public mudlib
cd <mudhome>
- cd <mudlib>
- mv save/j/jof.o save/t/thomas.o
- mv secure/save/j/jof.o secure/save/t/thomas.o
- # (beachte den Namen des Unterverzeichnisses, es ist der erste Buchstabe
- # Deines Namens. )
- sed -i 's/jof/thomas/' secure/save/t/thomas.o
- mkdir -p players/thomas
- mv players/jof/workroom.c players/thomas/workroom.c
bin/ldmud
# oder
bin/ldmud -m <alternative path to mudlib> <alternative port>
+ # Einloggen als Jof.
-Nachdem Login muss man nun noch den Workroom anpassen:
-
- clone /obj/tools/MGtool
- xcall $me->SetProp(P_START_HOME, "/players/thomas/workroom");
- save
-
-Letzte Aenderung: 2018-12-09 von Deaddy (auf Basis von Zesstras engl.
-Anleitung)
+Letzte Aenderung: 2019-07-31 Zesstra