MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | WieldFunc() |
| 2 | |
| 3 | FUNKTION: |
| 4 | int WieldFunc(object weapon, int silent, object user); |
| 5 | |
| 6 | DEFINIERT IN: |
| 7 | eigenen Objekten (fuer /std/weapon/combat) |
| 8 | |
| 9 | ARGUMENTE: |
| 10 | weapon (object) |
| 11 | Die Waffe, die gezueckt werden soll. |
| 12 | silent (int) |
| 13 | Ob dabei eine Meldung ausgegeben werden soll. |
| 14 | user (object) |
| 15 | Das Lebewesen, welches die Waffe zuecken will. |
| 16 | |
| 17 | BESCHREIBUNG: |
| 18 | In dieser Funktion kann man zusaetzliche Abfragen vornehmen, ob sich |
| 19 | die Waffe <weapon> von <user> zuecken laesst oder nicht. |
| 20 | |
| 21 | RUeCKGABEWERT: |
| 22 | 0, wenn die Waffe nicht gezueckt werden kann, sonst ungleich 0. |
| 23 | |
| 24 | BEMERKUNGEN: |
| 25 | Selbst wenn man einen Wert ungleich Null zurueckgibt, ist das noch |
| 26 | keine Garantie, dass sich die Waffe auch wirklich zuecken laesst! Der |
| 27 | Spieler koennte zum Beispiel noch eine Waffe gezueckt haben, die sich |
| 28 | nicht wegstecken laesst, etc. |
| 29 | Wenn ihr sicher sein wollt, dass der Spieler ein Objekt gezueckt hat, |
| 30 | benutzt bitte InformWield(). |
| 31 | Bitte nicht drauf verlassen, dass this_player() das Lebewesen ist, |
| 32 | welches die Waffe zuecke will. |
| 33 | Die Reihenfolge der Argumente ist etwas unschoen, aber leider wurde <user> |
| 34 | erheblich spaeter hinzugefuegt und es war unmoeglich, einige hundert |
| 35 | Objekte zu aendern. |
| 36 | |
| 37 | BEISPIELE: |
| 38 | Eine Waffe, die sich nicht von Zwergen zuecken laesst: |
| 39 | |
| 40 | inherit "std/weapon"; |
| 41 | |
| 42 | #include <properties.h> |
| 43 | #include <combat.h> |
| 44 | |
| 45 | create() |
| 46 | { |
| 47 | ::create(); |
| 48 | |
| 49 | ... /* zig SetProp's, um die Waffe zu konfigurieren */ |
| 50 | |
| 51 | /* WieldFunc() ist in der Waffe selbst zu finden */ |
| 52 | SetProp(P_WIELD_FUNC, this_object()); |
| 53 | } |
| 54 | |
| 55 | int WieldFunc(object weapon, int silent, object user) |
| 56 | { |
| 57 | /* Nicht-Zwerge duerfen die Waffe zuecken */ |
| 58 | if (user->QueryProp(P_RACE) != "Zwerg") |
| 59 | return 1; |
| 60 | |
| 61 | /* Ansonsten sagen wir evtl., warum das Zuecken nicht klappt... */ |
| 62 | if (!silent) |
| 63 | write( "Deine kleinen Haendchen koennen den Griff nicht "+ |
| 64 | "umklammern.\n"); |
| 65 | |
| 66 | /* ...und brechen das Zuecken ab. */ |
| 67 | return 0; |
| 68 | } |
| 69 | |
| 70 | SIEHE AUCH: |
| 71 | P_WIELD_MSG, P_UNWIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG |
| 72 | DoWield(), DoUnwield(), InformUnwield(), InformWield() |
| 73 | UnwieldFunc, WieldFunc |
| 74 | /std/weapon/combat.c |
| 75 | |
| 76 | --------------------------------------------------------------------------- |
| 77 | 02.02.2009, Zesstra |