QueryAttribute()
****************


FUNKTION
========

   int QueryAttribute(string attr)


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

   /std/living/attributes.c


ARGUMENTE
=========

   attr       - interessierendes Gesamtattribut


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

   Das Attribut samt seiner Offsets (Modifier) wird zurueckgegeben.


RUeCKGABEWERT
=============

   Wert des Attributes, bei Spielern nicht groesser als 30.


BEISPIELE
=========

   if (this_player()->QueryAttribute(A_CON) > 20)
     write("Du schaffst es den Berg hoch. Aber nur muehsam.\n");


BENERKUNGEN
===========

   Wenn es um Attributabfragen geht, bitte diese Methode verwenden!


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

   QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
   SetAttribute(), SetRealAttribute(), UpdateAttributes(),
   SetTimedAttrModifier(), QueryTimedAttrModifier(),
   DeleteTimedAttrModifier(),
   P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_TIMED_ATTR_MOD,
   P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c

Last modified: Tue Jul 27 20:00:20 2004 by Muadib
