Anti-stop - timing differences
Developed by: surab1996
The conditions "Triggering Habbo is standing on furniture" and "Habbo on furniture" sound similar, but have different meanings. While the condition "triggering Habbo is on furniture" only allows the triggering of a stack if the triggering Habbo is standing on the marked furniture, the condition "Habbo on furniture" does not require the triggering Habbo to be on the marked furniture, but any Habbo. Another point is the chronological sequence. You can get to this fact if you first take a closer look at the following case:
From the GIF above it is clear that the Habbo can only trigger the left stack, but the right stack is deactivated. From this it can be concluded that the conditions define differently when a user stands on a piece of furniture. The trigger determines the point in time when it is triggered. In the GIF, step-on was used as the trigger. This means that the trigger-habbo condition is activated at the time of stepping on. Let's see how the situation changes with the step-down trigger:
Now Habbo is activated on furniture condition, but only at the moment of stepping down. This proves the statement that the trigger decides the moment. This means that when a furniture is stepped on, the triggering habbo condition is already activated, while habbo on furniture does not register this yet. If a Habbo runs down from the object, the Triggering-Habbo condition is no longer fulfilled but instead Habbo on Furniture condition.
In other words, the triggering Habbo condition "notices" the user a short time earlier than the Habbo on furniture condition. Accordingly, the Habbo on furniture condition "notices" the user a short time later than the triggering Habbo condition. The timing is therefore simply shifted by one unit. Now the only question is how big the time shift is.
To do this, we let the habbo pass over the tile without stopping. If we let the Habbo run over a longer distance, it turns out that a Habbo needs exactly 0.5 seconds for one step. The following GIF tests what happens when both triggers and both conditions are in a stack together:
In other words, the triggering Habbo condition "notices" the user a short time earlier than the Habbo on furniture condition. Accordingly, the Habbo on furniture condition "notices" the user a short time later than the triggering Habbo condition. The timing is therefore simply shifted by one unit. Now the only question is how big the time shift is.
To do this, we let the habbo pass over the tile without stopping. If we let the Habbo run over a longer distance, it turns out that a Habbo needs exactly 0.5 seconds for one step. The following GIF tests what happens when both triggers and both conditions are in a stack together:
It is not triggered! Because both conditions must be fulfilled at the same time for the stack to trigger. But the Habbo cannot step up and step down at the same time, which would have to be the case for both conditions to be fulfilled. Stepping up therefore takes 0.5 seconds and stepping down, which is itself a new ("step-up") step forward, also takes 0.5 seconds (that makes a total of 1 second, because there are 2 steps).
Let's look at the whole thing again slowly for a moment: The Habbo steps onto the tile. This would make triggering-Habbo condition fulfilled, but Habbo on furniture not fulfilled, as we learned above. If he then steps down, which happens 0.5 seconds later, the situation changes: Habbo on furniture is fulfilled, but triggering habbo is no longer fulfilled. The time difference must therefore be exactly 0.5 seconds. This means that the triggering habbo condition will be fulfilled 0.5 seconds earlier than the habbo on furniture condition. But it will also be unfulfilled 0.5 seconds earlier.
How can this knowledge be applied? It gets interesting when we use Repeat Effect as a trigger and extend it via Collision. Because then you build a tile that you have to pass through without being allowed to stop:
Let's look at the whole thing again slowly for a moment: The Habbo steps onto the tile. This would make triggering-Habbo condition fulfilled, but Habbo on furniture not fulfilled, as we learned above. If he then steps down, which happens 0.5 seconds later, the situation changes: Habbo on furniture is fulfilled, but triggering habbo is no longer fulfilled. The time difference must therefore be exactly 0.5 seconds. This means that the triggering habbo condition will be fulfilled 0.5 seconds earlier than the habbo on furniture condition. But it will also be unfulfilled 0.5 seconds earlier.
How can this knowledge be applied? It gets interesting when we use Repeat Effect as a trigger and extend it via Collision. Because then you build a tile that you have to pass through without being allowed to stop:
Only during the run does one of the conditions remain fulfilled and one unfulfilled, so that both are never fulfilled. But while stopping, the triggering continues here, which was not possible with kicking up and kicking down. In this case, both conditions are fulfilled because the habbo is standing and has finished stepping up. Since he is not stepping down now, triggering-habbo condition will not become unfulfilled until the habbo does. With this in mind, a relatively simple method can be implemented for anti-stop settings.