QueryArmourByType() =================== QyeryArmourByType() ------------------- :: FUNKTION -------- :: object|object*|mapping QueryArmourByType(string type) DEFINIERT IN ------------ :: /std/living/combat.c ARGUMENTE --------- :: string type Typ der Ruestung aus /sys/combat.h, auf die getestet werden soll. BESCHREIBUNG ------------ :: Abfrage, ob das Lebewesen eine Ruestung des angegebenen Typs traegt. RUECKGABEWERTE -------------- :: Zurueckgegeben wird abhaengig vom Argument folgendes: 1) Ist ein Typ, von dem man nur eine Ruestung tragen kann: * 0, falls das Lebewesen die gesuchte Ruestungsart nicht traegt, * ansonsten das Ruestungsobjekt 2) Ist AT_MISC: * ein Array mit allen AT_MISC-Ruestungen * ({}), wenn das Lebewesen keine AT_MISC-Ruestung traegt 3) Ist 0: * Ein Mapping mit den Ruestungstypen als Schluessel der folgenden Form: ([AT_MISC: ({object misc1, ... }), AT_CLOAK: object cloak, AT_...: object ..., ... ]) BEMERKUNG --------- :: Ist AT_MISC, so wird auf jeden Fall ein Array zurueckgegeben! BEISPIELE --------- :: Wir wollen wissen, ob this_player() Handschuhe traegt: if (objectp(this_player()->QueryArmourByType(AT_GLOVE))) ... Wir bauen einen Tuersteher, der auf AT_MISC-Kleidung achtet: if (sizeof(this_player()->QueryArmourByType(AT_MISC)) > 3) { if(this_player()->ReceiveMsg( "Du darfst nicht passieren, Du hast zuviele " "unpassende Dinge an!", MT_LISTEN|MSG_DONT_STORE, MA_TELL, "Der Waechter teilt Dir mit: ")ReceiveMsg( "Der Waechter haelt dich auf.", MT_LOOK)ReceiveMsg( "Jemand haelt dich auf.", MT_FEEL); // nu aber! // Aufhalten! } else this_player()->ReceiveMsg( "Du darfst passieren, viel Spass im Casino!", MT_LISTEN|MSG_DONT_STORE, MA_TELL, "Der Waechter teilt Dir mit: "); // im Erfolgsfall ist es uns egal, wenn es der Spieler nicht // liest: er wird dann eben "wortlos" durchgelassen SIEHE AUCH ---------- :: Wear(), WearArmour(), WearClothing(), Unwear(), UnwearArmour(), UnwearClothing(), FilterClothing(), P_ARMOUR_TYPE, P_CLOTHING, P_ARMOURS, /std/living/combat.c 02.02.2016, Gloinson