MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | SYNOPSIS |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 2 | void tell_object(object|string obj, string str) |
| 3 | void tell_object(object|string obj, mixed *|mapping|struct|object msg) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
| 5 | BESCHREIBUNG |
| 6 | Sendet einen Nachricht an das Objekt <obj> (das auch durch seinen |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 7 | Namen angegeben werden kann). |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 8 | |
| 9 | Ist die Nachricht ein String, wird der Text an interaktive Objekte |
| 10 | direkt ausgegeben, fuer andere Objekte wird die lfun catch_tell() |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 11 | aufgerufen. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 12 | |
| 13 | Ist die Nachricht ein anderer Typ, wird die lfun catch_msg() im |
| 14 | Empfaenger aufgerufen. |
| 15 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 16 | BEISPIELE |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 17 | Dies gibt ein einfaches "Hi!" an den Spieler Thomas aus: |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 18 | |
| 19 | object wer; |
| 20 | wer = find_player("thomas"); |
| 21 | tell_object(wer, "Hi!\n"); |
| 22 | |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 23 | Ein Beispiel mit zwei Objekten, das zeigt, wie das Zusammenspiel von |
| 24 | catch_tell() und tell_object() ablaueft. Objekt1 ist ein Lebewesen |
| 25 | mit Namen "Dummymonster", Objekt2 verteilt die Meldung: |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 26 | |
| 27 | Objekt1: |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 28 | void catch_tell(string str) |
| 29 | { |
| 30 | wirte("Erhaltener Text: "+str+"\n"); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 31 | } |
| 32 | |
| 33 | Objekt2: |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 34 | void fun() |
| 35 | { |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 36 | object wer; |
| 37 | wer = find_living("dummymonster"); |
| 38 | tell_object(wer, "Folge mir, Sterblicher!\n"); |
| 39 | ... |
| 40 | } |
| 41 | |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 42 | GESCHICHTE |
| 43 | LDMud 3.2.11 fuehrte die Arrayform aus Symmetriegruenden ein. |
| 44 | LDMud 3.3.686 erlaubt die Verwendung eines mapping/struct/object als |
| 45 | zweites Argument. |
| 46 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 47 | SIEHE AUCH |
Zesstra | b6ac9f6 | 2020-01-21 11:11:16 +0100 | [diff] [blame] | 48 | write(E), say(E), catch_tell(A), catch_msg(A) |