Jump to content

Dialogue AIPackage: characters stuttering


JimmyRyder

Recommended Posts

Hello everyone, here's my problem. I've scripted a short quest where a companion NPC has to find someone. So when he finds that person (that is originally sitting on a couch), that person stands up and a dialog between these the two NPCs takes place.

 

Here's how I've scripted it:

 

When the player enters a trigger, the package of the sitting NPC gets replaced by a Travel one to the side of the room on a marker. The companion receives a Dialogue package ("Specific Reference" set to the person he must talk to (Activate Distance: 100), "Dialogue Type: Conversation", flags unchecked, Start/Wait location disabled and Topic to the proper dialogue topic.)

 

Then, on the quest window I've made the conversation continues with "SayTo" scripts until it's done.

 

Problem is: Both the characters have stuttering rotating animations + dialogs are delayed and/or sometimes skipped?? I don't understand what could be the problem. My guess is that they still have different packages and they keep alternating constantly? I'm confused, because I made sure to disable everything useless during that cutscene.

 

Thank you for any help you can offer.

Link to comment
Share on other sites

Sounds to me like a timing issue. Do you have "lip synch" files for your dialog? You have to have one of the correct length for each line of dialog for them to time properly.

 

Are you testing in a "new game", or attempting to use an existing play-through? A "new game" is recommended for development, with minimal mods for stability only.

 

AI packages can only run one at a time. The EVP command causes the engine to immediately rescan the list of packages for the first which passes all the conditional tests assigned, and stops scanning the list any further to use that one immediately. If you really think you are alternating between packages, see "TIP Block Types Multiple vs Single Frame processing" and the "TIP Debugging data to file" entry under the "Scripting" section of the wiki "Getting started creating mods using GECK" article.

 

-Dubious-

Link to comment
Share on other sites

Oh sorry, since I'm not a native speaker I just checked the definition of stuttering and dialog length isn't my problem actually. Too bad I can't edit the thread name. I don't have any recordings or lip sync activated yet, I keep this for the very end.

 

I thought you could use that word to also describe those shaking/hesitant animations the characters make but apparently not. I have used evp for that already but why are do they keep shaking in place, like keeping on adjusting while they're already facing the right person. It seems to me like it is messing with their dialogs that are delayed.

 

I do it through saves taken before anything is triggered/enabled. I can hardly get any dialog packageAI between two NPCs to work properly. Most times, they reach their target but simply refuse to speak to them or the other refuses to answer. Why?

Edited by JimmyRyder
Link to comment
Share on other sites

Your use of the word "stuttering" was fine. (In the computer business it is not confined to speech.) What I was pointing out is that animations have their own internal timing, as does the dialog when combined with the lipsynch files. Without the lipsynch for the dialog, the animation timing seems to be getting interrupted by the dialog, and vice versa.

 

Do the animations shake when you do not have the dialog implemented? Try commenting out lines to see if they change anything related to the animations in order to narrow down the possible causes.

 

Suggest you see the "TIP AI Package Basics", "TIP Making NPCs move aka AI Packages", and "TIP Using AI Packages" entries under the "Custom NPCs" section of the wiki "Getting started creating mods using GECK" article for your other NPC issues.

 

-Dubious-

Link to comment
Share on other sites

Actually it works well when no subtitles display. As soon as a dialog message appears, they start glitching, shaking to try rotate again in the position they're already in, then they won't pursue their conversation. Also I cannot set any lipsync because I haven't recorded anything.

 

I have some questions though. Do you think it could be linked to the fact that I used only one Quest tab for multiple dialogs between NPCs? Should the engaged topics be in the "Conversation" tab rather than "Topic" this could explain why they won't speak sometimes or not properly?

Edited by JimmyRyder
Link to comment
Share on other sites

So far that supports my original theory that this is due to a timing conflict between the "idle" animation and the dialog. "... during dialogue either with the player or another NPC idles are being called for by both the speaker and the listener each time a new conversation item is spoken." - GECKWiki

 

Some things to try:

1. Generate a lipsync file for at least one dialog and see how that affects the idle at that point.

2. Use "StartConversation" to initiate the dialog between two NPCs.

3. Determine if you need to choose between "PickIdle", "PlayIdle", "StopIdle", and "RefreshIdle" at various points depending upon your needs.

 

"Topics" in the "Topics tab" are between the player and the NPC. "A conversation is a series of infos that are played between two actors [i.e. NPCs]. All random conversations use infos stored in topics on this tab." - GECKWiki. Note that the inter-NPC conversation "infos" are stored as "Topics" in the "Conversation tab".

 

I am not aware of any problem with putting all your dialog in a single topics tab (bearing the above in mind), as long as you properly qualify each topic with conditional tests and constantly keep in mind that the list of ALL topics is processed from the top down and stops with the first topic for which all the conditions on that topic are "true".

 

-Dubious-

Edited by dubiousintent
Link to comment
Share on other sites

Hey good looking out! You were right, it shows to be working properly when there's a lip file attached to it. So thank you very much, for your detailed answers as well.

 

Although another problem: subtitles are not displayed, only the voices playing. I have disabled player controls during the cutscene but I don't think this is the problem? Any idea what it could be?

 

Something else: probably not important, I have made the conversation continue its course with StartConversation in every "result script". Using SayTo actually gives them the glitch again. Using StartConversation on every result script, checking goodbyes at the last line, and removingscriptpackage at the end of the conversation makes everything go work as intended (except for the subtitles). Don't know if that'll cause any problem for other things or if there was another proper way to do it. But so far it works.

Link to comment
Share on other sites

Glad to hear you have gotten past this "stuttering" problem.

 

As for subtitles: did you include the "forcesubtitles" flag parameter in the dialog; or (as you are using the "startconversation" function) set the "AlwaysShowActorSubtitles" option on each NPC actor?

 

If it works, count your blessings and move on to the next problem. There is (almost) always more than one way to solve a problem.

 

-Dubious-

Link to comment
Share on other sites

No I didn't, I have tried to include the AlwaysShowActorSubtitles 1 in the result script (begin) and yet it still don't display them.

 

Oddly enough, now that I got that cutscene working. Another that happens previously now doesn't activate any actual dialogue, even though the same method has been used. Someone talking to my companion basically. That one used to work even without a lip file. I really don't understand what's going on.

Edited by JimmyRyder
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...