QueryAttributeOffset()
======================

FUNKTION
--------
::

     int QueryAttributeOffset(string attr)

DEFINIERT IN
------------
::

     /std/living/attributes.c

ARGUMENTE
---------
::

     attr	-	gesuchter AttributOffset

BESCHREIBUNG
------------
::

     Die Offsets des Attributs (inklusive Modifier) werden zurueckgegeben.

BEISPIELE
---------
::

     if(this_player()->QueryAttributeOffset(A_STR)<0)
      write("Du bist geschwaecht.\n");

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

