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