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