blob: d5c4d5c13cab5071664eb4da6c81343824751a92 [file] [log] [blame]
Zesstra152dd7b2025-07-30 22:23:11 +02001ReceiveWave()
2=============
3
4FUNKTION
5--------
6
7 public int ReceiveWave(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 <wave> ist meist eine struct wave_s. Diese fasst msg, msg_type und prefix fuer ReceiveMsg in eine Datenstruktur zusammen. Sie ist in /secure/simul_efun/comm.c definiert (und steht allen Programmen automatisch zur Verfuegung). Sie hat die Eintraege string msg, int type, string prefix.
30
31 <wave> kann jedoch auch eine von wave_s erbende struct sein, welche zusaetzliche Eintraege besitzt (die hier nicht benutzt werden). Damit kann man die Meldung mit anderen dazu gehoerenden Daten zusammenfassen.
32
33
34RUECKGABEWERT
35-------------
36
37 Der Rueckgabe ist der Rueckgabewert von ReceiveMsg().
38
39BEISPIEL
40--------
41
Zesstrabec19a92025-07-30 22:28:17 +020042.. code-block:: pike
Zesstra152dd7b2025-07-30 22:23:11 +020043
44 // Einfache Nachricht
45 this_player().ReceiveWave((<wave_s> msg: "Pass auf! Ein boeser, schwarzer Drache!",
46 type: MT_LISTEN, prefix: "Humni ruft: ") );
47 // von wave_s abgeleitete struct, welche einen einfach Zauberspruch beschreibt
48 struct spell_s (wave_s) {
49 int dam;
50 string* dam_type;
51 mapping si_spell;
52 }
53 struct spell_s sp = (<spell_s> msg: "Der Zauberer schleudert Dir einen Blitz entgegen.",
54 type: MT_LOOK|MT_FEEL, dam: 42, dam_type: DT_LIGHTNING,
55 sinfo: ([...]));
56 en.ReceiveWave(sp, MA_COMBAT);
57 en.Defend(sp.dam, sp.dam_type, sp.si_spell);
58
59
60SIEHE AUCH
61----------
62
63 :doc:`ReceiveMsg`, :doc:`ReceiveDynWave`
64
65Letzte Aenderung: 30.07.2025, Zesstra
66