tell_room

BEMERKUNGEN

Wird in einem catch_msg() der Wert von <msg> veraendert, erhalten alle nachfolgenden Objekte das veraenderte <msg> (Referenz!)

BEISPIELE

// Dies ist ein einfaches Beispiel fuer eine Meldung an alle An-
// wesenden im Raum.

tell_room(this_object(),"Ein leichter Wind kommt auf.\n");

// Diese Meldung wird im Raum /d/ebene/ark/raum.c ausgegeben, dieser
// Raum muss nicht derjenige sein, in dem das tell_room() ausgefuehrt
// wird.

tell_room("/d/ebene/ark/raum","Ein leichter Wind kommt auf.\n");


// Diese Meldung wird an alle Anwesenden im Raum AUSSER this_player()
// (der diese Meldung ausgeloest hat) ausgegeben. Der muss eine ge-
// sonderte Meldung ueber sein Stolpern per write() oder
// tell_object() bekommen.
tell_room(this_object(),
          break_string(this_player()->Name()+" stolpert.", 78),
          ({ this_player() }));
tell_object(this_player(), "Du stolperst.\n");

// Ein Beispiel mit zwei Objekten, das zeigt, wie das Zusammenspiel
// von catch_tell() und tell_room() ablaueft. Objekt1 ist ein
// Lebewesen mit Namen "Dummymonster", Objekt2 verteilt die Meldung:

Objekt1 (ein Lebewesen, steht im Env von this_player()):
    void catch_tell(string str) {
        write("Empfangen: "+str+"\n");
    }

Objekt2:
    void fun() {
        tell_room(environment(this_player()), "Hallo Welt!\n");
    }