blob: ea10b3d37898844fe98e70358238737c5dae46f5 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
2 object environment();
3 object environment(object obj);
4 object environment(string obj);
5
6ARGUMENTE:
7 obj
8 Objekt oder Pfad-String eines Objektes dessen Umgebungsobjekt
9 gesucht ist
10
11BESCHREIBUNG:
12 Es wird das Objekt bestimmt, in dem sich obj aufhaelt.
13 Wird obj nicht angegeben, so wird this_object() als Objekt angenommen.
14
15 Zerstoerte Objekte haben kein Environment.
16
17BEMERKUNGEN:
18 - Blueprints, wie zum Beispiel Raeume haben oft kein environment(). Man
19 sollte daher ueberpruefen, ob ein environment() existiert, wenn man
20 darin oder darauf eine Funktion aufrufen will.
21
22BEISPIELE:
23 // In der Variable "raum" steht der Raum, in dem sich der Spieler derzeit
24 // aufhaelt - das kann auch 0 sein!
25 raum = environment(this_player());
26
27 // Dieses Objekt hat noch kein environment, da es eben erst geclont
28 // wurde. Ergo steht in env eine 0.
29 obj = clone_object("/std/thing");
30 env = environment(obj);
31
32 // alle Methoden die auf Environment arbeiten, sollten das vorher
33 // pruefen - insbesondere tell_room()
34 if(this_player() && environment(this_player()) &&
35 objectp(o=present("schild",environment(this_player()))) {
36
37 write("Du klebst Deine Plakette auf "+o->name(WEN)+".\n");
38 tell_room(environment(this_player()), break_string(
39 this_player()->Name(WER)+" pappt einen Aufkleber auf "+
40 o->name(WEN)+".",78),
41 ({this_player()}));
42 }
43
44 // wenn Dinge sehr offensichtlich in Leuten kaputtgehen wird es
45 // komplexer (man kann das natuerlich noch weiter schachteln oder
46 // ueber all_environment() versuchen zu loesen
47 if(environment()) {
48 object ee;
49 ee=environment(environment());
50 if(living(environment())) {
51 tell_object(environment(),Name(WER)+" zerfaellt.\n");
52 if(ee)
53 tell_room(ee,
54 environment()->Name(WESSEN)+" "+name(RAW)+" zerfaellt.\n",
55 ({environment()}));
56 } else if(ee && living(ee))
57 if(environment()->QueryProp(P_TRANSPARENT))
58 tell_object(ee, Name(WER)+" zerfaellt in Deine"+
59 (environment()->QueryProp(P_PLURAL)?"n":
60 (environment()->QueryProp(P_GENDER)==FEMALE?"r":"m"))+
61 environment()->name(RAW)+".\n");
62 } else tell_room(environment(),Name(WER)+" zerfaellt.\n");
63 }
64
65SIEHE AUCH:
66 first_inventory(E), next_inventory(E), all_inventory(E)
67 all_environment(E)
68
6920. Sep. 2002 Gloinson@MG