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