blob: 2906b5a6b2a57b738f3c9018e8753ebdeabd1424 [file] [log] [blame]
send_room()
***********
FUNKTION
========
varargs void send_room(object|string room, string msg, int
msg_type,
string msg_action, string msg_prefix, object *exclude, object
origin)
BESCHREIBUNG
============
Sendet msg an alle Objekte in room durch Aufruf von ReceiveMsg()
mit den uebergebenen Argumenten. Zur Bedeutung der Argumente siehe
Manpage von ReceiveMsg().
Wenn das Raumobjekt mit seinem Namen angegeben ist, wird das Objekt
unter diesem Namen gesucht und und geladen, falls notwendig.
Mit dem Array exclude kann man verhindern, dass die Nachricht an
die darin enthaltenen Objekte gesendet wird. Das ist sinnvoll, wenn
beispielsweise ein Spieler Ausloeser einer Meldung ist und diese
selbst nicht erhalten soll.
origin gibt an, welches Objekt die Meldung ausloest (muss nicht das
sendende Objekt selber) und wird vor allem fuer die
Ignorierepruefung verwendet. Default ist das sendende Objekt.
Letztendlich ist die sefun vergleichbar zu *tell_room()*.
BEISPIEL
========
Oft moechte man einfach nur, dass an den Spieler, der eine Aktion
oder aehnliches ausloest, eine andere Meldung gegeben wird, als an
andere im Raum befindliche Spieler. Folgenden Code koente man dann
verwenden:
/* Zuerst senden wir eine Nachricht nur an den Spieler.
* Ziel: der Spieler riecht etwas und schuettelt sich fuer alle im
* Raum sichtbar darauf.
*/
this_player()->ReceiveMsg("Buah stinkt das. Du schuettelst Dich.\n",
MT_NOTIFICATION|MT_SMELL, MA_SMELL);
send_room(environment(this_player()),
// der Raum in dem der Spieler ist
this_player()->Name(WER) + " schuettelt sich. Wieso nur?\n",
// die eigentliche Nachricht
MT_LOOK, // man sieht das schuetteln
MA_UNKNOWN, // MA_SMELL moeglich; im Zweifel immer MA_UNKNOWN
"", // wir wollen kein Praefix vor der Ausgabe haben
({this_player()}));
// Array nur mit dem Spieler, der das nicht noch
// mitbekommen soll.
Fuer weitere Optionen fuer *msg_type* und *msg_action* siehe die
manpage zu ReceiveMsg. Natuerlich haben *this_player* und
*environment* auch manpages.
SIEHE AUCH
==========
ReceiveMsg() tell_object(E), tell_room(E), say(E), write(E)
31.01.2018, Deaddy