ReceiveWave()

FUNKTION

public int ReceiveDynWave(struct wave_s wave, string msg_action = comm_guess_action(), object origin = previous_object());

DEFINIERT IN

/std/living/comm.c

ARGUMENTE

struct wave_s* wave

Die auszugebende Nachrichten mit Zusatzinformationen. (s.u.)

string action

action wird als <action> an ReceiveMsg() weitergegeben

object origin

Absenderobjekt der Nachricht (Default: previous_object())

BESCHREIBUNG

Sendet die in <wave> angegebene Nachricht an den Empfaenger.

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.

Hierbei ist <wave> also eine von wave_s erbende struct, welche (mindestens) eine Variable <cl> vom Typ closure zusaetzlich besitzt.

RUECKGABEWERT

Der Rueckgabe ist der Rueckgabewert von ReceiveMsg().

BEISPIEL

// von wave_s abgeleitete struct
struct dynwave_s (wave_s) {
    closure cl;
}
struct dynwave_s wave = (<dynwave_s> msg: "Pass auf! Ein boeser, schwarzer Drache!",
                          type: MT_LISTEN, prefix: "Humni ruft: ");
wave.cl = function struct wave_s (struct wave_s wave)
  { wave.prefix = ({"Humni","Jof","Zook"})[random(3)] + " ruft: ";
    return wave;
  };
ReceiveWave(wave, MA_LISTEN);

SIEHE AUCH

Letzte Aenderung: 30.07.2025, Zesstra