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