Jump to content

Getting companion GREETINGS to run out of order per player actions


McFearo

Recommended Posts

Hello! I know, it's me again.

 

For my companion mod, I have been setting up different dialogues under the GREETING topic for him to greet the player with when they start a conversation, that will respond to game events. Currently he has 3 greetings that are causing an issue:

 

1, A greeting for when the player becomes an enemy of the Legion faction

2. A greeting for when the player has killed Vulpes Inculta

3. A greeting for when the player has killed the crucified Nipton survivors

 

The last one runs on a script I added to the crucified Nipton survivors and my companion follower quest, so that OnDeath, the crucified survivors change a value in the companion script called MercyKill to 1, and then the Greeting is set with a condition that it will play when that variable is set to 1.

 

So far it works beautifully, I've managed to get the greeting, but there's one small problem.

 

He only likes to say the third greeting about the Nipton survivors AFTER he has already spoken the first two greetings about the Legion and Vulpes. If you kill the crucified survivors but don't kill Vulpes, he only says his default greeting.

 

I've been looking at Arcade's greetings since he has a number of them set to play during certain game events and none of them are set to Random so I haven't set my companion's greetings to Random. But should I? How can I get him to trigger his mercy kill greeting if the player doesn't kill Vulpes?

Link to comment
Share on other sites

The reason why they're saying the default greeting is because when two lines of dialogue meet variable requirements, it'll just play the first dialogue line it registers. What you need to do is create an additional variable that blocks your default greeting from being said. Something like Short Greeting: 0= Default Greeting 1= Special Greetings Then after your character says the special greeting set that variable back to 0.

Link to comment
Share on other sites

The reason why they're saying the default greeting is because when two lines of dialogue meet variable requirements, it'll just play the first dialogue line it registers. What you need to do is create an additional variable that blocks your default greeting from being said. Something like Short Greeting: 0= Default Greeting 1= Special Greetings Then after your character says the special greeting set that variable back to 0.

Thank you for this!

 

I went a slightly different route for this, because I don't want that variable to necessarily be a binary 1 or 0 and cause other special greetings not to go off because he already said one of his special greetings and set it back to 0 even though there were others possible for him to say.

 

So what I've done is set it up so that his default greeting will only fire if "bSpecialGreetings" is <= 0, and some scripted events will add + 1 to that counter, then the corresponding greeting will subtract 1 from it. That way the default greeting will hopefully remain secondary to any additional special greetings that are queued up because the conditions for all of them are currently being met.

 

Does that seem like a good or bad idea?

 

Edit: Nevermind, it was a bad idea, for some reason now if he exhausts all his special dialogues he can't access his default greeting anymore, so I think the answer might be to stick closer to what you were saying about making it a binary 1 or 0 issue OR just move his default dialogue further down the list underneath all the special ones maybe.

Edited by McFearo
Link to comment
Share on other sites

  • Recently Browsing   0 members

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