blob: 27534ccc078df48d379c211727bbf69c22ef3e70 [file] [log] [blame]
Zesstra051ad6b2020-01-23 21:46:58 +01001tell_room
2*********
3
4
5BEMERKUNGEN
6===========
7
8 Wird in einem catch_msg() der Wert von <msg> veraendert, erhalten
9 alle nachfolgenden Objekte das veraenderte <msg> (Referenz!)
10
11
12BEISPIELE
13=========
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 }