| |
| 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"); |
| } |