Forum rules - please read before posting.

Bug: Gather text ignores actionlists that are passed through a parameter

Our game consists entirely of asset based action lists. We also use a wrapper actionlist (PlayDialogue), that contains things that are always done before a dialogue starts. We set the dialogue-actionlist which only contains dialogue as a parameterr of the PlayDialogue actionlist. This works great, but when I gather the speech text, all of these dialogue actionlists (which is pretty much every dialogue in our game) are ignored and don't appear in the Speech list.

Comments

  • So you're using a String parameter to control a Dialogue: Play speech Action's, Speech text field?

    It's not possible to gather this up as speech text, since the parameter itself - and what you do with it - are separate entities.

    If you place the speech in it's own ActionList asset, however, you can assign that asset in a Unity Object parameter, and then use an ActionList: Run Action to run that Asset/speech Action in its place.

  • No I have a action list that contains the normal AC: Play speech actions, but instead of running them directly with ActionList: Run (which is gatered), I created a wrapper actionlist, which takes parameters (including the dialogue-action list I want to run).

    So the setup is basically like this: Talk to character -> Character Main Action list is run, which chooses the appropriate dialogue to play from hierarchy of pop up variables - > Runs an action list that I created (DialoguePlayAL), which takes parameters like the walk to marker and the Actionlist to run -> this actionlist moves the character, sets up the cameras and runs the dialogue actionlist.

  • Is it because AC doesn't gather text from ALs that are passed in a parameter? If so, it would be nice to have the option to specify one ore more folders, to gather text from all the ALs, that are inside.

  • Is it because AC doesn't gather text from ALs that are passed in a parameter?

    It already should pick up on ActionList Assets passed a Unity Object parameters. What's your AC version, and let's see screenshots of the full Action chain - starting from how the sequence is triggered.

  • My AC Version is the most recent, here are the screenshots in the right order: https://imgur.com/a/sywzQth Thanks for the support.

  • If I follow the chain right, the ActionList that isn't being gathered is "Expedition -.."?

  • edited April 2019

    Open up SpeechManager.cs, and replace lines 2744/2755:

    if ((actionRunActionList.actionList != null && actionRunActionList.actionList.useParameters) || (actionRunActionList.linkedAsset != null && actionRunActionList.linkedAsset.useParameters))
    

    with:

    if ((actionRunActionList.listSource == ActionRunActionList.ListSource.InScene && actionRunActionList.actionList != null && actionRunActionList.actionList.useParameters) || (actionRunActionList.listSource == ActionRunActionList.ListSource.AssetFile && actionRunActionList.invActionList != null && actionRunActionList.invActionList.useParameters))
    

    Does that resolve it?

  • Well I didn't get to double check everything, but it found about 2000 more lines... so I guess it works :D Thank you :)

  • By the way, with more than 2000 lines in the speech manager now, scrolling or even leaving the speech manager open is a real pain. I have the same problem with the variables manager, which contains about 600 variables and about 20 presets now. They have a really bad impact on performance, is this a bug or normal with these amounts? When I directly look at the scriptable objects in the inspector, there aren't performance problems though...

  • You can filter through both to limit their display, and speech lines get hidden at runtime. There's a lot going in behind the scenes, but only so far as the Editor goes.

  • Sorry to bring this up again, but now that our dialogues are complete I gathered everything again, and only about 3700 lines of 8700 appeared. When place some of the actionlists in a cutscene in the scene more of them appear (about 7000) but there are still some missing. Since we have all the dialogues in a Dialogues folder in the resources, would there be an option to give AC a folder name, as this would be the safest way to gather our text?
    Thank you,
    Cheers,
    Onat

  • If there's an issue with ActionLists being mistakenly missed from the "Gather text" operation, then it'll need to be addressed. What is your AC version now, and how are the missing lines referenced in your game?

    If you can provide steps on how to recreate the issue of an ActionList not being included in the Gather Text procedure, that would be ideal.

  • edited July 2019

    Thank you for the quick reply. Well there are a lot of lines missing and they are referenced in various ways, which makes it hard to nail down a specific thing, but here is one examples, which is how most of them work and also the more complicated ones (by the way, all the ALs are asset based):

    Init:
    1. On scene Start, an actionlist is called, which checks the scene and where we are in the game (based on popup variables) and calls another scene specific setup AL.
    2. The scene setup AL spawns the characters we need

    In Game, when interacting with the character:

    1. There is one Char_Main AL, that is called whenever you interact with a character, which goes through the same check like the scene start AL.
    2. Depending on the value, a scene specific sub AL is called, which then leads to an actionlist (play dialogue AL), that takes an AL parameter and setups the dialogue and the cameras etc. before calling the actual Dialogue Actionlist.
    3. The Dialogue Actionlist only contains the actual dialogue mostly.

    Now the strange thing is, some of these dialogues are found, some are not...

  • edited July 2019

    This isn't clear enough, I'm afraid. An ActionList when interating with a character meaning an asset file, instead of a scene-based Interaction? So "Dialogue ActionList" is where some lines are gathered, but some aren't?

    Is there any correlation to the dialogues that are found vs those that aren't? e.g. the ones left out are newer? If you add a new speech Action in there, is it gathered.

    If you open up the ActionList asset file, assigned line IDs will be displayed in the Actions themselves - do these match up with the reportings of the Speech Manager, i.e. those that are listed have a matching ID, and those that aren't have none?

    Are these lines cleared in the ActionList Editor if you then go and click "Reset text" in the Speech Manager? Be sure to backup before doing any of these steps.

    Please let me know your exact AC and Unity version numbers, and let's see a screenshot of your Speech Manager.

  • Hi Chris,
    gathering again seems to have helped, so I can't really nail down what the porblem actually was.
    In case it helps: All lines are cleared after resetting, and while I didn't compare the spreadsheets yet, a lot more of the lines semm to have been gathered now.
    Also we are basically overwriting the line ids and gathering again afterwards. I have noticed, that AC needs to have gathered the text before we overwrite the Ids, otherwise it will overwrite them with new IDs.
    I'm also going to test again what happens if I don't include the ALs in a "testscene"
    Thank you

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.