Dokumentation zu: AddRoomMessage(L)

HR Image


FUNKTION:
	void AddRoomMessage( mixed mesg, int delay );

ARGUMENTE:
	mesg:  string, closure, oder Arrays aus beidem.
	delay: Sekundenwert, wann die Ausschriften kommen.

BESCHREIBUNG:
	In dem Raum werden ueber callouts alle 'delay' Sekunden
	zufaellige Ausschriften aus 'mesg' gemacht.
	Ist 'mesg' eine closure oder enthaelt closures, so werden diese
	vor der Ausgabe des Textes aufgerufen. Zu beachten ist dabei, dass
        die closure einen String (oder 0) zurueckgeben muss.
	Die Texte werden alle vor der Ausgabe mit break_string() umgebrochen.
	Es ist moeglich, mehrere AddRoomMessage() mit unterschiedlichen
	'delay' aufzurufen.
	Der minimale Wert fuer 'delay' sind 15 Sekunden. Kleinere Werte
        werden als 15 angenommen.

RÜCKGABEWERT:
	keiner

BEMERKUNGEN:
	Werden mehrere AddRoomMessage() mit dem gleichen 'delay' aufgerufen,
	so werden die neuen 'mesg'-Werte zu den alten hinzugefuegt.

	Verlaesst ein Spieler diesen Raum bzw. sind keine Spieler
	mehr in diesem Raum anwesend, werden alle callouts geloescht,
	und somit Rechenzeit gespart. Sie werden erst wieder aktiv,
	wenn ein Spieler den Raum betritt.	

BEISPIELE:
	AddRoomMessage("Hallo, dies kommt alle 15 sek.", 15);

	AddRoomMessage(lambda(({}), ({#'sprintf, 
		"Dies wurde von einer Closure erzeugt.\nEs ist jetzt %s.\n",
		({#'dtime, ({#'time}) }) })), 20);
	
	- wir erzeugen Tags und Nachts verschiedene Meldungen (Die Funktion 
	  chats ist jeweils eine Funktion ausserhalb des create.)
	AddRoomMessage(#'chats, 50);

	string chats()
	{
	  string *tags = ({"Die Sonnenstrahlen kitzeln Deine Nase.",
	     "Ein paar Voegel zwitschern.",
	     "Leise raschelt das Laub der Baeume im lauen Sommerwind."});
	  string *nachts = ({"Ein Stern funkelt am Himmel.",
	     "Schrie da grad ein Kaeutzchen?",
	     "Die Baeume rauschen sanft in der Dunkelheit."});
	  if (UHR->IsNight()) return nachts[random(sizeof(nachts))];
	  return tags[random(sizeof(tags))];
	}

	- mit Texten, die Tag und Nacht auch mal gleich sind:
	AddRoomMessage(({#'chats, "Die Blaetter der Baeume rauschen leise im Wind.",
	  "Irgendwo knackt das Unterholz."}), 50);

	string chats()
	{
	  if (UHR->IsNight()) return "Ein Kaeutzchen schreit.";
	  else return "Ein paar Voegel zwitschern.";
	}

	Mann kann uebrigens ein unregelmaessiges Delay erzeugen, indem 
        man ins Array Leerstrings (alternativ auch 0en) aufnimmt.

SIEHE AUCH:
	RemoveRoomMessage(L), P_ROOM_MSG, closures(LPC), process_string(E),
	call_out(E)


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