EVENT-TYP
ET_GUILD_JOIN - Gilden-Eintritts-Event
BEDEUTUNG
Mit bzw. bei diesem Event tritt ein Spieler in eine Gilde ein.
DEFAULT HANDLER
Die jeweilige Gilde selbst.
EVENT DEFINES
/sys/events.h
/sys/guilds.h
EVENT DATEN
Das Event-Mapping enthaelt folgende Daten:
Key | Inhalt
---------------+----------------------------------------------------
Eintraege, die automatisch gesetzt werden (NICHT VERAENDERN!)
E_SENDER | (object) Event-Erzeuger. (Meist die Gilde selbst)
E_DESTINATIONS | (array) Objekte, an die der Event gesandt wird. (Im
| Normalfall nur die Gilde selbst
E_COMMAND | (string oder 0) Das eingegebene Kommando. (das Verb)
Eintraege, die der Sender gesetzt hat (setzen muss):
E_ACTOR | Das agierende Lebewesen. Also das Lebwesen, das in
| die Gilde eintreten will.
E_GUILD | Die Gilde (Name), in die eingetreten werden soll.
E_GUILD_COSTS | Ein Integerwert an Grundmuenzen, die dem Spieler
| beim Eintritt abgenommen werden sollen.
E_GUILD_FLAGS | Flags beim eintreten. Bislang nur eins:
| GUILDEVENT_SILENT - es werden keine Meldungen an
| den Actor ausgegeben
Nach oder waehrend der Abarbeitung EVENTUELL enthalten:
E_HANDLED | (int) Wenn gesetzt, wurde der Event verarbeitet
E_HANDLER | (object) Der ausfuehrende Handler.
E_CANCELLED | (mixed) Wenn gesetzt, wurde der Event abgebrochen.
| Der Inhalt kann beliebig sein.
E_CANCELLER | (object) Das abbrechende Object.
EVENT-LAUSCHER
Siehe allgemeine Syntaxen in event_listeners(WL).
EVENT-SENDER
Siehe allgemeine Syntaxen in event_senders(WL). Gesendet werden
muessen mindestens:
E_GUILD und E_ACTOR
Automatisch werden immer gesetzt:
E_SENDER, E_DESTINATION und E_COMMAND
Ziel des Events sollte immer der Gildenraum sein. Wohl meistens
this_object(). Die Gilde akzeptiert nur Events, die sie selbst
gesandt hat oder ein Objekt, was sich im inventory der Gilde
befindet und die gleiche euid hat. Zum Beispiel Gilden-NPCs etc.
BESCHREIBUNG
Der Event wird normalerweise in der Gilde erzeugt, wenn ein Spieler
'beitreten' eibgibt. Vorm eigentlichen Senden werden die Eintritts-
bedingungen geprueft und ob der Spieler nicht vielleicht schon Mit-
glied dieser oder noch Mitglied einer anderen Gilde ist.
Der Event geht mit Prioritaet EPRIO_DEF_HANDLE (0) an die Gilde als
Default-Handler. Diese macht dann das eigentliche Eintreten, indem
sie P_GUILD setzt, das Gildenlevel bei Bedarf korrigiert oder auf
1 setzt, wenn der Spieler noch keins hat. Dann wird der passende
Titel gesetzt.
Objekte die mit hoeherer Prioritaet lauschen (z.B.: EPRIO_MODIFY
(700) bzw. EPRIO_CANCEL (400)), koennen VOR dem Eintreten den Event
aendern oder ganz abbrechen.
Objekte die mit kleinerer Prioritaet (z.B.: EPRIO_REACT (-300))
lauschen, koennen NACH dem Eintreten dem Spieler zum Beispiel
Gildenausruestung oder aehnliches geben.
SIEHE AUCH
ET_GUILD_LEAVE, ET_GUILD_LEARN, ET_ADVANCE, events(WL),
event_types(WL), event_prioritaeten(WL), listen_event(S)
|