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