blob: d0ff99baa49afc3490339525fbc6f89dc1aecb69 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001P_COMMANDS
2NAME:
3 P_COMMANDS "commands"
4
5DEFINIERT IN:
6 <thing/commands.h>
7
8BESCHREIBUNG:
9 Diese Property enthaelt ein Mapping mit den Befehlen, die dem Objekt
10 zugeordnet sind.
11
12 Sie sollte nicht von Hand manipuliert werden, sondern nur ueber die
13 Funktionen AddCmd() und RemoveCmd().
14
15 Das Mapping hat folgenden Aufbau:
16
17 ([ befehl : ({funktion1,...});
18 ({flag1,...});
19 ({regel1,...});
20 ({id1, ...}),
Zesstra16698ff2016-12-13 22:19:16 +010021 ({closure auf fun1, ...}),
MG Mud User88f12472016-06-24 23:31:02 +020022 ... ])
23
24 Die Eintraege entsprechen den Parametern des AddCmd()-Aufrufs, sind
25 aber in anderer Form. Als Beispiel:
26
27 AddCmd(verb,fun1,1);
Zesstra16698ff2016-12-13 22:19:16 +010028 AddCmd(verb+syn1a|syn1b&syn2a|syn2b|syn2c, fun2,
29 error1_notify|error2_notify^error2_write);
MG Mud User88f12472016-06-24 23:31:02 +020030 -->
Zesstra16698ff2016-12-13 22:19:16 +010031 ([verb:
32 ({fun1,fun2}); // funs
33 ({1,({error1_notify, error2_write^error2_say, 1})}); // flags
34 ({0,({({syn1a,syn1b}),({syn2a,syn2b,syn2c})})}); // rules
35 0; // IDs
36 ({closure auf fun1, closure auf fun2}) ]) // Cache
MG Mud User88f12472016-06-24 23:31:02 +020037
Zesstra16698ff2016-12-13 22:19:16 +010038 Funs: ({<fun1> ,...
39 'fun' kann sein: Closure
40 String: Methodenname - wird etwas geprueft
41 Objekt: wenn keine Methode, this_object() fuer
42 intern, previous_object() fuer extern
43 0 (erloschenes externes Objekt)
MG Mud User88f12472016-06-24 23:31:02 +020044 Rules: ({<Regelsatz fuer fun1>, ({<1. Synonymgruppe>,
Zesstra16698ff2016-12-13 22:19:16 +010045 <2. Synonymgruppe, ...}), ...})
MG Mud User88f12472016-06-24 23:31:02 +020046 Flags: ({<Flag fuer fun1>, ({<Fehlermeldung 1. Synonymgruppe>, ... ,
Zesstra16698ff2016-12-13 22:19:16 +010047 [, Index fuer write anstatt notify_fail]}),
48 ... })
MG Mud User88f12472016-06-24 23:31:02 +020049 IDs: 0 oder ({<ID fuer fun1>}) oder ({0, <ID fuer fun2>}) ...
Zesstra16698ff2016-12-13 22:19:16 +010050 Cache: ({<closure fuer fun1>, ...
51
52BEMERKUNGEN:
53 Cache-Closures sind bei Export immer genullt
MG Mud User88f12472016-06-24 23:31:02 +020054
55SIEHE AUCH:
56 /std/thing/commands.c, AddCmd(), RemoveCmd()
57
Zesstra16698ff2016-12-13 22:19:16 +01005816. Dez 2016 Gloinson