Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 1 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 2 | WieldFunc() |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 3 | *********** |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 5 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 6 | FUNKTION |
| 7 | ======== |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 8 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 9 | int WieldFunc(object weapon, int silent, object user); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 10 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 11 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 12 | DEFINIERT IN |
| 13 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 14 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 15 | eigenen Objekten (fuer /std/weapon/combat) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 16 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 17 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 18 | ARGUMENTE |
| 19 | ========= |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 20 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 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. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 27 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 28 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 29 | BESCHREIBUNG |
| 30 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 31 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 32 | In dieser Funktion kann man zusaetzliche Abfragen vornehmen, ob sich |
| 33 | die Waffe <weapon> von <user> zuecken laesst oder nicht. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 34 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 35 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 36 | RUeCKGABEWERT |
| 37 | ============= |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 38 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 39 | 0, wenn die Waffe nicht gezueckt werden kann, sonst ungleich 0. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 40 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 41 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 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 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 102 | 02.02.2009, Zesstra |