Dokumentation zu: uhr.changefile(WL)

HR Image


CONCEPT:
	uhr.changefile

BESCHREIBUNG:
	Dies ist eine Detailseite zu uhr.change(WL), welche wiederum eine
	Detailseite zu uhr(WL) ist. Fuer allgemeine Informationen siehe
	erstmal dort.

	Hier wird die komplexe Syntax fuer Verzeichnisstruktur-spezifische
	Lichtwechselmeldungen beschrieben. Wenn man mit dem Begriff nichts
	anfangen kann sollte man erst die o.g. Dokumentation verstehen!

	Die Textdatei kann durch Befehlssequenzen angereichert werden um
	verschiedene, zufaellig ausgewaehlte Texte zu verwenden oder einen
	Master um den Text zu bitten. Wichtig ist, dass bereits auf der
	ersten Zeile direkt am Anfang ein Kommandowort steht, damit die
	Datei als erweitert erkannt werden kann.

	Im Folgenden werden die Kommandos zusammen mit ihren Parametern
	beschrieben:

	CHANGE [MORN|DUSK|EVEN|DAWN] <n>
	  Hiernach beginnt ein Block fuer den gegebenen Lichtwechsel.
	  Die folgende Zahl n ist auf die Anzahl der alternativen
	  zu setzen. CHANGE EVEN 5 sagt also aus, dass der folgende
	  Block aus 5 Zeilen Lichtwechselmeldungen zur Nacht sind.
	  Wenn die Zahl n hier falsch verwendet wird, so kann es zu
	  ungewollten Meldungen kommen.

	CHANGE [MORN|DUSK|EVEN|DAWN] MASTER
	  In der folgenden Zeile steht der absolute Pfad eines LPC-Objektes,
	  welches den Lichtwechseltext liefern soll. In dem Objekt wird
	  die ebenfalls anzugebende Funktion aufgerufen, mit dem Lichtwechsel-
	  Status als Argument. Achtung, wenn der Master nicht geladen werden
	  kann oder keinen String liefert, wird diese ganze Datei ignoriert.
	  Die darauffolgende Zeile hat das Format "Pfadname Funktionsname".
	  Auf keinen Fall duerfen Leerzeichen oder ^M folgen! Fehler beim
	  Aufruf des jeweiligen Masters landen in /log/UHR.

	Direkte Texte und Master koennen fuer verschiedene Lichtwechsel
	gemischt werden. Werden fuer einen Lichtwechsel mehrere Blocke
	definiert, so gilt nur der jeweils erste!

	Jede Zeile eines Blockes mit direkten Texten (<n> nicht MASTER)
	steht fuer eine Variante eines Lichtwechseltextes. Einer davon
	wird zufaellig ausgewaehlt und fuer alle Raeume fuer die diese
	Datei gilt verwendet. Um einen Umbruch in die Zeile einzubauen
	(ohne sie zu zwei Zeilen zu machen) ist auch hier der Text '\n'
	einzufuegen.

	Wiederum ist es sehr wichtig die Datei im 'Unix-Format' zu
	speichern, also nicht mit ^M von M$DOS o.ae. Ggf sollte man die
	Dateien nach dem Heraufladen mit einem Tool umwandeln (zb 'dos2unix'
	des Ztools).

	Zu beachten ist weiterhin, dass keine Zeile ausser Kommandozeilen
	mit dem Teilstring "CHANGE" beginnen duerfen. Es sollten so
	wenig wie moeglich von diesen Dateien angelegt werden, da sie
	doch ein bisschen Rechenaufwand erfordern. Da jede Datei pro
	Lichtwechsel aber nur einmal ausgewertet wird, ist es egal wieviele
	Raeume sich auf eine einzelne Datei beziehen.

	Die Master duerfen keine (!) Nebeneffekte ausloesen, also wirklich
	nur den Text errechnen und ausgeben. Ausserdem sollte darauf
	geachtet werden sie effizient zu programmieren.

BEISPIEL:
	Hier ein Beispiel fuer eine erweiterte light_change.init Datei. Sie
	ist eingerueckt, damit sie zum Format der Hilfeseite passt. Jeder
	Zeilenanfang ist durch ^ markiert. Dies ist nur fuer die Hilfeseite
        so, die Zeichen muss man weglassen!

	---
	^CHANGE MORN 1
	^Was fuer ein toller Tag steht uns wieder bevor?\nNun los!
	^CHANGE DUSK 2
	^Das Licht ist bald zu schlecht zum Lesen.
	^Es wird immer dunkler.
	^CHANGE DAWN MASTER
	^/d/smaragdenstadt/master/changemaster GetLight
	---

	Zum Morgengrauen wird also changemaster->GetLight(DAWN) ausgefuehrt.
	DAWN usw sind in uhr.h definiert.

SIEHE AUCH:
	uhr(WL), uhr.change(WL)


Start » Magierhandbuch » Docu » Konzepte » Uhr.changefile Letzte Generierung: 25.04.2021, 01:58
Email an: mud@wl.mud.de
Valid HTML 4.01!