Cob-Tutorials

Entfernskripts

Wer Cobs schreibt, der sollte dem Benutzer immer die Möglichkeit geben, diese wieder aus seiner Welt zu entfernen, falls sie ihm aus dem einen oder anderen Grund nicht gefallen. Nichts ist ärgerlicher als ein Objekt, das man nicht mehr los wird, weil es entweder nicht den Erwartungen entspricht oder gar Skriptfehler verursacht. Man hat zwar die Möglichkeit, es über eine Kommandozeile oder im Cheat-Modus zu löschen, aber nicht jeder weiß wie das geht.

Die oberste Regel bei Entfernskripts heißt: Niemals nur das physische Objekt löschen, sondern immer auch die dazugehörigen Skripts. Klingt logisch? Leider gibt es zu viele Cobautoren, die sich nicht die Mühe machen, im Skriptorium aufzuräumen und immer nur die Objekte selbst löschen. Man bedenke dabei, dass die Größe des Skriptoriums endlich ist, und wer noch nie die Meldung bekommen hat, dass keine neuen Objekte mehr hinzugefügt werden können, weil das Skriptorium voll ist, der soll sich eben glücklich schätzen. Ich sage das deshalb so deutlich, weil ich diesbezüglich schon extrem schlechte Erfahrungen gemacht habe. Man glaubt gar nicht, wie viele "Skriptleichen" sich bei länger laufenden Welten ansammeln. Und je mehr Skripts im Skriptorium, desto langsamer wird auch das Programm.

Bei Creatures 2 und Creatures 3 ist das Entfernskript in der Cob- bzw. Agentdatei selbst enthalten, bei Creatures 1 ist es leider noch nicht so komfortabel. Dort wird das Entfernskript in einer externen Datei kompiliert, die auf .rcb endet und vom Objekteinfüger als solche erkannt wird. Damit die Entfernskripts nicht als separate Dateien in der Objektliste auftauchen, sollte man ihnen immer denselben Namen geben wie dem Objekt selbst. Dadurch wird im Objekteinfüger der Knopf "Objekt entfernen" aktiviert. Cobs, für die keine .rcb-Datei gefunden wird, sind in der Objektliste mit einem * markiert.

Entfernskripts sind sehr einfach, weil sie nur wenige Befehle enthalten, die man sich merken muss. Und das beste daran: sie sind für Creatures 1, 2 und 3 identisch. Um die Kaffeekanne aus unserem Cobtutorial loszuwerden, müssen wir eine rcb-Datei mit folgendem Inhalt erstellen:

inst

enum 2 7 1

kill targ

next

scrx 2 7 1 0

scrx 2 7 1 1

scrx 2 7 1 4

scrx 2 7 1 5

scrx 2 7 1 17

endm

inst

Auch das Entfernskript beginnt mit "inst" wie das Installationsskript.

enum 2 7 1

Dieser Befehl sucht in der Welt nach Objekten mit dem Klassifizierer 2 7 1, nämlich unsere Kaffeekanne.

kill targ

Löscht ein Objekt, das den definierten Kriterien entspricht.

next

Sucht nach dem nächsten Objekt und löscht auch dieses.

scrx 2 7 1 0

scrx 2 7 1 1

scrx 2 7 1 4

scrx 2 7 1 5

scrx 2 7 1 17

Der Befehl "scrx" löscht ein Skript aus dem Skriptorium. Für jedes Skript, das zu einem Objekt gehört, wird eine separate Befehlszeile benötigt.

endm

Auch das Entfernskript wird mit dem "end macro"-Befehl abgeschlossen.


zuletzt geändert: 28.03.2005

Neues auf diesen Seiten
Creatures 1
Creatures 2
Creatures 3
Häufig gestellte Fragen
Creatures Links
Kommentare
Über mich
Email
Webringe
Home (Gesehen und Gelesen)