| WearFunc() |
| ********** |
| |
| |
| FUNKTION |
| ======== |
| |
| int WearFunc(object ruest, int silent, object user); |
| |
| |
| DEFINIERT IN |
| ============ |
| |
| eigenen Objekten (fuer /std/clothing/wear) |
| |
| |
| ARGUMENTE |
| ========= |
| |
| ruest (object) |
| Die Ruestung/Kleidung, die angezogen werden soll. |
| silent (int) |
| Ob dabei eine Meldung ausgegeben wird. |
| user (object) |
| Das Lebewesen, welches die Ruestung/Kleidung anziehen will. |
| |
| |
| BESCHREIBUNG |
| ============ |
| |
| Mit dieser Funktion kann man pruefen, ob sich das Kleidungsstueck bzw. |
| Ruestung <ruest> von this_player() anziehen laesst oder nicht. |
| Kann die Ruestung angezogen werden, so muss ein Wert ungleich 0 |
| zurueckgegeben werden. |
| |
| |
| RUeCKGABEWERT |
| ============= |
| |
| 0, wenn sich die Ruestung nicht anziehen laesst, ansonsten ungleich 0. |
| |
| |
| BEMERKUNGEN |
| =========== |
| |
| Bitte nicht darauf verlassen, dass der Spieler das Objekt auch wirklich |
| anzieht, wenn man hier 1 zurueckgibt. |
| Speziell bei Schilden kann das Anziehen trotz eines Rueckgabewertes |
| != 0 immer noch schief gehen, wenn der Spieler keine Hand mehr frei hat. |
| Wenn ihr sicher sein wollt, dass der Spieler ein Objekt angezogen hat, |
| benutzt bitte InformWear(). |
| Bitte nicht drauf verlassen, dass this_player() das ausziehende Lebewesen |
| ist. |
| Die Reihenfolge der Argumente ist etwas unschoen, aber leider wurde <user> |
| erheblich spaeter hinzugefuegt und es war unmoeglich, einige hundert |
| Objekte zu aendern. |
| |
| |
| BEISPIELE |
| ========= |
| |
| Ein Helm, der nur von Elfen getragen werden kann: |
| |
| inherit "std/armour.c"; |
| |
| #include <properties.h> |
| |
| create() |
| { |
| ::create(); |
| |
| SetProp(P_ARMOUR_TYPE, AT_HELMET); |
| /* zig weitere SetProp's, um den Helm zu konfigurieren */ |
| |
| /* WearFunc() ist im Helm selbst zu finden */ |
| SetProp(P_WEAR_FUNC, this_object()); |
| } |
| |
| int WearFunc(object me, int silent, object user) |
| { |
| if (user->QueryProp(P_RACE) == "Elf") |
| return 1; /* Elfen duerfen den Helm tragen */ |
| |
| /* Die anderen Rassen sollten zumindest erfahren koennen, wieso |
| sie den Helm nicht tragen koennen... */ |
| if (!silent) |
| write( "Der Helm rutscht Dir immer ueber Deine runden " |
| +"Ohren.\n" ); |
| return 0; |
| } |
| |
| Gibt jetzt ein Nicht-Elf "trage helm" ein, so bekommt er die Meldung |
| "Der Helm rutscht Dir immer ueber Deine runden Ohren.", Elfen dagegen |
| passt das Teil wie angegossen. |
| |
| |
| SIEHE AUCH |
| ========== |
| |
| P_WEAR_MSG, P_UNWEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG |
| DoWear(), DoUnwear(), InformUnwear(), InformWear() |
| /std/clothing/wear.c |
| |
| 02.02.2009, Zesstra |