Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 1 | SYNOPSIS |
| 2 | void tell_room(string|object obj, string str) |
| 3 | void tell_room(string|object obj, string str, object *exclude) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
| 5 | void tell_room(string|object obj, mixed *|mapping|struct|object msg) |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 6 | void tell_room(string|object obj, mixed *|mapping|struct|object msg, |
| 7 | object *exclude) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 8 | |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 9 | BESCHREIBUNG |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 10 | Gibt einen Text <str> an den Raum <obj> aus. <obj> kann auch der |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 11 | Name des Raumes als String sein. Wenn das Objekt, das die Meldung |
| 12 | erhaelt, nicht ein interaktives Objekt (also kein User) ist, wird |
| 13 | im Empfaenger die Funktion catch_tell() mit dem Text als Argument |
| 14 | aufgerufen. Falls ein Lebewesen die Funktion catch_tell() definiert, |
| 15 | wird der Text hier ausgewertet und nicht an den User ausgegeben. |
| 16 | Wenn das Empfaengerobjekt mit seinem Namen angegeben ist, sucht der |
| 17 | Driver das Objekt unter diesem Namen und laedt es, falls notwendig. |
| 18 | Wenn das Array <*exclude> angegeben ist, wird der Text an die |
| 19 | Objekte in <*exclude> nicht ausgegeben. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 20 | |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 21 | Wenn das zweite Argument ein nicht-String ist, wird in allen |
| 22 | Lebewesen, die den Text erhalten, catch_msg() aufgerufen (statt |
| 23 | catch_tell()). |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 24 | |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 25 | BEISPIELE |
| 26 | An alle Lebewesen im Raum soll ein simples "Hi!" gesendet werden: |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 27 | |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 28 | tell_object(environment(this_player()), "Hi!\n"); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 29 | |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 30 | Folgendes Beispiel zeigt, wie tell_room() zusammen mit catch_tell() |
| 31 | funktioniert. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 32 | |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 33 | Objekt1 (ein Lebewesen): |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 34 | void catch_tell(string str) { |
| 35 | write("Empfangen: "+str+"\n"); |
| 36 | } |
| 37 | |
| 38 | Objekt2: |
| 39 | void fun() { |
| 40 | tell_room(environment(this_player()), "Hallo Welt!\n"); |
| 41 | } |
| 42 | |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 43 | GESCHICHTE |
| 44 | LDMud 3.3.686 erlaubt die Verwendung eines mapping/struct/object als |
| 45 | zweites Argument. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 46 | |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 47 | SIEHE AUCH |
| 48 | write(E), say(E), tell_object(E), catch_tell(A), catch_msg(A) |