CAOS-Programmierung: Unterschied C2C3neu

Aus Wikibooks

Die Erklärung sind von der Seite [[1]] übernommen
Die Autorin Jasmin Handwerker ist mit der Veröffentlichung ausdrücklich einverstanden


Diese Seite befasst sich mit den Unterschieden der Creatures 2 CAOS Programmierung und der Creatures 3 CAOS Programmierung.

Als ich mit der Skriptprogrammierung für Creatures angefangen habe, hatte mir Helen's Creatures 2 COB Tutorial sehr weiter geholen (zu finden bei Unlimited Creatures). Da ich dann aber eher meine Creatures 3 Spielphase hatte, machte ich mich an die Programmierung von Creatures 3 Agenten und da taten sich erstmal einige Probleme auf. Die Versionen der beiden CAOS Sprachen gleichen sich zwar größtenteils, aber es gibt gewisse Unterschiede, durch die der Agent bei der Einführung in die Welt eine Fehlermeldung verursacht und das Spiel abstürzt. Somit habe ich beschlossen eine Seite zu machen, die näher auf die Unterschiede eingeht. Im Moment sind bei weitem nicht alle Unterschiede aufgelistet.

Creatures 2 Creatures 3
new: simp, Spritedatei, Anzahl_Bilder, erstes_Bild, Ebene, clone

setv cls2 family, genus, Skirptnummer

Für die Erstellung eines Objekts sind 2 Befehle nötig. Der erste Bezieht sich auf die Spritedatei und wo sich das Objekt befindet, der zweite gibt die Kategorien des Objekts an und weißt ihm eine Skriptnummer zu.

new: simp, family, gender, Skriptnummer, "Spirtedatei", Anzahl_Bilder, erstes_Bild, Ebene

In Creatures 3 wurden beide Befehle zu einem Befehl zusammengefasst. Es sind alle Informationen bis auf den clone-Parameter enthalten. Der clone-Parameter hatte in Creatures 2 die Funktion, dass mehrere Objekte des Objekts auf die gleiche Spritedatei zugreifen konnten. Die Spritedatei muss nun in Anführungszeichen gesetzt werden, sonst gibt es eine Fehlermeldung.

setv attr Zahl

Damit werden dem Objekt die Attribute zugefügt.

attr Zahl

setv entfällt.

bhvr Zahl_klick, Zahl_berühren

Die erste Zahl bezieht sich auf das Verhalten, wenn man auf das Objekt klickt. Die zweite darauf, was das Wesen mit dem Objekt machen kann.

bhvr Zahl

Beide Zahlen wurden in einer zusammengefasst. Dies hat aber keinen Einfluss darauf, dass das Objekt jetzt weniger "kann".

slim

Damit wird das Objekt begrenzt (set limit).

Nicht mehr vorhanden.
edit

Dieser Befehlt veranlasst das Objekt in der Hand zu erscheinen.

Nicht mehr vorhanden.
snde Wav-Datei

Eine Wav-Datei wird dem Objekt hinzugefügt. Der Befehl lässt die Wav-Datei abspielen.

snde "Wav-Datei"

Gleiche Wirkung, nur dass der Dateiname nun in Anführungszeichen stehen muss.

stim writ from Chemikalie, Konzentration Nr, Nr, 0, 0, Chemikalie, Konzentration, Chemikalie, Konzentration, Chemikalie, Konzentration, Chemikalie, Konzentration

Dem Wesen können verschiedene Chemikalien gleichzeitig mit diesem Befehl zugeführt werden. Für weniger Chemikalien einfach 0 eingeben.

stim writ from Chemikalie, Konzentration

Nur noch eine Chemikalie ist möglich. Anderer Befehl existiert nicht mehr.

inst

Damit werden Objekte installiert und auch das Entfernungsskript beginnt mit inst (etwas widersprüchlich).

rscr

Das Entfernungsskript beginnt nun mit diesem Befehl.

setv actv Zahl

Damit werden dem Objekt nochmals spezielle Angaben zugewiesen (0 = Inactive, 1 = Active 1, 2 = Active 2, 3 = Hit, 4 = Eat).

Der Befehl ist nicht mehr vorhanden, da es keine Spielvariable actv mehr gibt.

Das ganze Verhalten wird über attr und bhvr geregelt.

rndv Variable, Anfangswert, Endwert

Eine Zufallszahl zwischen Anfangswert und Endwert wird erzeugt.

Den Befehl gibt es nicht mehr.

Alternative: setv Variable, rand, Anfangswert, Endwert In C3 werden Zufallsvariablen mit Hilfe des Befehls rand generiert.

sys: camt

Die Kamera wird auf das aktuelle target gerichtet.

cmrt 0

Gleiche Wirkung nur anderer Befehl.

base anfang_Bild

anim[0123456789]

Diese beiden Befehle werden meistens zusammen genutzt. base gibt an, welches Bild der Spritedatei als Basis verwendet werden soll (also bei 0 gezeigt wird), anim zeigt eine Animation. Der anim-Befehl kann immer nur Zahlen von 0 bis 9 enthalten, da zweistellige Zahlen nicht erkannt werden. 12 würde z. B. als 1 und 2 gewertet werden. Somit ist der base-Befehl notwendig, um Bilder nach 9 zu zeigen.

anim[0 1 2 3 4 5 6 7 8 9 10 11]

Bei dem C3 anim-Befehl steht zwischen jeder Zahl ein Leerzeichen. Somit können auch zweistellige Zahlen benutzt werden und man kann den base Befehl weglassen. Er wird jedoch meistens zur Übersichtlichkeit noch verwendet.