blob: d32e5f9da29197a56cde10444f70a01ce4c88d8a [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001Dokumentation fuer das Std-Seil: /obj/seil.c
2
3Abhaengigkeiten: /sys/thing/seil.h
4
5Das Standard-Seil ermoeglichst das Festbinden und Loesen eines Seiles an
6Objecten und Raeumen. Es kann im ganzen Morgengrauen verwendet werden.
7
8in den Objecten, die festgebunden werden, wird die Propertie P_TIED gesetzt.
9Sie enthaelt ein Mappng der Form:
10
11([
12
13 objectid: ([ "player" : playerid, "time" : timestamp ])
14
15])
16
17Wenn ein Object festgebunden wird, so wird die Funktion tie() in dem Object
18aufgerufen. Die Funktion muss in dem Object vorhanden sein. Liefert die
19Funktion 1 zurueck, darf man ein Seil daran binden.
20
21Aus der Funktion heraus kann im Seil in der Propertie P_TIE_USER ausgelesen
22werden, welche User die Aktion ausgeloest hat.
23(Diese Daten werden aus Kompatibilitaetsgruenden nicht an die Fkt. direkt
24uebergeben.)
25
26Wird ein Seil wieder losgebunden, so wird die Funktion
27untie()
28in dem Object aufgerufen.
29
30Damit ein Seil in einem Raum festgebunden werden kann, muss der Raum eine
31id() bekommen - wie ein normales Object.
32
33In den Funktionen tie() und untie() kann jeweils ueberprueft werden, ob ein
34Spieler ein Seil benutzen darf oder nicht. Liefern die Funktionen 0 zurueck,
35so wird die Benutzung des Seiles verweigert.
36
37Die Funktion seil->query_tied_to_ob() liefert das Object zurueck, an welches
38ein Seil gebunden ist oder 0;
39
40Bei der Benutzung eines Seiles im Raum wird zur Beschreibung die Funktion
41name() aufgerufen. Es kann also P_NAME gesetzt werden oder direkt name() im
42Raum ueberschrieben werden.
43
44Seile koennen ueber NPC's/Raeume und Zauber gesteuert werden:
45
46varargs int binde_seil(string ziel, string msg)
47
Arathorn2e97b6a2019-12-03 00:37:34 +010048 Ziel beschreibt das Object oder Raum, wo es festgebunden werden soll
49 msg ist die Ausgabe. Wird msg nicht gesetzt, so wird eine
50 Standard-Ausgabe ausgegeben.
MG Mud User88f12472016-06-24 23:31:02 +020051
52varargs int loese_seil(string msg)
Arathorn2e97b6a2019-12-03 00:37:34 +010053 Das Seil wird geloest - es wird dabei die msg in den Raum
MG Mud User88f12472016-06-24 23:31:02 +020054 ausgegeben. Ist msg nicht definiert, wird eine Standardausgabe
Arathorn2e97b6a2019-12-03 00:37:34 +010055 erzeugt.
MG Mud User88f12472016-06-24 23:31:02 +020056
57
58Beide Funktionen werden wir von enem Spieler behandelt - es werden tie() und
59untie() in den festgebundenen Objecten ausgewertet.
60
61Eine weitere Propertie ist P_TIE_AUTO.
62Dieser Wert steht per Default auf 1 und erlaubt damit eine automatische
63Benutzung des Seiles ueber die Funktionen binde_seil() und loese_seil().
64Ist diese Propertie auf 0, so koennen nur Spieler das Seil benutzen.
65
66
Arathorn2e97b6a2019-12-03 00:37:34 +010067Letzte Aenderung: 25.6. Gando
68