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