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