MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | BecomesNetDead() |
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 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 5 | FUNKTION |
| 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 | void BecomesNetDead(object pl); |
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 | GERUFEN VON |
| 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 | /std/player/base.c |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 15 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 16 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 17 | ARGUMENTE |
| 18 | ========= |
| 19 | |
| 20 | object pl |
| 21 | Spieler, der Verbindung zum MUD verliert. |
| 22 | |
| 23 | |
| 24 | BESCHREIBUNG |
| 25 | ============ |
| 26 | |
| 27 | Spieler, welche die Verbindung zum MUD freiwillig |
| 28 | (z.B. per 'schlafe ein') oder unfreiwillig verlieren, gehen in den |
| 29 | Netztotenstatus ueber. Sie verbleiben noch eine definierte Zeit in |
| 30 | der zuletzt betretenen Umgebung und werden schliesslich automatisch |
| 31 | in den Netztotenraum ueberfuehrt. |
| 32 | Um nun einen Ueberblick darueber zu erhalten, wann ein Spieler die |
| 33 | Verbindung zum MUD verliert, gibt es die Funktion BecomesNetDead(). |
| 34 | Sie wird automatisch in der Umgebung des Spielers, in allen Objekten |
| 35 | in der Umgebung des Spielers (nicht rekursiv) und in allen Objekten |
| 36 | im Spieler (rekursiv) aufgerufen. Uebergeben wird hierbei das |
| 37 | Spielerobjekt. |
| 38 | |
| 39 | Es gibt auch noch die Funktion BecomesNetAlive(), mit der man |
| 40 | auf aehnliche Weise erwachende Spieler registrieren kann. |
| 41 | |
| 42 | |
| 43 | BEISPIELE |
| 44 | ========= |
| 45 | |
| 46 | Es gibt Gebiete, in denen netztote Spieler unerwuenscht sind. |
| 47 | Folgendermassen kann man sich ihrer wirkungsvoll entledigen: |
| 48 | |
| 49 | |
| 50 | |
| 51 | void BecomesNetDead(object pl) { |
| 52 | pl->move("eingangsraum zu gebiet", M_TPORT|M_NOCHECK); |
| 53 | } |
| 54 | Man schickt diese Spieler wieder zum Eingang des Gebietes. |
| 55 | Da der letzte Aufenthaltsort eines Spielers, der in den |
| 56 | Netztotenstatus uebergeht, erst nach Aufruf der Funktion |
| 57 | BecomesNetDead() abgespeichert wird, wacht der Spieler dann an dem |
| 58 | Ort auf, wo man Ihn innerhalb dieser Funktion hinteleportiert hat. |
| 59 | |
| 60 | |
| 61 | SIEHE AUCH |
| 62 | ========== |
| 63 | |
| 64 | BecomesNetAlive(), PlayerQuit(), /std/player/base.c, /room/netztot.c |
| 65 | |
| 66 | 24. Aug 2011, Gloinson |