Forum rules - please read before posting.

RunActionList at the beginning of ActionListAsset

edited August 2014 in Engine development
If I set an action RunActionList with an ActionListAsset in parameter inside an actionlistAsset, all actions after RunActionList are not played.

Is it a normal thing or a bug ?

Comments

  • It's a bug, unless you've checked the Run in parallel? box.  Screenshot?

  • I tried every cases (Run in parallel with wait or without run in parallel), same thing.
    I think this is because of function End of action RunActionList who cares only about scene file and not asset.
  • It's not.  I tried it myself, and can't re-create the error.

    Have you tried it in 1.38?  Please give it a go - if there's still trouble, post a screenshot of the asset actions in question, and that of the action used to cal the asset in the first place.
  • edited September 2014
    I tried it in 1.38 in your demo scene. Here is the screenshot.
    Robot is saying only "HelloWorld1" and not the second action list.image


  • Again, you have to check "Run in parallel" before the following Actions will run.  Look for the "After running" setting at the bottom of any Action - if it isn't there, the ActionList will stop when it hits it.
  • edited September 2014
    I tried it with Run in parallel but no changes.
    Robot is saying only "HelloWorld1" and not the second action list.image



  • OK, problem recreated.  Will get a fix out in 1.39.
  • When will you plan to release 1.39 ? To know if I have to fix it myself because we have to release our game shortly.
  • Likely a while, as there are many other things to be done.  If the script changes are minimal (and they should be, seeing as this works if the two Engine: Run ActionList Actions are in a Cutscene), I'll post the changes you can make yourself here.

  • And done.  Took a while to find the culprit, but sure enough, it's a simple fix:

    Open up ActionRunActionList.cs, and look for the End function starting line 198.  Then, just remove the second if statement, so that the function reads:

    override
     public int End (List<AC.Action> actions)
    {
      if (runInParallel)
      {
        return (base.End (actions));
      }
      return -1;
    }
  • Thank you Chris, it works well.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.