blob: 527d1a1caefbf679ee81979d994e6e1e622ddaf3 [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, ...}),
21 ... ])
22
23 Die Eintraege entsprechen den Parametern des AddCmd()-Aufrufs, sind
24 aber in anderer Form. Als Beispiel:
25
26 AddCmd(verb,fun1,1);
27 AddCmd(verb+syn1a|syn1b&syn2a|syn2b|syn2c,fun2,
28 error1_notify|error2_notify^error2_write);
29 -->
30 ([verb:({fun1,fun2}); // funs
31 ({1,({error1_notify, error2_write^error2_say, 1})}); // flags
32 ({0,({({syn1a,syn1b}),({syn2a,syn2b,syn2c})})}); // rules
33 0]) // IDs
34
35 Aufgeschluesselt sehen die einzelnen Arrays folgendermassen aus:
36
37 Rules: ({<Regelsatz fuer fun1>, ({<1. Synonymgruppe>,
38 <2. Synonymgruppe, ...}), ...})
39 Flags: ({<Flag fuer fun1>, ({<Fehlermeldung 1. Synonymgruppe>, ... ,
40 [, Index fuer write anstatt notify_fail]}),
41 ... })
42 IDs: 0 oder ({<ID fuer fun1>}) oder ({0, <ID fuer fun2>}) ...
43
44SIEHE AUCH:
45 /std/thing/commands.c, AddCmd(), RemoveCmd()
46
4708.Dez.2003 Gloinson