Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 1 | show_notify() |
| 2 | ************* |
| 3 | |
Arathorn | ae6dbc9 | 2020-07-27 23:36:15 +0200 | [diff] [blame] | 4 | show_notify() |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 5 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 6 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 7 | FUNKTION |
| 8 | ======== |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 9 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 10 | void show_notify(object obj) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 11 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 12 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 13 | DEFINIERT IN |
| 14 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 15 | |
Arathorn | 4575fbe | 2021-02-28 14:44:30 +0100 | [diff] [blame] | 16 | beliebigen Objekten |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 17 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 18 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 19 | ARGUMENTE |
| 20 | ========= |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 21 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 22 | obj - dem Lebewesen gezeigtes Objekt |
| 23 | |
| 24 | |
| 25 | RUeCKGABEWERT |
| 26 | ============= |
| 27 | |
| 28 | keiner |
| 29 | |
| 30 | |
| 31 | BESCHREIBUNG |
| 32 | ============ |
| 33 | |
| 34 | Diese Funktion wird automatisch immer dann aufgerufen, wenn einem |
| 35 | Lebewesen (welches kein Spielercharakter ist) ein Objekt gezeigt wird. |
Arathorn | 4575fbe | 2021-02-28 14:44:30 +0100 | [diff] [blame] | 36 | Will das Lebewesen auf so etwas reagieren, ist das Implementieren dieser |
| 37 | Funktion der einfachste Weg. |
| 38 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 39 | Dies funktioniert nur dann, wenn der Standardbefehl der Spielershell |
| 40 | verwendet wird ("zeige <name> <gegenstand>"). Selbstgebautes "zeige" |
| 41 | funktioniert nicht. |
| 42 | |
| 43 | |
| 44 | BEISPIEL |
| 45 | ======== |
| 46 | |
| 47 | Oftmals will man in Quests erreichen, dass einem NPC ein bestimmtes |
| 48 | Item als Beweis der Erfuellung einer bestimmten Aufgabe vorgezeigt |
| 49 | wird. Folgendermassen kann dies realisiert werden: |
| 50 | |
| 51 | void quest_ok(object obj) { ... |
| 52 | // z.B. Vernichtung des Questobjektes und Questtexte |
| 53 | // Questbelohnung und Questanerkennung, etc. |
| 54 | } |
| 55 | |
| 56 | void show_notify(object obj) { |
| 57 | if(obj->id("\nquestitem")) // Ist das das geforderte Questobjekt? |
| 58 | quest_ok(obj); |
| 59 | } |
| 60 | |
| 61 | |
| 62 | BEMERKUNGEN |
| 63 | =========== |
| 64 | |
| 65 | Da es nur um das Vorzeigen von Gegenstaenden geht, die nicht den |
| 66 | Besitzer wechseln, sind Mechanismen wie P_REJECT in diesem Fall |
| 67 | nicht erforderlich. |
| 68 | |
| 69 | |
| 70 | SIEHE AUCH |
| 71 | ========== |
| 72 | |
| 73 | give_notify(), /std/npc/put_and_get.c, /std/living/put_and_get.c |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 74 | |
Arathorn | 4575fbe | 2021-02-28 14:44:30 +0100 | [diff] [blame] | 75 | 04.02.2020 Zesstra |