[SOLVED] De-activate action not working for ysort extension

Hi everyone, I can’t de-activate the ysort extension for my character. I just can’t think of what I’m doing wrong. I need it disabled at the start of the game and only come on when the character goes to a specfic area and triggers it. The character also has the TopDownMovement behaviour with four directions and no rotation.

I’ve tried the de-activation with ‘no condition’ and ‘at the beginning of the scene’ and neither works. I put it as the first event.

I wasn’t sure I was doing the de-activate right so I tested it by disabling the platformer behaviour of a test object and the de-activation worked - the object didn’t fall. I know the de-activation isn’t working for ysort because of the way the character is interacting with other objects and also because I made a text box to show the z value (probably awkwardly done).

I made a test game with just two objects and was able to successfully de-activate the ysort. So there’s nothing wrong with ysort itself, will investigate more on what could be causing my problem.


I’ve discovered a bit more about my problem.

These are my steps:
De-activate Ysort at the beginning of the scene with this event at the top of the event sheet
Activate Ysort later on

I put in a text box that constantly updates to the z value of the object
And even though Ysort does get de-activated, there is a moment at the beginning of the scene before this de-activation happens.
This means that the object’s z value takes on its (high) y value number and then remains fixed on that value. So, for example, its z value might be 500 or whatever it’s initial y value is.
My way around this is to manually reset the objects z value at the beginning of the scene back to its low value in the properties. The screenshot shows what happens if I don’t do this.

The left of the screenshot shows the starting y position of the figure object as 500 and z value 2 in the properties box.
The right of the screenshot shows the game preview with the figure’s z value being the same as its y value