RemoveSkillAttributeModifier() ============================== FUNKTION -------- :: public int RemoveSkillAttributeModifier(object caster, string atrname) DEFINIERT IN ------------ :: /std/living/skill_attributes.c ARGUMENTE --------- :: string Name des Skill-Attributes, von dem der Modifikator geloescht werden soll. (Definiert in /sys/living/skill_attributes.h) object Objekt, dessen Modifikator wieder entfernt werden soll. BESCHREIBUNG ------------ :: Entfernt den Modifikator, den Object gesetzt hat, wieder. Dies ist nur notwendig, wenn der Effekt vor Ablauf der Gueltigkeit des Modifikators aufgehoben werden soll. RUECKGABEWERT ------------- :: SA_MOD_REMOVED wenn der Modifikator geloescht wurde SA_MOD_NOT_FOUND wenn der Modifikator nicht gefunden wurde Wenn man nur wissen will, ob die Operation erfolgreich war, empfiehlt es sich, auf == SA_MOD_REMOVED zu pruefen. BEISPIELE --------- :: // eine Waffe setzt im InformWield() einen Bonus auf SA_DAMAGE fuer 10min protected void InformWield(object pl, int silent) { if (objectp(pl)) { if (pl->ModifySkillAttribute(SA_DAMAGE, 20, 600) == SA_MOD_OK) // Erfolgsmeldung an Spieler else // Misserfolgsmeldung an Spieler. } } // wenn der Spieler die Waffe vor Ablauf der 600s wegstecken will, muss // der Bonus natuerlich auch wieder raus protected void InformUnwield(object pl, int silent) { if (objectp(pl)) pl->RemoveSkillAttributeModifier(this_object(), SA_DAMAGE); // falls kein solcher Mod mehr gesetzt war, liefert RSAM() // SA_MOD_NOT_FOUND zurueck. Auswertung des Rueckgabewertes ist // vernachlaessigt. } SIEHE AUCH ---------- :: Skills Lernen: LearnSkill, ModifySkill, LimitAbility * Nutzung: UseSpell, UseSkill * Abfragen: QuerySkill, QuerySkillAbility * Modifikation: ModifySkillAttribute, QuerySkillAttribute, QuerySkillAttributeModifier * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS * sonstig: spruchermuedung, skill_info_liste * Properties: P_NEWSKILLS 13.08.2008, Zesstra