Das einfachste dürfte hier sein, den Krug sobald er den Boden berührt durch eine zerbrochene zu ersetzten. Problem ist nämlich, dass alle Befehle um ein Mesh auszutauschen auf alle Referenzen des Objekts zutrifft.
Ich würde folgendes ausprobieren:
Code:
scn VaseScript
short Start
float OldHeight
float StartHeight
Begin OnActivate
End
Begin Gamemode
if ( GetContainer == [Referenz eines Trash-Containers] )
RemoveMe
elseif ( Start )
if ( OldHeight <= GetPos z )
if ( OldHeight <= ( StartHeight + [Höhe, ab der die Vase kaputt gehen soll in Units]
PlaceAtMe [Kaputte Vase], 1, 0, 0
Activate [Referenz eines Trash-Containers]
else
set Start to 0
endif
else
set OldHeight to GetPos z
endif
elseif ( StartHeight != GetPos z )
set Start to 1
set StartHeight to GetPos z
set OldHeight to GetPos z
endif
End
Wichtig dabei ist, dass die ganze Version der Vase kein Static ist, sondern theoretisch in's Inventar genommen werden kann (wird praktisch durch das Script verhindert (OnActivate-Block)).
Bei der kaputten Vase ist das egal, je nachdem was du willst.