GetFValueO() ============ FUNKTION -------- :: varargs int GetFValueO(string vname, mapping map, object pl) ARGUMENTE --------- :: vname : name des parameters aus dem spellmapping map : spellmapping pl : caster BESCHREIBUNG ------------ :: 'Berechnet' den Wert, den Factor und den Offset des Parameters in spellmapping. RUECKGABEWERT ------------- :: Berechneter (Wert*Factor)/100+Offset aus dem Spellmapping. BEMERKUNGEN ----------- :: Ruft (GetValue(vname,map,pl)*GetFactor(vname,map,pl))/100+ GetOffset(vname,map,pl) auf. BEISPIEL -------- :: AddSpell("egal",10, ([ OFFSET(SI_COST):([SM_RACE:(["Zwerg":4]) ]), FACTOR(SI_COST):([SM_RACE:(["Mensch":90]) ]), SI_SKILLDAMAGE:100, OFFSET(SI_SKILLDAMAGE):25, SI_SKILLDAMAGE_TYPE:DT_EXAMPLE, FACTOR(SI_SKILLDAMAGE):([SM_RACE:(["Zwerg":80,"Elf":120]) ]) ])); So, was sollen uns diese Zeilen sagen? Es wird ein Spruch Names 'egal' ins Spellbook eingetragen. Er kostet regulaer 10 MP. Fuer Zwerge allerdings wird ein Offset von 4 MP aufgeschlagen. Ausserdem machen Zwerge nur 80% Schaden, Elfen hingegen 120%. Der Grundschaden betraegt 100 Schadenspunkte, der Offset des Schadens nochmal 25. Menschen bezahlen fuer diesen Spruch nur 90% der Kosten. Nun die Rechenbeispiele: Fuer die Kosten: Value ValueO FValue FValueO Mensch 10 10 9 9 Elf 10 10 10 10 Hobbit 10 10 10 10 Zwerg 10 14 10 14 Fuer den Schaden: Value ValueO FValue FValueO Mensch 100 125 100 125 Elf 100 125 120 150 Hobbit 100 125 100 125 Zwerg 100 125 80 100 An diesem Beispiel sieht man deutlich, wie man mit ein paar Offsets und Faktoren die Wirkung eines Spruches deutlich veraendern kann. Es sollte bei eigenen Berechnungen immer GetFValueO benutzt werden. Siehe auch: "GetValue", "GetFactor", "GetOffset", "GetFValue", "GetValueO"