blob: 032e933a1b5f9019d56537ec0a2e45e6d024c7df [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001send_room()
2***********
3
4
5FUNKTION
6========
7
Zesstra0c1a85a2018-02-07 23:46:50 +01008 varargs void send_room(object|string room, string msg, int
9 msg_type,
10 string msg_action, string msg_prefix, object *exclude, object
11 origin)
MG Mud User88f12472016-06-24 23:31:02 +020012
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014BESCHREIBUNG
15============
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra0c1a85a2018-02-07 23:46:50 +010017 Sendet msg an alle Objekte in room durch Aufruf von ReceiveMsg()
18 mit den uebergebenen Argumenten. Zur Bedeutung der Argumente siehe
19 Manpage von ReceiveMsg().
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021 Wenn das Raumobjekt mit seinem Namen angegeben ist, wird das Objekt
22 unter diesem Namen gesucht und und geladen, falls notwendig.
MG Mud User88f12472016-06-24 23:31:02 +020023
Zesstra0c1a85a2018-02-07 23:46:50 +010024 Mit dem Array exclude kann man verhindern, dass die Nachricht an
25 die darin enthaltenen Objekte gesendet wird. Das ist sinnvoll, wenn
26 beispielsweise ein Spieler Ausloeser einer Meldung ist und diese
27 selbst nicht erhalten soll.
Zesstra953f9972017-02-18 15:37:36 +010028
29 origin gibt an, welches Objekt die Meldung ausloest (muss nicht das
Zesstra0c1a85a2018-02-07 23:46:50 +010030 sendende Objekt selber) und wird vor allem fuer die
31 Ignorierepruefung verwendet. Default ist das sendende Objekt.
Zesstra953f9972017-02-18 15:37:36 +010032
Zesstra0c1a85a2018-02-07 23:46:50 +010033 Letztendlich ist die sefun vergleichbar zu *tell_room()*.
34
35
36BEISPIEL
37========
38
39 Oft moechte man einfach nur, dass an den Spieler, der eine Aktion
40 oder aehnliches ausloest, eine andere Meldung gegeben wird, als an
41 andere im Raum befindliche Spieler. Folgenden Code koente man dann
42 verwenden:
43
44 /* Zuerst senden wir eine Nachricht nur an den Spieler.
45 * Ziel: der Spieler riecht etwas und schuettelt sich fuer alle im
46 * Raum sichtbar darauf.
47 */
48 this_player()->ReceiveMsg("Buah stinkt das. Du schuettelst Dich.\n",
49 MT_NOTIFICATION|MT_SMELL, MA_SMELL);
50 send_room(environment(this_player()),
51 // der Raum in dem der Spieler ist
52 this_player()->Name(WER) + " schuettelt sich. Wieso nur?\n",
53 // die eigentliche Nachricht
54 MT_LOOK, // man sieht das schuetteln
55 MA_UNKNOWN, // MA_SMELL moeglich; im Zweifel immer MA_UNKNOWN
56 "", // wir wollen kein Praefix vor der Ausgabe haben
57 ({this_player()}));
58 // Array nur mit dem Spieler, der das nicht noch
59 // mitbekommen soll.
60
61 Fuer weitere Optionen fuer *msg_type* und *msg_action* siehe die
62 manpage zu ReceiveMsg. Natuerlich haben *this_player* und
63 *environment* auch manpages.
Zesstra953f9972017-02-18 15:37:36 +010064
MG Mud User88f12472016-06-24 23:31:02 +020065
66SIEHE AUCH
Zesstra953f9972017-02-18 15:37:36 +010067==========
68
Zesstra6cadc1b2018-11-15 22:27:32 +010069 ReceiveMsg() tell_object(E), tell_room(E), say(E), write(E)
MG Mud User88f12472016-06-24 23:31:02 +020070
Zesstra0c1a85a2018-02-07 23:46:50 +01007131.01.2018, Deaddy