blob: ee0aed26f0552227a9f4d2d7049f5e99a3a27510 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001QueryValidObject()
Zesstra953f9972017-02-18 15:37:36 +01002******************
MG Mud User88f12472016-06-24 23:31:02 +02003
4
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
7
8 public int QueryValidObject(string oname);
9
10
11DEFINIERT IN
12============
13
14 /std/virtual/v_compiler.c
15
16
17ARGUMENTE
18=========
19
20 oname
21 Objektname, der geprueft werden soll (kompletter Pfad mit / am Anfang)
22
23
24RUeCKGABEWERT
25=============
26
27 <=0 - falls VC nicht zustaendig ist.
28 >0 - falls der VC sich fuer das Objekt zustaendig erklaert.
29
30
31BESCHREIBUNG
32============
33
34 Ueber die Funktion laesst sich herausfinden, ob ein VC sich fuer das
35 gewuenschte Objekt zustaendig fuehlt. Dabei wird Validate(),
36 P_COMPILER_PATH, NoParaObjects() und P_PARA im VC ausgewertet:
37 1. Zuerst wird mit Validate() geprueft, ob der Filename (ohne Pfad) ok ist.
38 2. wird geguckt, ob das angefragte Objekt im richtigen Pfad liegt
39 (P_COMPILER_PATH).
40 3. wenn das angefragte Objekt ein Para-Objekt ist:
41 a) wird NoParaObjects() geprueft, wenn das !=0 ist, sind gar keine Para-
42 Objekte erlaubt.
43 b) wird P_PARA _im VC_ abgefragt, dort kann man ein Array aller
44 erlaubten Para-Dimensionen reinschreiben. Fuer alle anderen erklaert
45 sich der VC fuer nicht zustaendig. Wenn P_PARA nicht gesetzt ist,
46 sind alle erlaubt. Ein leeres Array ({}) wuerde einem
47 NoParaObjects() {return 1;} entsprechen.
48
49
50BEMERKUNGEN
51===========
52
53 Diese Funktion wird vom move abgefragt. Bitte auf jeden Fall P_PARA oder
54 NoParaObjects() passend definieren, sonst buggts.
55
56 Wenn jemand mit dem oben beschrieben Standardverhalten nicht gluecklich
57 ist, kann man die Funktion passend ueberschreiben.
58
59
60SIEHE AUCH
61==========
62
63 virtual_compiler
64 CustomizeObject(), Validate(), NoParaObjects(),
65 P_COMPILER_PATH, P_PARA
66 /std/virtual/v_compiler.c
67
MG Mud User88f12472016-06-24 23:31:02 +02006821.10.2007, Zesstra