Just to be clear: blocking actions are those actions that block the script from continuing past that point for a certain amount of time because the action itself needs some time before it can finish. These are actions such as move_to, wait, jump, etc. The order is important because, when you save a game, the index of the blocking action is saved. So, for example, you have a script with
<wait exact="1ms"/>
<move_to object="this.ship" destination="this.ship.position"/>
<wait exact="1ms"/>
and save the game while the entity is doing the move_to, the game remembers that it was doing that script, is in the second blocking action, and that that action is a move_to. If, upon loading a game, the second blocking action is no longer a move_to, the game plays it safe and throws the entity back to the calling script and lets you know that there was an error.
To maintain compatibility, you could increment the version of the script and add a sinceversion property to the inserted action. So, say for example, we wanted to insert a jump action between the wait and the move_to, the order would now be:
<wait exact="1ms"/>
<jump sinceversion="1"/>
<move_to object="this.ship" destination="this.ship.position"/>
<wait exact="1ms"/>
Upon loading the game would see that the second action changed but that this is a new version of the file so it would assume that you've handled the change.
Anyhow, yes, restarting the calling script should restart the whole thing.
Sorry if anything is unclear. Please don't hesitate to ask. i sometimes trip over myself when i get excited.Andy_MB wrote:I understood a lot. But not all )
And i apologize if you already know this stuff. i don't know what you know, and i think it's best to be thorough if unsure.
@Uni, where have you gone? You and i both know you know this stuff better than i do.