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