| Dokumentation fuer das Std-Seil: /items/seil.c |
| |
| Abhaengigkeiten: /sys/thing/seil.h |
| |
| Das Standard-Seil ermoeglichst das Festbinden und Loesen eines Seiles an |
| Objekten und Raeumen. Es kann im ganzen Morgengrauen verwendet werden. |
| |
| In den Objekten, die festgebunden werden, wird die Property P_TIED gesetzt. |
| Sie enthaelt ein Mappng der Form: |
| |
| ([ |
| |
| objektid: ([ "player" : playerid, "time" : timestamp ]) |
| |
| ]) |
| |
| Wenn ein Objekt festgebunden wird, so wird die Funktion tie() in dem Objekt |
| aufgerufen. Die Funktion muss in dem Objekt vorhanden sein. Liefert die |
| Funktion 1 zurueck, darf man ein Seil daran binden. |
| |
| Aus der Funktion heraus kann im Seil in der Property P_TIE_USER ausgelesen |
| werden, welcher 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 Objekt aufgerufen. |
| |
| Damit ein Seil in einem Raum festgebunden werden kann, muss der Raum eine |
| id() bekommen - wie ein normales Objekt. |
| |
| 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 tie() muss string |
| oder int zurueckgeben. |
| |
| Die Funktion seil->query_tied_to_ob() liefert das Objekt 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 NPCs, Raeume und Zauber gesteuert werden: |
| |
| varargs int binde_seil(string ziel, string msg) |
| |
| Ziel beschreibt das Objekt 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 einem Spieler behandelt - es werden tie() und |
| untie() in den festgebundenen Objekten ausgewertet. |
| |
| Eine weitere Property 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 Property auf 0, so koennen nur Spieler das Seil benutzen. |
| |
| |
| Letzte Aenderung: 2019-12-26, Arathorn |