blob: 63d594c8a6dfd7a971b58f46ae343f901f34f8dc [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
Zesstra867ea3f2017-01-31 10:45:41 +010033 // Um auch mal eine Closure zu zeigen: die Ratte koennte auch ihre
MG Mud User88f12472016-06-24 23:31:02 +020034 // 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:
Zesstra867ea3f2017-01-31 10:45:41 +010043 Ist in dem NPC die Property P_NOCORPSE gesetzt, so wird die
MG Mud User88f12472016-06-24 23:31:02 +020044 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:
Zesstra867ea3f2017-01-31 10:45:41 +010051 Closures bieten sich an, wenn ein zentrales Objekt fuer mehrere NPCs
MG Mud User88f12472016-06-24 23:31:02 +020052 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
Zesstra867ea3f2017-01-31 10:45:41 +01006330. Mai 2006, Gloinson