MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | P_GIVE_MSG |
| 2 | NAME: |
| 3 | P_GIVE_MSG "give_message" |
| 4 | |
| 5 | DEFINIERT IN: |
| 6 | /sys/living/put_and_get.h |
| 7 | |
| 8 | BESCHREIBUNG: |
| 9 | Mit P_GIVE_MSG kann man die Meldung, die man beim Uebergeben eines |
| 10 | Objektes bekommt, modifizieren. |
| 11 | |
| 12 | Folgende Werte sind moeglich: |
| 13 | |
| 14 | o 0 |
| 15 | Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung. |
| 16 | |
| 17 | o NO_PNG_MSG == -1 |
| 18 | Es wird keinerlei Meldung ausgegeben |
| 19 | |
| 20 | o Ein Array aus Strings |
| 21 | Der erste String wird an den Spieler ausgegeben, der zweite |
| 22 | (optionale) an den Raum, der dritte (ebenfalls optionale) an den |
| 23 | Empfaenger. |
| 24 | |
| 25 | Die Strings werden durch die Funktion replace_personal() geparst. |
| 26 | Objekt1 - Spieler |
| 27 | Objekt2 - das Objekt, das uebergeben wird |
| 28 | Objekt3 - Empfaenger |
| 29 | |
| 30 | Wird der zweite String nicht angegeben, erfolgt keine Meldung an den |
| 31 | Raum. Beim Fehlen des dritten gibt es keine Meldung an den Empfaenger. |
| 32 | |
| 33 | BEISPIEL: |
| 34 | void create() { |
| 35 | ... |
| 36 | SetProp( P_SHORT, "Etwas Sand" ); |
| 37 | SetProp( P_LONG, break_string( |
| 38 | "Ein wenig magischer Sand. Sehr feinkruemelig.",78 )); |
| 39 | |
| 40 | SetProp( P_NAME, "Sand" ); |
| 41 | AddId( ({"sand"}) ); |
| 42 | SetProp( P_GENDER, MALE ); |
| 43 | |
| 44 | SetProp( P_GIVE_MSG, ({ |
| 45 | "Du laesst @WEN2 in @WESSEN3 Haende rieseln.", |
| 46 | "@WER1 laesst @WENU2 in @WESSEN3 Haende rieseln.", |
| 47 | "@WER1 laesst @WENU2 in deine Haende rieseln."})); |
| 48 | ... |
| 49 | } |
| 50 | |
| 51 | Das ganze fuehrt bei Ugars "gib sand an peter" zu folgenden |
| 52 | Meldungen: |
| 53 | |
| 54 | Ugar: "Du laesst den Sand in Peters Haende rieseln." |
| 55 | Raum: "Ugar laesst Sand in Peters Haende rieseln." |
| 56 | Peter: "Ugar laesst Sand in deine Haende rieseln." |
| 57 | |
| 58 | SIEHE AUCH: |
| 59 | Aehnliches: P_DROP_MSG, P_PUT_MSG, P_PICK_MSG, P_SHOW_MSG |
| 60 | Fehler: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG, |
| 61 | P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET |
| 62 | Sonstiges: replace_personal(E), give(L), give_objects(L), |
| 63 | give_notify(L), /std/living/put_and_get.c |
| 64 | |
| 65 | 14. Maerz 2004 Gloinson |