blob: 83d063ccc6e37d454dc40fac3163b50b65153178 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001GroupName()
Zesstra953f9972017-02-18 15:37:36 +01002***********
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 string GroupName(string grp)
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /p/daemon/materialdb.c (MATERIALDB)
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017ARGUMENTE
18=========
19
20 string grp - ein Gruppenname
21
22
23BESCHREIBUNG
24============
25
26 Gibt die Langbeschreibung des Gruppennamens zurueck.
27
28
29RUECKGABEWERT
30=============
31
32 Die Gruppenbeschreibung oder "Unbekanntes"
33
34
35BEISPIELE
36=========
37
38 // simpel
39 tmp=m_indices(ob->QueryProp(P_MATERIAL));
40 write("Dieses Objekt gehoert u.a. zur Gruppe "+
41 MATERIALDB->GroupName(MATERIALDB->GetMatMembership(tmp[0])[0])+
42 ".\n");
43 // gibt die erste Gruppenzugehoerigkeit des erste Materials in
44 // P_MATERIAL zurueck (bei MATGROUP_METAL z.B. "... zur Gruppe Metalle.")
45
46 // ein weiser Schmied:
47 int i;
48 string *mat, mname, mgroup;
49 mat=m_indices(ob->QueryProp(P_MATERIAL));
50 i=sizeof(mat);
51
52 write("Der Schmied sagt: "+ob->Name(WER)+" besteht aus ...\n");
53 while(i--) {
54 // den Namen erkennen/aussprechen:
55 // Materialien werden allgemein ganz schlecht erkannt (zu 5%), aber
56 // alles aus Metall wird zu +100% gut erkannt ...
57 mname=MATERIALDB->MaterialName(mat[i], WER,
58 ({5, ([MATERIAL_SYMMETRIC_RECOGNIZABILITY:
59 ({MATGROUP_METAL, 100})])}));
60
61 // und nur Metalle analysieren ...
62 if(MATERIALDB->MaterialGroup(([mat[i]:100]),MATGROUP_METAL)>=100) {
63 int j;
64 string *mgr;
65 mgr=MATERIALDB->GetMatMembership(mat[i]);
66 j=sizeof(mgr);
67 mgroup=" gehoert zu ";
68 while(j--) {
69 mgroup+=MATERIALDB->GroupName(mgr[j]);
70 if(j>0) mgroup+=", ";
MG Mud User88f12472016-06-24 23:31:02 +020071 }
Zesstra953f9972017-02-18 15:37:36 +010072 } else mgroup=" kenne ich nicht";
73 printf("%-12.12s: %s\n",mname, mgroup);
74 }
MG Mud User88f12472016-06-24 23:31:02 +020075
MG Mud User88f12472016-06-24 23:31:02 +020076
Zesstra953f9972017-02-18 15:37:36 +010077SIEHE AUCH
78==========
79
80 Konzepte: material, materialerkennung
81 Grundlegend: P_MATERIAL, /sys/thing/material.h
82 Master: AddMaterial(), ConvMaterialList(), MaterialGroup(),
83 MaterialName(),
84 GetGroupMembers(), GetMatMembership()
85
867. Mai 2004 Gloinson