| |
| WieldFunc() |
| *********** |
| |
| |
| FUNKTION |
| ======== |
| |
| int WieldFunc(object weapon, int silent, object user); |
| |
| |
| DEFINIERT IN |
| ============ |
| |
| eigenen Objekten (fuer /std/weapon/combat) |
| |
| |
| ARGUMENTE |
| ========= |
| |
| weapon (object) |
| Die Waffe, die gezueckt werden soll. |
| silent (int) |
| Ob dabei eine Meldung ausgegeben werden soll. |
| user (object) |
| Das Lebewesen, welches die Waffe zuecken will. |
| |
| |
| BESCHREIBUNG |
| ============ |
| |
| In dieser Funktion kann man zusaetzliche Abfragen vornehmen, ob sich |
| die Waffe <weapon> von <user> zuecken laesst oder nicht. |
| |
| |
| RUeCKGABEWERT |
| ============= |
| |
| 0, wenn die Waffe nicht gezueckt werden kann, sonst ungleich 0. |
| |
| |
| BEMERKUNGEN |
| =========== |
| |
| Selbst wenn man einen Wert ungleich Null zurueckgibt, ist das noch |
| keine Garantie, dass sich die Waffe auch wirklich zuecken laesst! Der |
| Spieler koennte zum Beispiel noch eine Waffe gezueckt haben, die sich |
| nicht wegstecken laesst, etc. |
| Wenn ihr sicher sein wollt, dass der Spieler ein Objekt gezueckt hat, |
| benutzt bitte InformWield(). |
| Bitte nicht drauf verlassen, dass this_player() das Lebewesen ist, |
| welches die Waffe zuecke will. |
| Die Reihenfolge der Argumente ist etwas unschoen, aber leider wurde <user> |
| erheblich spaeter hinzugefuegt und es war unmoeglich, einige hundert |
| Objekte zu aendern. |
| |
| |
| BEISPIELE |
| ========= |
| |
| Eine Waffe, die sich nicht von Zwergen zuecken laesst: |
| |
| inherit "std/weapon"; |
| |
| #include <properties.h> |
| #include <combat.h> |
| |
| create() |
| { |
| ::create(); |
| |
| ... /* zig SetProp's, um die Waffe zu konfigurieren */ |
| |
| /* WieldFunc() ist in der Waffe selbst zu finden */ |
| SetProp(P_WIELD_FUNC, this_object()); |
| } |
| |
| int WieldFunc(object weapon, int silent, object user) |
| { |
| /* Nicht-Zwerge duerfen die Waffe zuecken */ |
| if (user->QueryProp(P_RACE) != "Zwerg") |
| return 1; |
| |
| /* Ansonsten sagen wir evtl., warum das Zuecken nicht klappt... */ |
| if (!silent) |
| write( "Deine kleinen Haendchen koennen den Griff nicht "+ |
| "umklammern.\n"); |
| |
| /* ...und brechen das Zuecken ab. */ |
| return 0; |
| } |
| |
| |
| SIEHE AUCH |
| ========== |
| |
| P_WIELD_MSG, P_UNWIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG |
| DoWield(), DoUnwield(), InformUnwield(), InformWield() |
| UnwieldFunc, WieldFunc |
| /std/weapon/combat.c |
| |
| 02.02.2009, Zesstra |