blob: e25e991185b67493f66acc28911df6eefb3a92c1 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002GetMatMembership()
Zesstra953f9972017-02-18 15:37:36 +01003******************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 string *GetMatMembership(string mat)
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /p/daemon/materialdb.c (MATERIALDB)
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017
18ARGUMENTE
19=========
20
21 string mat - ein Material
22
23
24BESCHREIBUNG
25============
26
27 Gibt alle Gruppen, denen das Material angehoert zurueck. Geeignet, um
28 die Eigenschaften eines Materials zu ueberpruefen.
29
30
31RUECKGABEWERT
32=============
33
34 Array von Strings mit Materialiengruppen oder ({})
35
36
37BEISPIELE
38=========
39
40 // ein weiser Schmied:
41 int i;
42 string *mat, mname, mgroup;
43 mat=m_indices(ob->QueryProp(P_MATERIAL));
44 i=sizeof(mat);
45
46 write("Der Schmied sagt: "+ob->Name(WER)+" besteht aus ...\n");
47 while(i--) {
48 // den Namen erkennen/aussprechen:
49 // Materialien werden allgemein etwas besser erkannt (zu 5%), aber
50 // alles aus Metall wird zu +100% besser erkannt ...
51 mname=MATERIALDB->MaterialName(mat[i], WER,
52 ({5, ([MATRGROUP_METAL, 100])}));
53
54 // und nur Metalle analysieren ...
55 if(MATERIALDB->MaterialGroup(([mat[i]:100]),MATGROUP_METAL)>=100) {
56 int j;
57 string *mgr;
58 mgr=MATERIALDB->GetMatMembership(mat[i]);
59 j=sizeof(mgr);
60 mgroup=" gehoert zu ";
61 while(j--) {
62 mgroup+=MATERIALDB->GroupName(mgr[j]);
63 if(j>0) mgroup+=", ";
MG Mud User88f12472016-06-24 23:31:02 +020064 }
Zesstra953f9972017-02-18 15:37:36 +010065 } else mgroup=" kenne ich nicht";
66 printf("%-12.12s: %s\n",mname, mgroup);
67 }
MG Mud User88f12472016-06-24 23:31:02 +020068
MG Mud User88f12472016-06-24 23:31:02 +020069
Zesstra953f9972017-02-18 15:37:36 +010070SIEHE AUCH
71==========
72
73 Konzepte: material, materialerkennung
74 Grundlegend: P_MATERIAL, /sys/thing/material.h
75 Master: AddMaterial(), ConvMaterialList(), MaterialGroup(),
76 GroupName(), MaterialName(),
77 GetGroupMembers()
78
797. Mai 2004 Gloinson