MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | P_MURDER_MSG |
| 2 | |
| 3 | NAME: |
| 4 | P_MURDER_MSG "murder_msg" |
| 5 | |
| 6 | DEFINIERT IN: |
| 7 | /sys/properties.h |
| 8 | |
| 9 | BESCHREIBUNG: |
| 10 | In dieser Property kann man einen String oder eine Closure ablegen |
| 11 | dessen Wert bzw. deren Resultat beim Tod des NPCs auf dem |
| 12 | Moerder-Kanal erscheint. |
| 13 | Normalerweise ist die Property nicht gesetzt, woraufhin zufaellig |
| 14 | eine Meldung generiert wird. |
| 15 | |
| 16 | Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon ab, |
| 17 | wie oft und welche Art von NPCs in der letzten Zeit getoetet wurden. Zum |
| 18 | Beispiel ist es eher selten, dass ein schwacher NPC auf dem Kanal |
| 19 | erscheint, wenn kuerzlich viele starke NPCs getoetet wurden. Allerdings |
| 20 | kann man auf diese Regelung mittels der Property P_FORCE_MURDER_MSG |
| 21 | Einfluss nehmen. |
| 22 | |
| 23 | Wird in einen String der Platzhalter %s eingefuegt, so erscheint an der |
| 24 | Stelle spaeter der Name des Moerders. |
| 25 | |
| 26 | BEISPIELE: |
| 27 | // Zum Beispiel koennte man ja bei einer Ratte, die getoetet wird, |
| 28 | // folgendes auf dem Moerder-Kanal ausgeben lassen: |
| 29 | SetProp(P_MURDER_MSG, |
| 30 | "Ratten aller MUDs, vereinigt euch gegen %s!"); |
| 31 | |
| 32 | |
| 33 | // Um auch mal eine Closure zu zeigen: die Ratte könnte auch ihre |
| 34 | // Meldung erst bei ihrem Tod erstellen lassen: |
| 35 | private string moerder_meldung() { |
| 36 | return ({"Achweh!", "Au!", "Weia!"})[random(3)]; |
| 37 | } |
| 38 | |
| 39 | SetProp(P_MURDER_MSG, #'moerder_meldung); |
| 40 | |
| 41 | BEMERKUNGEN: |
| 42 | - P_NOCORPSE: |
| 43 | Ist in dem Npc die Property P_NOCORPSE gesetzt, so wird die |
| 44 | Moerdermeldung nicht auf dem Kanal gesendet, da diese Ausgabe ueber |
| 45 | /std/corpse laeuft. |
| 46 | Will man dennoch eine Meldung, so sollte man /std/corpse im die() |
| 47 | selbst clonen, daran Identify(this_object()) rufen und das geclonte |
| 48 | Objekt wieder entsorgen. |
| 49 | |
| 50 | - Closures: |
| 51 | Closures bieten sich an, wenn ein zentrales Objekt für mehrere NPCs |
| 52 | bestimmte Moerdermeldungen generieren soll. Dann muss nur noch bei |
| 53 | den NPCs die Closure, die auf die erstellende Methode zeigt gesetzt |
| 54 | werden. |
| 55 | |
| 56 | SIEHE AUCH: |
| 57 | Tod: die(L) |
| 58 | Verwandt: P_FORCE_MURDER_MSG |
| 59 | Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG |
| 60 | P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE |
| 61 | Sonstiges: P_CORPSE, P_NOCORPSE, /std/corpse.c |
| 62 | |
| 63 | 30. Mai 2006, Gloinson |