ActMap

In der ActMap werden die möglichen Aktivitäten eines Objekts beschrieben (z.B. Aktivitäten wie Laufen oder Klettern für Clonks; Öffnen/Schließen von Türen). Die Animationsphasen einer jeden Aktivität werden dabei in der Graphics.png (und/oder Overlay.png) als nebeneinanderliegende Bilder abgelegt und in der ActMap über Bildkoordinaten referenziert. Aktivitäten können im Spiel von der Engine oder per Script gestartet oder beendet werden (siehe SetAction). Einige Aktivitäten, speziell solche von Lebewesen, nutzen dabei Engine-interne Prozeduren, die das Bewegungsverhalten des Objekts während der Ausführung dieser Aktivität steuert.
Beliebig viele Proplists
Eigenschaft Datentyp Beschreibung
Name Zeichenkette Name der Aktivität. Siehe SetAction().
Procedure Zeichenkette Interne Standardprozedur. Siehe Prozeduren.
Speed Integer Die maximale Geschwindigkeit in 1/100 Pixel/Frame die eine interne Standardprozedur das Objekt bewegen kann. Siehe Prozeduren.
Accel Integer Die Beschleunigung in 1/100 Pixel/Frame² die eine interne Standardprozedur auf das Objekt anwenden kann. Siehe Prozeduren.
Decel Integer Die Geschwindigkeitsabnahme in 1/100 Pixel/Frame² die die interne Prozedur WALK auf das Objekt anwenden kann. Siehe Prozeduren.
Directions Integer Anzahl der Animationsrichtungen. Animationreihen vertikal in Graphics.png.
FlipDir Integer Wenn ungleich 0, gibt dieser Wert die erste Animationsrichtung an, die durch Spiegelung einer davor liegenden Animationsrichtung gezeichnet wird. So wird bei Wert 1 für die Richtung 1 (rechts) die gespiegelte Grafik der Richtung 0 (links) verwendet (siehe Clonks). Bei Wert 7 wird für Richtungen >= 7 die gespiegelte Grafik der Richtung 6 - n verwendet, d.h. bei höheren Richtungsnummern wird wieder rückwärts nach oben gezählt (siehe Banner im Ritterpack).
Length Integer Anzahl der Animationsphasen dieser Aktivität (horizontal in Graphics.png).
Reverse Integer 0 oder 1. Bei Wert 1 werden die Animationsphasen rückwärts angezeigt.
Delay Integer Wartezeit in Frames (Ticks) zwischen zwei Animationsphasen.
Attach Integer Festhalten an Oberflächen: CNAT-Wert, also z.B. Wert 8 für Boden. Wird nur ausgewertet, wenn Procedure NONE ist.
Facet 6 Integer Animationsgrafik: Zielrechteck aus Graphics.png auf Objektposition.
FacetBase Integer 0 oder 1. Bei Wert 1 wird Facet mit der Standardobjektgrafik unterlegt.
FacetTopFace Integer 0 oder 1. Bei 1 wird das TopFace (siehe DefCore.txt) aus der animierten Facet verwendet.
FacetTargetStretch Boolean 0 oder 1. Bei 1 wird die Grafik vertikal bis zur oberen Kante des ActionTarget gestretcht.
NextAction Zeichenkette Nächste Aktivität nach Ablauf der Animationsphasen.
NoOtherAction Integer 0 oder 1. Bei 1 ist keine Aktivität nach dieser möglich (z.B. Tod, Zerstörung).
StartCall Zeichenfolge (max. 30) Objektscriptfunktion, die beim Start der Aktivität aufgerufen wird.
EndCall Zeichenfolge (max. 30) Wird am Ende der Aktivität aufgerufen.
PhaseCall Zeichenfolge (max. 30) Wird bei jedem Phasenschritt aufgerufen.
AbortCall Zeichenfolge (max. 30) Wird aufgerufen, wenn die Aktivität vor ihrem Ende durch eine andere ersetzt wird. Parameter sind letzte Animationsphase, letztes ActionTarget und ActionTarget2.
InLiquidAction Zeichenkette Auszuführende Aktion, wenn das Objekt in Flüssigkeiten eintaucht.
Sound Zeichenfolge (max. 30) Dauerhaftes Geräusch dieser Aktivität.
ObjectDisabled Integer 0 oder 1. Eingeschränkte Fähigkeit des Objekts während dieser Aktion.
DigFree Integer Freigraben während dieser Aktion. Objektrechteck 1, sonst Kreisradius.
Animation Zeichenkette Bestimmt die auszuführende Animation im Mesh des Objekts. Funktioniert nur wenn ein solches vorhanden ist. Wenn gegeben werden Facet, FacetBase, FacetTopFace und FacetTargetStretch ignoriert. Die Length mal Delay verschiedenen Animationsphasen werden linear auf die Länge der Animation abgebildet. Wenn Delay 0 ist wird nur Length verwendet und die Animation spielt nicht automatisch. Siehe Animationen für weitergehende Dokumentation zu Animationen.

Beispiel

Die ActMap wird im Script definiert, eine Beispiel-Definition sieht so aus:
local ActMap = {
Fly = {
	Prototype = Action,
	Name = "Fly",
	Procedure = DFA_FLOAT,
	Directions = 2,
	FlipDir = 1,
	Length = 1,
	Delay = 10,
	X = 0,
	Y = 0,
	Wdt = 24,
	Hgt = 24,
	NextAction = "Fly",
	StartCall = "FlyingStart",
},
Flutter = {
	Prototype = Action,
	Name = "Flutter",
	Procedure = DFA_FLOAT,
	Directions = 2,
	FlipDir = 1,
	Length = 11,
	Delay = 1,
	X = 0,
	Y = 0,
	Wdt = 24,
	Hgt = 24,
	NextAction = "Flutter",
	StartCall = "Fluttering",
},
};  
Sven2, 2002-04
matthes, 2004-06
Günther, 2011-01