blob: 5afd6d80a34f3c76accfa0e31c977dda22023a30 [file] [log] [blame]
Zesstra152dd7b2025-07-30 22:23:11 +02001ReceiveWave()
2=============
3
4FUNKTION
5--------
6
7 public int ReceiveDynWave(struct wave_s wave, string msg_action = comm_guess_action(), object origin = previous_object());
8
9DEFINIERT IN
10------------
11
12 /std/living/comm.c
13
14ARGUMENTE
15---------
16
17 struct wave_s* wave
18 Die auszugebende Nachrichten mit Zusatzinformationen. (s.u.)
19 string action
20 action wird als <action> an ReceiveMsg() weitergegeben
21 object origin
22 Absenderobjekt der Nachricht (Default: previous_object())
23
24BESCHREIBUNG
25------------
26
27 Sendet die in <wave> angegebene Nachricht an den Empfaenger.
28
29 Im Unterschied zu ReceiveWave() wird ein Variable namens cl in <wave> vorher ausgewertet und kann dynamisch eine neue/geaenderte <wave> liefern, welche dann ausgegeben wird.
30
31 Hierbei ist <wave> also eine von wave_s erbende struct, welche (mindestens) eine Variable <cl> vom Typ closure zusaetzlich besitzt.
32
33RUECKGABEWERT
34-------------
35
36 Der Rueckgabe ist der Rueckgabewert von ReceiveMsg().
37
38BEISPIEL
39--------
40
Zesstrabec19a92025-07-30 22:28:17 +020041.. code-block:: pike
Zesstra152dd7b2025-07-30 22:23:11 +020042
43 // von wave_s abgeleitete struct
44 struct dynwave_s (wave_s) {
45 closure cl;
46 }
47 struct dynwave_s wave = (<dynwave_s> msg: "Pass auf! Ein boeser, schwarzer Drache!",
48 type: MT_LISTEN, prefix: "Humni ruft: ");
49 wave.cl = function struct wave_s (struct wave_s wave)
50 { wave.prefix = ({"Humni","Jof","Zook"})[random(3)] + " ruft: ";
51 return wave;
52 };
53 ReceiveWave(wave, MA_LISTEN);
54
55
56SIEHE AUCH
57----------
58
59 :doc:`ReceiveMsg`, :doc:`ReceiveWave`
60
61Letzte Aenderung: 30.07.2025, Zesstra
62
63