blob: 59ceca01e19ea743f03f85f7b83bbfa6682428ff [file] [log] [blame]
Zesstrabbc000b2020-01-23 21:34:06 +01001tell_room
2=========
3
4BEMERKUNGEN
5-----------
6
7 Wird in einem catch_msg() der Wert von <msg> veraendert, erhalten
8 alle nachfolgenden Objekte das veraenderte <msg> (Referenz!)
9
10BEISPIELE
11---------
12
13 .. code-block:: pike
14
15 // Dies ist ein einfaches Beispiel fuer eine Meldung an alle An-
16 // wesenden im Raum.
17
18 tell_room(this_object(),"Ein leichter Wind kommt auf.\n");
19
20 // Diese Meldung wird im Raum /d/ebene/ark/raum.c ausgegeben, dieser
21 // Raum muss nicht derjenige sein, in dem das tell_room() ausgefuehrt
22 // wird.
23
24 tell_room("/d/ebene/ark/raum","Ein leichter Wind kommt auf.\n");
25
26
27 // Diese Meldung wird an alle Anwesenden im Raum AUSSER this_player()
28 // (der diese Meldung ausgeloest hat) ausgegeben. Der muss eine ge-
29 // sonderte Meldung ueber sein Stolpern per write() oder
30 // tell_object() bekommen.
31 tell_room(this_object(),
32 break_string(this_player()->Name()+" stolpert.", 78),
33 ({ this_player() }));
34 tell_object(this_player(), "Du stolperst.\n");
35
36 // Ein Beispiel mit zwei Objekten, das zeigt, wie das Zusammenspiel
37 // von catch_tell() und tell_room() ablaueft. Objekt1 ist ein
38 // Lebewesen mit Namen "Dummymonster", Objekt2 verteilt die Meldung:
39
40 Objekt1 (ein Lebewesen, steht im Env von this_player()):
41 void catch_tell(string str) {
42 write("Empfangen: "+str+"\n");
43 }
44
45 Objekt2:
46 void fun() {
47 tell_room(environment(this_player()), "Hallo Welt!\n");
48 }
49