Materialdefinitionen (OCM)
In Materialdefinitionen wird Aussehen und Verhalten von Materialien festgelegt.
Wert | Datentyp | Beschreibung |
---|---|---|
Name | Zeichenfolge (max. 15) | Name des Materials. |
ColorAnimation | Integer | 0 or 1. Color animation. |
Shape | Integer | Form der Oberfläche: Flat (0, flach), Octagon (achteckig), FlatTop (1, oben flach), Smoother (weicher), Smooth (2, weich) oder Rough (3, rau). |
Density | Integer | A density of 25 and above is liquid. 50 and above is solid. BlastFree offers a parameter to only blast solid materials of a given density or lower. |
Friction | Integer | 0-100. Reibung. |
DigFree | Integer | 0 or 1. Determines wether the material can be dug into. |
BlastFree | Integer | 0 or 1. Determines whether the material can be blasted away. |
Blast2Object | Definitions-ID | Freigesprengte Objekte. |
Dig2Object | Definitions-ID | Freigegrabene Objekte. |
Dig2ObjectRatio | Integer | ca. 100-500. Massenverhältnis beim Freigraben. |
Dig2ObjectRequest | Integer | 0 oder 1. Wenn 1, werden Objekte nur auf Wunsch freigegraben. |
Blast2ObjectRatio | Integer | ca. 100-500. Massenverhältnis beim Freisprengen. |
Blast2PXSRatio | Integer | Massenverhältnis beim Freisprengen von Kleinmaterial. |
Instable | Integer | 0 or 1. Stability. |
MaxAirSpeed | Integer | ca. 10-100. Fallgeschwindigkeit. |
MaxSlide | Integer | Rutschreichweite. |
WindDrift | Integer | Abtrieb durch Wind. |
Inflammable | Integer | Entzündbarkeit. |
Incendiary | Integer | This material incinerates objects. Note: For compatibility reasons, the misspelling "Incindiary" is also accepted if (and only if) no value with the correct spelling is set. |
Corrode | Integer | Verätzung durch dieses Material. |
Corrosive | Integer | Ätzbarkeit. |
Extinguisher | Integer | Feuerlöschkraft. |
Soil | Integer | Nährboden für Pflanzen. |
Light | Integer | 0 or 1. If greater than zero, ambient light is emitted from this material even if drawn unterground. |
TempConvStrength | Integer | Stärke der Temperaturumwandlung. |
BlastShiftTo | Zeichenfolge (max. 15) | Materialverwandlung bei Sprengung. |
InMatConvert | Zeichenfolge (max. 15) | In diesem Material verwandelt sich das Material... |
InMatConvertTo | Zeichenfolge (max. 15) | ...in dieses Material... |
InMatConvertDepth | Integer | ...wenn das Materialpixel zur angegebenen Tiefe im angegebenen Material ist. |
AboveTempConvert | Integer | Oberhalb dieser Temperatur verwandelt sich das Material... |
AboveTempConvertTo | Zeichenfolge (max. 15) | ...in dieses Material. |
AboveTempConvertDir | Integer | Richtung der Umwandlung: von oben nach unten (0), von unten nach oben (1) |
BelowTempConvert | Integer | Unterhalb dieser Temperatur verwandelt sich das Material... |
BelowTempConvertTo | Zeichenfolge (max. 15) | ...in dieses Material. |
BelowTempConvertDir | Integer | Richtung der Umwandlung: von oben nach unten (0), von unten nach oben (1) |
Placement | Integer | 0-100. Dieser Wert wird für die Nachbeleuchtung der Landschaft verwendet, und wird normalerweise automatisch aus den anderen Materialwerten berechnet. |
TextureOverlay | Zeichenfolge (max. 15) | Standardtextur für dieses Material, die vom Landschaftsgenerator zusätzlich benutzt wird. |
OverlayType | Integer | Bit mask for texture calculation on this material. Bit 0 (1): exact (no zoom), bit 1 (2): no texture, bit 2 (4): extra large zoom |
PXSGfx | Zeichenfolge (max. 30) | Grafik für lose Materialpixel. Die Grafik sollte als Materialtextur geladen sein. |
PXSGfxRt | 4 Integer | Zielrechteck auf die Grafik für lose Materialpixel. Es werden weitere Phasen rechts und unterhalb der angegebenen Grafik benutzt. Die Grafik sollte immer oben links beginnen, und die gesamte Texturgröße einnehmen. |
MinShapeOverlap | Integer | Used during map-to-landscape zooming when drawn with a texture with shape definitions: Minimum overlap of map pixels to corresponding shapes to cause a full shape expansion. See Shape textures. |
Benutzerdefinierte Reaktionen
Zusätzlich zu den Standardroutinen kann jedes Material weitere Reaktionen definieren, die ausgeführt werden, wenn das Material durch lose Pixel (z.B. Regen oder Explosionsstreuung) oder Materialbewegung (z.B. beim Angraben eines Sees) auf ein anderes Material trifft:
Wert | Datentyp | Beschreibung |
---|---|---|
Type | Zeichenkette | Art der Reaktion, die stattfinden soll. Siehe Tabelle. |
TargetSpec | Zeichenkette | Zielmaterial, mit dem das lose Material reagiert. Siehe Materialspezifikationen. |
ScriptFunc | Zeichenkette | Nur für Reaktionstyp Script: Name der Scriptfunktion, die das Verhalten bestimmt. |
ExecMask | Integer | Bitmaske, die angibt, in welcher Situation die Reaktion stattfindet. Bitindizes sind die Reaktionsereignisse. Standardwert -1 für alle Ereignisse. |
Reverse | Boolean | Normalerweise gibt die Reaktion an, was mit losem Material der Definition, in der die Reaktion definiert ist, passiert, wenn es auf festes Material vom in TargetSpec angegebenen Typ trifft. Ist Reverse gesetzt, so wird die Definition umgekehrt. |
InverseSpec | Boolean | Wenn wahr, wird die Reaktion für alle anderen Materialien (inklusive "Sky"), die die Bedingung in TargetSpec nicht erfüllen, verwendet. |
CheckSlide | Boolean | Wenn wahr, wird vor dem Aufruf der Reaktion das Standardverhalten (Sprenkeln am Boden und Abrutschen nach MaxSlide) ausgeführt. |
Depth | Integer | Nur für Reaktionstyp Convert: Tiefe im Zielmaterial, ab der Material umgewandelt wird. |
ConvertMat | Zeichenkette | Nur für Reaktionstyp Convert: Material, in das umgewandelt wird. Bei Angabe von Sky wird das Material vernichtet. |
CorrosionRate | Integer | Nur für Reaktionstyp Corrode: Chance darauf, dass verätzt wird. |
Name | Wert | Ereignis |
---|---|---|
MEE_PXSPos | 0 | Check vor jedem Bewegungsframe eines losen Materialpixels gegen das Hintergrundmaterial |
MEE_PXSMove | 1 | Check gegen jedes Pixel, das ein loses Materialpixel in seiner Bewegung berührt |
MEE_MassMove | 2 | Bei größeren Materialbewegungen (z.B. angegrabener See):Check des bewegten Materials gegen das Material, über das es sich bewegt |
Name | Verhalten |
---|---|
Script | Für jedes Aufeinandertreffen wird die in ScriptFunc angegebene Scriptfunktion aufgerufen. |
Convert | Das Material wird in ein anderes umgewandelt. Vergleichbar mit dem Verhalten von Schnee in Wasser. |
Poof | Sowohl das lose als auch das feste Material werden entfernt. Außerdem werden wird mit Chance 1:3 eine kleine Rauchwolke erzeugt und mit Chance 1:3 der Sound "Pshshsh" abgespielt. Vergleichbar mit dem Verhalten von Wasser in Lava. |
Corrode | Das lose Material ätzt das Zielmaterial mit Chance CorrosionRate weg und entfernt sich dabei selber. Wenn geätzt wird, wird mit Chance 1:5 eine kleine Rauchwolke erzeugt und mit Chance 1:20 der Sound "Corrode" abgespielt. Vergleichbar mit dem Verhalten von Säure auf Erde. |
Insert | Das lose Material wird als festes Material eingefügt. Vergleichbar mit dem Verhalten aller Materialien, wenn sie auf ein Material gleicher oder höherer Dichte treffen. |
Name | Materialien |
---|---|
Materialname | Entsprcht die Spezifikation direkt dem Namen eines anderen Materials, wird dieses benutzt. |
All | Alle Materialien inklusive "Sky" |
Solid | Alle festen Materialien |
SemiSolid | Alle festen und flüssigen Materialien |
Background | Alle Hintergrundmaterialien, inklusive "Sky" |
Himmel | Das Hintergrundmaterial. |
Incendiary | All materials that can incinerate objects. Note: For compatibility reasons, the misspelling "Incindiary" is also accepted. |
Extinguisher | Alle feuerlöschenden Materialien. |
Inflammable | Alle entzündbaren Materialien. |
Corrosive | Alle verätzbaren Materialien. |
Corrode | Alle ätzenden Materialien. |
Reaktionstyp 'Script'
Mit dieser sehr rechenintensiven Methode kann das Materialveralten frei bestimmt werden. Die Scriptfunktion sollte global deklariert haben und folgende Parameter besitzen:
Der Rückgabewert der Funktion sollte entweder 1 für Entfernen oder 0 für Erhalten des losen Materials sein.
Parameternummer(n) | Name(n) | Datentyp | Beschreibung |
---|---|---|---|
1,2 | x, y | Integer | Position des losen Materials. Die Parameter können verändert werden, um das Materialpixel zu verschieben. |
3,4 | landscape_x, landscape_y | Integer | Position in der Landschaft, auf die das Material trifft. |
5,6 | xdir, ydir | Integer | Geschwindigkeit (in 1/100px) der Bewegung des Materials. Kann geändert werden, um die Geschwindigkeit des Materialpixels zu beeinflussen. Nicht für MassMover. |
7 | pxs_material | Integer | Materialnummer des losen Materials. Nützlich, wenn die gleiche Funktion für Reaktionen mehrerer Materialen verwendet wird |
8 | landscape_material | Integer | Materialnummer des festen Materials. |
9 | event | Integer | Siehe Reaktionsereignisse. |