blob: 85bbf81cb518fb7d445c4978ad973cc6f0c6648f [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001P_MURDER_MSG
2
3NAME:
4 P_MURDER_MSG "murder_msg"
5
6DEFINIERT IN:
7 /sys/properties.h
8
9BESCHREIBUNG:
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
26BEISPIELE:
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
41BEMERKUNGEN:
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
56SIEHE 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
6330. Mai 2006, Gloinson