grigoriprime Posted March 22, 2015 Share Posted March 22, 2015 Question: In an upcoming release I am trying to do a wedding ceremony. I have a conversation between the officiant and the player, then I want to transition to a conversation between the officiant and the spouse ("Do you?" "I do") then back to the final part of the conversation between the officiant and the player. I don't know if it's the way I'm using a quest variable to track the stage of the ceremony or the way I'm using result scripts to trigger advancement but the conversation is ending with the first transition and leaving the officiant continually giving the player a blank greeting and immediate goodbye. To narrow that down a bit... I currently have the first part of the player dialogue set to goodbye with the end result script doing a startconversation between the other NPCs ("conversation" tab not "topics" tab). This also increments a quest variable used to make NPCs "attend the wedding" packages and dialogues meet their respective conditions. When that completes (she does :) ) it's supposed to do a startconversation on the player to finish the dialogue. I do have a trigger box there but it currently has nothing to do with the conversation at the point where it breaks. I could add an ontrigger player block to force dialogue but it seems like it would be a huge drain as the ceremony's like 2-3 minutes long. Any ideas? I feel like I'm missing something obvious. I'm looking at the vanilla "Take It Back" cutscene/3 way dialogue between you and the two Lyons but I still can't quite figure out where I'm messing up the transition between the speakers. Link to comment Share on other sites More sharing options...
Jokerine Posted March 22, 2015 Share Posted March 22, 2015 I have a sort of thing like that in my current mod where the last lines of the NPC's speech have a StartConversation script fragment attached as the result script end (NPCREF.StartConversation player, TOPIC), so when they finish saying their line, they talk to the player automatically. The special topic line they say here is tagged "Say Once" and is not linked to their GREETING or anything else, so this way no trigger boxes or script variables are needed and you make sure they don't repeat them at inappropriate times later :laugh: Not sure if it's close to what you were asking, but perhaps it could help :thumbsup: Link to comment Share on other sites More sharing options...
Belthan Posted March 22, 2015 Share Posted March 22, 2015 I've noticed that NPC-NPC conversations are twitchy if you don't have voice files yet. I suspect it's because in the absence of a sound file, the game assigns a duration to the line based on the number of characters in the response text, but it evaluates the "link to" immediately. If you turn general subtitles on, it becomes more obvious if certain lines aren't firing. Try putting an arbitrary sound file in the correct folder with the correct name as a placeholder. Link to comment Share on other sites More sharing options...
grigoriprime Posted March 22, 2015 Author Share Posted March 22, 2015 Jokerine: The last line of player dialogue before the NPC-NPC conversation is goodbye, the npc-npc lines are say once and unlinked (except to the other lines in the conversation) and the last one is also goodbye. I think I'll try removing all the conditions (except GetIsID) from those lines since, as you have reminded me, there is no chance they will be spoken randomly due to being say once. So yea, that was helpful. Belthan: I actually did have the voice and lip files for both npcs done (I wrote the dialogue based on the available NPC sound files for Confessor Cromwell so they all got voiced as I wrote them).But that explains an issue I was having in a different mod, so also helpful. I do still have both the .WAVs and the .OGGs in that folder, that shouldn't matter though right? Both: Thanks! Link to comment Share on other sites More sharing options...
llamaRCA Posted March 23, 2015 Share Posted March 23, 2015 If removing the conditions didn't fix the greeting here are a few thoughts: Dialogue can be difficult and stubborn at times and sometimes needs tweaking to get it working and sometimes it just won't do what you want it to in a given situation without being creative. Without seeing the written scripts, locations of the scripts, etc relative to each other, etc I can only throw out some ideas to you that I do when dialogue isn't working with the simplest construction. When I build dialogue between NPCs or between an NPC and the player and it's not working the way I want it to with SayTo or StartConversation I will upgrade the situation to a dialogue package. If using it as a script package is sufficient I'll stay with that, but if it still isn't doing what I want I'll make it a proper package by sticking it in the NPCs package list and do an evp to get it working exactly when I want it to every time. Important force greets have their own package for reproducibility. All of that dialogue is triggered via scripting. The only time I don't script dialogue that's NPC initiated is if it's obvious there is only one way the scene can go (player enters location where NPC is waiting with dialogue package for force greet ready to go, but even then, I've probably done some scripting to guarantee that the NPC is on the correct package at the correct time). A couple of other thoughts: 1) If you are using SayTo like they do with Elder and Sarah Lyons are you using SayToDone blocks? FO3 uses this construction extensively. Here's a wiki tutorial about building a three way convo with SayTo and SayToDone if you aren't doing it that way already. Although looking through Elder Lyon's script and Sarah's will probably be just as helpful since you have the dialogue and the scripting to look at. 2) Have you scripted anything to control what they are doing (when they talk, when they change packages) outside of the dialogue results scripts? If you look at Elder Lyons object script you'll see both SayToDone blocks and a block used to trigger a force greet with the player. You might need to do a bit of scripting to get your NPC to force greet the player at the correct time. 3) If I was building the scene and was having issues getting things to go when I wanted them to I'd consider using a staged timer. Staged timers give a tremendous amount of reproducible control over package changes, dialogue triggering, etc. I use them for "scenes" that require more than simple dialogue exchanges. Link to comment Share on other sites More sharing options...
rickerhk Posted March 25, 2015 Share Posted March 25, 2015 3) If I was building the scene and was having issues getting things to go when I wanted them to I'd consider using a staged timer. Staged timers give a tremendous amount of reproducible control over package changes, dialogue triggering, etc. I use them for "scenes" that require more than simple dialogue exchanges.Staged timers for the win!In project Brazil, I use this for all NPC to NPC conversations. I found 'link from' and 'link to' will just fizzle out during a extended conversation - I think because of the periodic evp that the game engine runs on NPC's. I didn't try using the 'SayToDone. I figured that since I had to make a script then just go with the staged timer. In FO3, the script that controls the dialog between Amata, Butch and the other punks is also a good example of using SayToDone with multiple NPCs. Link to comment Share on other sites More sharing options...
grigoriprime Posted March 26, 2015 Author Share Posted March 26, 2015 Very very helpful! I have the travel packages conditioned to a quest stage with must complete and continue if player near (where appropriate) and teleport begin and end result scripts for the NPCs that need it, most of the guests are actually attending and the scene is starting correctly. There is a trigger box that starts the conversation with the player and makes sure that everyone's in close to the right place. I currently have everything linked using end results and links because it's literally just the "do you" "I do" "Do you" lines so it's very brief and almost everything is handled through a standard dialogue with the player. Just to make sure, both "topics" and "conversation" lines can trigger a startconversation or sayto between each other?Meaning can I have the conversation end with Cromwell asking the player "do you" and the result script have the player startconversation on Cromwell using a dialogue line that has "I do" as the prompt? Link to comment Share on other sites More sharing options...
Recommended Posts