Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc//lfun/FilterArmours

FilterArmours()
***************


FUNKTION
========

   public object *FilterArmours(closure filterfun, varargs mixed* extra)


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

   /std/living/clothing.c


ARGUMENTE
=========

   closure filterfun
     Die Closure, die entscheiden soll, ob eine Ruestung im Ergebnisarray
     enthalten sein soll.



   mixed extra
     Beliebig viele Extra-Argumente, die  uebergeben werden.


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

   Diese Funktion ruft  fuer jede getragene Ruestung des
   Lebewesen mit der jeweiligen Ruestung als Argument auf und liefert ein
   Array mit allen Ruestungen zurueck, fuer die  einen Wert != 0
   zurueckliefert.
   Die  Argumente werden als zusaetzliche Parameter an 
   uebergeben und duerfen keine Referenzen sein.



   Diese Variante ist zu bevorzugen, wenn man Ruestungen nach bestimmten
   Kriterien durchsuchen will und QueryArmourByType() nicht ausreichend sein
   sollte.


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

   Ein Array von Objekten mit allen passenden Ruestungen.


BEISPIELE
=========

   1) Ich moechte gerne alle Ruestungen haben, die beschaedigt sind:
   private int _is_damaged(object ruestung) {
       return ruestung->QueryProp(P_DAMAGE);
   }
   ...
   object *damaged_armours = PL->FilterArmours(#'_is_damaged);

   2) Ich moechte alle Ruestungen, die groesser als 50cm sind.
   private int _armour_is_bigger(object ruestung, int size) {
     return ruestung->QueryProp(P_SIZE) > size;
   }
   ...
   object *big_armours = PL->FilterArmours(#'_amour_is_bigger, 50);

   3) alle Ruestungen mit einer speziellen ID.
   private int _has_id(object ruestung, string idstr) {
     return ruestung->id(idstr);
   }
   object *has_id = PL->FilterArmours(#'_has_id, "\ntolleruestung");

   4) alle Ruestungen mit einer speziellen ID, die groesser als 50cm sind.
   private int _has_id(object ruestung, string idstr, int size) {
     return ruestung->id(idstr) && ruestung->QueryProp(P_SIZE) > size;
   }
   object *has_id = PL->FilterArmours(#'_has_id, "\ntolleruestung", 50);

   5) ueberhaupt alle getragene Ruestung
   object *rue = PL->FilterArmours(#'objectp)


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


Wear(), WearArmour(), WearClothing(), Unwear(), UnwearArmour(), UnwearClothing() P_CLOTHING, P_ARMOURS FilterClothing(), QueryArmourByType()



ZULETZT GEAeNDERT =================

14.03.2009, Zesstra


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.