Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc//lfun/MaterialName

MaterialName()
**************


FUNKTION
========

   varargs string MaterialName(string mat, int casus, mixed idinf)


DEFINIERT IN
============

   /p/daemon/materialdb.c (MATERIALDB)


ARGUMENTE
=========

   string mat  - das zu erkennende Material
   int casus   - der Fall
   mixed idinf - Dinge, welche die Faehigkeiten des Erkennens beeinflussen
                 (siehe "man MaterialList")


BESCHREIBUNG
============

   Diese Funktion sucht unter Beruecksichtigung der Erkennungsbe-
   schraenkungen des Materials und Faehigkeiten des Spielers den
   Klarnamen des Materials heraus und gibt den zurueck.


RUECKGABEWERT
=============

   string: Materialname oder genereller Name.


BEISPIELE
=========

   // der hier mag alle existierenden Juwelen, auch wenn welche ergaenzt
   // werden sollten
   // Parameter: 1. ein Juwel, 2. Casus, 3. 100% Erkennung - ob er sie
   // beim Empfang dann auch zu 100% erkennt, steht hier nicht!
   string* likeit;
   likeit=MATERIALDB->GetGroupMembers(MATGROUP_JEWEL);
   ...
   write("Der Alte sagt: Ich mag "+
         MATERIALDB->MaterialName(likeit[random(sizeof(likeit))], WEN, 100)+
         ".\n");
   ...

   // ein weiser schmied:
   int i;
   string *mat, mname, mgroup;
   mat=m_indices(ob->queryprop(p_material));
   i=sizeof(mat);

   write("der schmied sagt: "+ob->name(wer)+" besteht aus ...\n");
   while(i--) {
    // den namen erkennen/aussprechen:
    // materialien werden allgemein ganz schlecht erkannt (zu 5%), aber
    // alles aus metall wird zu +100% gut erkannt ...
    mname=materialdb->materialname(mat[i], wer,
           ({5, ([material_symmetric_recognizability:
                      ({matgroup_metal, 100})])}));

    // und nur metalle analysieren ...
    if(materialdb->materialgroup(([mat[i]:100]),matgroup_metal)>=100) {
     int j;
     string *mgr;
     mgr=materialdb->getmatmembership(mat[i]);
     j=sizeof(mgr);
     mgroup=" gehoert zu ";
     while(j--) {
      mgroup+=materialdb->groupname(mgr[j]);
      if(j>0) mgroup+=", ";
     }
    } else mgroup=" kenne ich nicht";
    printf("%-12.12s: %s\n",mname, mgroup);
   }


SIEHE AUCH
==========


Konzepte: material, materialerkennung Grundlegend: P_MATERIAL, /sys/thing/material.h Master: AddMaterial(), ConvMaterialList(), MaterialGroup(), GroupName() GetGroupMembers(), GetMatMembership()

7. Mai 2004 Gloinson


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.