Actions Missing

Post about any bugs or other issues that you find on AAO.

Moderator: EN - Forum Moderators

Post Reply
NonsenseMedia
Posts: 5
Joined: Mon Mar 11, 2019 11:09 pm
Gender: Male
Spoken languages: English

Actions Missing

Post by NonsenseMedia »

Posting this because I didn't see anything addressing the issue. I was playtesting my case and when I got to an instance where it should decrease my health, it didn't do so. I looked in my storyboard and noticed that the action for it was blank, even though the option was there, and that the action to reduce health was missing entirely. Is this happening for anybody else?
NonsenseMedia
Posts: 5
Joined: Mon Mar 11, 2019 11:09 pm
Gender: Male
Spoken languages: English

Re: Actions Missing

Post by NonsenseMedia »

Noted that it only happens in a frame that has "merge with next" checked.
123fendas
Posts: 305
Joined: Sat Mar 07, 2015 12:02 pm
Gender: Male
Spoken languages: Svenska, English
Location: Sweden
Contact:

Re: Actions Missing

Post by 123fendas »

NonsenseMedia
Posts: 5
Joined: Mon Mar 11, 2019 11:09 pm
Gender: Male
Spoken languages: English

Re: Actions Missing

Post by NonsenseMedia »

Thanks.
User avatar
Enthalpy
Community Manager
Posts: 5169
Joined: Wed Jan 04, 2012 4:40 am
Gender: Male
Spoken languages: English, limited Spanish

Re: Actions Missing

Post by Enthalpy »

fendas is correct. This is not a bug but something Unas deliberately put into AAO for reasons I don't quite understand but plan to figure out soon-ish.
[D]isordered speech is not so much injury to the lips that give it forth, as to the disproportion and incoherence of things in themselves, so negligently expressed. ~ Ben Jonson
User avatar
Enthalpy
Community Manager
Posts: 5169
Joined: Wed Jan 04, 2012 4:40 am
Gender: Male
Spoken languages: English, limited Spanish

Re: Actions Missing

Post by Enthalpy »

The bug that was above this on my priority list is pretty much solved (I talked about the problem with Unas, and he just needs to accept the fix), so I'll look into this next. I'm hoping it'll be quick.
[D]isordered speech is not so much injury to the lips that give it forth, as to the disproportion and incoherence of things in themselves, so negligently expressed. ~ Ben Jonson
User avatar
Enthalpy
Community Manager
Posts: 5169
Joined: Wed Jan 04, 2012 4:40 am
Gender: Male
Spoken languages: English, limited Spanish

Re: Actions Missing

Post by Enthalpy »

...Quick here meaning about fifteen minutes.

The list of actions you can't do on a merged frame are:
Proceed to another frame
End the game
Ask player to select an answer
Ask the player for evidence
Ask player to point an area
Store player's input into a variable
Test an expression's value
Evaluate conditions to redirect the player
Set player's health points
Reduce player's health points
Set the "Game Over" redirection


Items 1-8 on here are fairly intuitive. All of those actions are incompatible with the normal rule of "end this frame, then go on to the frame it's merged with". The last two are less obvious, but they need to be prohibited for the same reason. Those commands allow you to end the game, which would interefere with normal frame processing. The odd one out here is setting the game over redirection. When that command runs, all AAO needs to do is update a single variable value. There should be no reason for that to interefere with the frame you proceed to next. Perhaps this was a mistake in the coding? Or maybe there's something I'm just not seeing. Regardless, I'm not inclined to put more effort into this one command.
[D]isordered speech is not so much injury to the lips that give it forth, as to the disproportion and incoherence of things in themselves, so negligently expressed. ~ Ben Jonson
User avatar
Unas
Admin / Site programmer
Posts: 8850
Joined: Tue Jul 10, 2007 4:43 pm
Gender: Male
Spoken languages: Français, English, Español
Contact:

Re: Actions Missing

Post by Unas »

The distinction is between actions that occur before the frame, and actions that occur after the frame.
See in player_actions.js, runFrameActionBefore and runFrameActionAfter each handle a distinct subset of actions.

On a merged frame, the runFrameActionAfter will be skipped (see player.js line 296).
In other words, any action which is supposed to run after a frame will be skipped on a merged frame; they can only occur on the last frame of the merged sequence.
This is why the editor also has logic to hide these actions from the list : even if you could select them, they wouldn't be executed in the player.
(Which is exactly what will happen if you set one such action and then tick the "merged" checkbox : the action will still be stored in the trial data, but ignored by the player.)

And yes, the actions that run after the frame are those which prompt for player input and/or trigger a redirection to other frames, because those couldn't work properly in a merged frame.

As for Set Game Over Redirection, yep, I just messed up I guess. It's part of runFrameBefore, so it can work on merged frames, and thus shouldn't be hidden in the editor.
ImageImageImage
If knowledge can create problems, it is not through ignorance that we can solve them.
Si le savoir peut créer des problèmes, ce n'est pas l'ignorance qui les résoudra. ( Isaac Asimov )
Post Reply