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.