Forum rules - please read before posting.

Action List parameters not working?

I'm not sure if I'm doing it wrong or if it's not meant to be used that way. I have a character that when interacted triggers an action list with a series of dialogues. If I talk to that character again, I want the action list to skip to the last dialogue line. I tried creating a boolean parameter in the action list and changing its value at the end of the conversation. At the start I use the "Action List: Check Parameter". If false, the entire conversation plays; if true, it skips to the last line. But this is not working. Am I doing something wrong? Or are Action Lists' parameters not meant to be used this way? Should I rely on an external variable instead?

Comments

  • What you're describing should work - it may be down to some other detail not mentioned. Can you share screenshots that show the workflow?

    If you view the properties of an ActionList at runtime, it'll list the current values of properties - is the parameter being shown as "true" after running for the first time?

  • edited April 2022

    Revert to default parameter values is unchecked.

    I create my boolean.

    I set the value to true at the end of the dialogue.

    At the start I'm checking the value. If true, it skips to the last line, if false it plays all the dialogues.

    If I try to skip to the variable check after it's set at the end, it skips to the last line. But it doesn't work if I talk to the character again, triggering the action list again (This is how it should work).

    This is how the Interaction is set in the Hotspot, if it helps.

  • Looks like the issue comes from using an ActionList asset.

    When an ActionList asset is run, it actually runs a new instance of that asset in the scene. When you enable Change own?, you're affecting the values of that instance - not the original asset. This should be fine if you're checking that parameter value in the same instance - but not if you're checking the value after re-running the list.

    If you uncheck this option, and update the ActionList: Set parameter Action to reference the original asset file, the updated parameter value will transfer itself to the next instance that runs.

  • Ok. That works. Thanks! But I have another question. While I got your answer, I also tried using a Run Sequence action with 2 options. The first one runs all the dialogues and the second one skips to the last, and I set it to not loop. This works but it seems the value in the sequence is retained when exiting play mode, so when I enter play mode again and talk to that character, it automatically skips to the last line. Is there a way to prevent this? Or should I just rely on the parameters?

  • Can you share screenshots? I'll attempt a recreation.


  • Option 0 plays all the dialogue. Option 1 skips to the last line. After talking to the character once, all subsequent times should just run Option 1. But it's not reverting after exiting play mode. It will only revert if I quit Unity

  • edited April 2022

    I can't recreate the issue, but this was previously addressed in AC v1.74.5. What version are you using?

    As a last result, you'd be able to get around it by checking "Save sequence value" and assigning a variable.

  • It seems I'm using 1.74.2. I'll use the parameters, then.

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.