
GetValueO()
***********


FUNKTION
========

   varargs int GetValueO(string vname, mapping map, object pl)


ARGUMENTE
=========

   vname   : name des parameters aus dem spellmapping
   map     : spellmapping
   pl      : caster


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

   Berechnet den Wert und den Offset des Parameters in spellmapping.


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

   Berechneter Wert+Offset aus dem Spellmapping.


BEMERKUNGEN
===========

   Ruft GetValue(vname,map,pl)+GetOffset(vname,map,pl) auf.


BEISPIEL
========

   xxx=GetValueO(SI_SKILLDAMAGE,sinfo,caster);

Siehe auch:

   "GetValue", "GetFactor", "GetOffset", "GetFValue", "GetFValueO"

   Ausfuehrliches Beispiel siehe "GetFValueO".
