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