blob: d32e5f9da29197a56cde10444f70a01ce4c88d8a [file] [log] [blame]
Dokumentation fuer das Std-Seil: /obj/seil.c
Abhaengigkeiten: /sys/thing/seil.h
Das Standard-Seil ermoeglichst das Festbinden und Loesen eines Seiles an
Objecten und Raeumen. Es kann im ganzen Morgengrauen verwendet werden.
in den Objecten, die festgebunden werden, wird die Propertie P_TIED gesetzt.
Sie enthaelt ein Mappng der Form:
([
objectid: ([ "player" : playerid, "time" : timestamp ])
])
Wenn ein Object festgebunden wird, so wird die Funktion tie() in dem Object
aufgerufen. Die Funktion muss in dem Object vorhanden sein. Liefert die
Funktion 1 zurueck, darf man ein Seil daran binden.
Aus der Funktion heraus kann im Seil in der Propertie P_TIE_USER ausgelesen
werden, welche User die Aktion ausgeloest hat.
(Diese Daten werden aus Kompatibilitaetsgruenden nicht an die Fkt. direkt
uebergeben.)
Wird ein Seil wieder losgebunden, so wird die Funktion
untie()
in dem Object aufgerufen.
Damit ein Seil in einem Raum festgebunden werden kann, muss der Raum eine
id() bekommen - wie ein normales Object.
In den Funktionen tie() und untie() kann jeweils ueberprueft werden, ob ein
Spieler ein Seil benutzen darf oder nicht. Liefern die Funktionen 0 zurueck,
so wird die Benutzung des Seiles verweigert.
Die Funktion seil->query_tied_to_ob() liefert das Object zurueck, an welches
ein Seil gebunden ist oder 0;
Bei der Benutzung eines Seiles im Raum wird zur Beschreibung die Funktion
name() aufgerufen. Es kann also P_NAME gesetzt werden oder direkt name() im
Raum ueberschrieben werden.
Seile koennen ueber NPC's/Raeume und Zauber gesteuert werden:
varargs int binde_seil(string ziel, string msg)
Ziel beschreibt das Object oder Raum, wo es festgebunden werden soll
msg ist die Ausgabe. Wird msg nicht gesetzt, so wird eine
Standard-Ausgabe ausgegeben.
varargs int loese_seil(string msg)
Das Seil wird geloest - es wird dabei die msg in den Raum
ausgegeben. Ist msg nicht definiert, wird eine Standardausgabe
erzeugt.
Beide Funktionen werden wir von enem Spieler behandelt - es werden tie() und
untie() in den festgebundenen Objecten ausgewertet.
Eine weitere Propertie ist P_TIE_AUTO.
Dieser Wert steht per Default auf 1 und erlaubt damit eine automatische
Benutzung des Seiles ueber die Funktionen binde_seil() und loese_seil().
Ist diese Propertie auf 0, so koennen nur Spieler das Seil benutzen.
Letzte Aenderung: 25.6. Gando