MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | pick() |
| 2 | |
| 3 | FUNKTION: |
| 4 | public varargs int pick(object o, mixed msg); |
| 5 | |
| 6 | DEFINIERT IN: |
| 7 | /std/living/put_and_get.c |
| 8 | |
| 9 | ARGUMENTE: |
| 10 | object o |
| 11 | Das Objekt, das aufgehoben werden soll. |
| 12 | mixed msg |
| 13 | Eine optionale Meldung, die anstelle von P_PICK_MSG oder der |
| 14 | Standardmeldung verwendet wird, oder -1, um die Meldung zu |
| 15 | unterdruecken. |
| 16 | |
| 17 | BESCHREIBUNG: |
| 18 | Der Spieler oder NPC nimmt das Objekt auf. Gibt o->move() keinen positiven |
| 19 | Wert zurueck, beispielsweise weil das Objekt zu schwer ist oder nicht |
| 20 | genommen werden darf, bekommt er eine entsprechende Fehlermeldung. |
| 21 | |
| 22 | RUECKGABEWERT: |
| 23 | Wenn das Aufnehmen geklappt hat, 1, ansonsten 0. |
| 24 | |
| 25 | BEMERKUNG: |
| 26 | Diese Funktion ist dann sinnvoll, wenn man den Spieler ein Objekt |
| 27 | aufnehmen lassen und sich nicht selbst um die Fehlerbehandlung kuemmern |
| 28 | moechte - und da unzaehlige verschiedene Dinge schiefgehen koennen und |
| 29 | manche Objekte eigene Fehlermeldungen definieren, eigentlich immer. |
| 30 | |
| 31 | Die Funktion prueft nicht, ob sich das Objekt ueberhaupt in der Reichweite |
| 32 | des Spielers/NPC befindet, das muss man ggf. selbst ermitteln. |
| 33 | |
| 34 | BEISPIEL: |
| 35 | ob = clone_object(WEINGUMMI); |
| 36 | |
| 37 | if (this_player()->pick(ob, ({ "Du nimmst @WENU2 aus dem Regal.", |
| 38 | "@WER1 nimmt @WENU2 aus dem Regal." }))) |
| 39 | weingummi--; |
| 40 | else |
| 41 | ob->remove(); |
| 42 | |
| 43 | SIEHE AUCH: |
| 44 | move(L), P_PICK_MSG, pick_objects(L), P_NOINSERT_MSG, P_NOLEAVE_MSG, |
| 45 | P_TOO_MANY_MSG, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_NOGET |
| 46 | |
| 47 | ---------------------------------------------------------------------------- |
| 48 | Last modified: Thu Aug 28 22:21:41 2008 by Amynthor |