Customize=CUST_SET_STILL_COLLISION

  • Still Collision (Hard Collision)

    Dieser Script Befehl ermöglicht es, dass Lara sich bei Statics oder Moveables so verhält, als wenn sie gegen eine Wand läuft. (Arme und Beine bewegen sich nicht und Lara läuft nicht im Stand weiter).


    Syntax: Customize=CUST_SET_STILL_COLLISION, Collision Flags (COLL_...), LowerHeight, MoveableArray


    Bereich im Script: [Level]


    Flags (COLL_...)


    Hier kann man verschiedene Verhaltensweisen und Eigenschaften festlegen. Möchte man hier nichts verwenden, setzt man einfach ein IGNORE.

    Mehrere COLL_... können durch ein + miteinander verbunden werden.


    COLL_ANIMATINGS = Stille Collision bei Objekten die im Animating Slot sind


    COLL_DOORS = Stille Collision bei Türen ( Achtung: Funktioniert nicht bei Underwater- und Trapdoors)


    COLL_FAKE_WALLS = Stille Collision bei Objekten, die Wände, Decken oder Boden darstellen. (SMASHABLE_BIKE_WALL, SMASHABLE_BIKE_FLOOR, FALLING_CEILING, FALLING_BLOCK, FALLING_BLOCK2, BURNING_FLOOR, ONEBLOCK_PLATFORM, TWOBLOCK_PLATFORM, RAISING_BLOCK1, RAISING_BLOCK1, EXPANDING_PLATFORM, BRIDGE_FLAT, BRIDGE_TILT1, BRIDGE_TILT2 and all PUSHABLE OBJECTS)


    COLL_FAST_TURNING = trifft Lara mit einem scharfen Winkel auf ein Objekt, versucht die Engine, sie an dem Objekt durch Drehung vorbeizulenken. FAST_TURNING beschleunigt die Drehung.


    COLL_NO_SLIDING = keinerlei Vorbeigleiten an dem Objekt, egal von welchem Winkel Lara auf ihn trifft.


    COLL_NO_SPLAT= Lara bleibt sofort stehen, ohne ihre Hände gegen das Objekt zu drücken.


    COLL_PANELS = Stille Collision bei den TRNG Panel Objekten.


    COLL_STATICS = Stille Collision bei Statics Objekten.


    COLL_STOP_ON_45_DEGREES= Lara stoppt selbt bei 45 Grad und versucht nicht dem Objekt auszuweichen.


    COLL_VEHICLES = Stille Collision bei Fahrzeugen wie Jeep oder Motorrad. (Keine Auswirkung auf Wasserfahrzeuge wie z.b. Boat)


    LowerHeight


    Hier man die Mindeshöhe in Klicks an, die ein Objekt haben soll, damit die Stille Collision ausgeführt wird.


    Klicks werden wie folgt berechnet:


    1 Klick = 256

    4 Klick, ein Sektor = 1024


    Bei einem kleinen Objekt wie einem Stein oder kleiner Vase macht es kein Sinn, dass Lara ohne jede Bewegung davor stehen bleibt. Deswegen gibt man hier z.b. 512 (2 Klicks) ein, wird die Vase wie ein normales Objekt behandelt und nicht als ein für Lara unüberwindbares Hindernis.

    Gibt man hier 0 ein wird an allen Objekten die stille Collision ausgeführt.


    Gibt man IGNORE ein wird ein Standardwert von 300 genommen.


    MoveableArray field


    Hier kann man noch spezifische Moveables nennen, die eine stille Collision haben sollen und noch nicht in einem COLL_ erwähnt wurden. Möchte man z.b. beim Polerope und Rollingball eine stille Collision haben könnte man folgenden Scripteintrag machen:

    Customize=CUST_SET_STILL_COLLISION, COLL_STATICS+COLL_DOORS, IGNORE, POLEROPE, ROLLINGBALL


    So hat man zu den Statics und Doors noch das Polerope und den Rollingball, bei der eine stille Collision ausgeführt wird.


    Eine andere interessante Anwendung ist das Ausschließen von bestimmten Moveables, dies geht natürlich nur wenn vorher in COLL_ einige Typen genannt wurden.


    Wenn man z.b. für alle Doors die stille Collision aktiviert hat (COLL_DOORS) und möchte dass bei einer Door die für einen Time Race genutzt wird die stille Collision nicht gilt, weil Lara sonst vor der Tür festfrieren würde, als noch drunter zu gleiten, Da du ein fairer Levelbauer bist und möchtest, dass der Spieler noch unter der Tür gleiten kann, schließt du diese Tür von der stillen Collision aus.


    In diesem Fall setzt du ein Minuszeichen vor die Slot Nummer der Door.


    Bsp.


    Du möchtest DOOR_TYPE4 mit der Slot Nummer 325 von der stillen Collision auschließen.


    Customize=CUST_SET_STILL_COLLISION, COLL_STATICS+COLL_DOORS, IGNORE, -325


    Anmerkung:


    Man setzt hier besser nicht "-DOOR_TYPE4", da die Vermischung von Buchstaben das NG Center verwirren könnte.


    Möchte man kein Moveable extra definieren kann man auch hier IGNORE tippen.