Jump to content

Preventing Kick-Out Dialogue?


Wounded_Lion

Recommended Posts

I need to remove an NPC from the player party, have the NPC remain on-screen, and either:

 

a. prevent the NPC from initiating the kick-out dialogue.

OR

b. switch to a specific kick-out dialogue appropriate to the situation.

 

I have experimented extensively but found no method of preventing the kick-out dialogue from occuring.

 

I tried using ClearActions immediately after LeaveParty; the kickout dialogue still occurs.

 

Also...

 

SetLeavePartyDialogueFile() and SetLeavePartyDialogFile() appear broken.

 

I altered the ACTION.IDS entries to:

 

SetLeavePartyDialogFile(S:DialogFile*)
SetLeavePartyDialogueFile(S:DialogFile*)

 

And used:

 

SetLeavePartyDialogueFile("NewLPDialog")

 

in a script. Although WeiDU complied the script without reporting the usual parsing error ('too many parameters'), the action had no effect.

 

I tried some other stuff, too...

 

So... What causes the kick-out dialogue to occur? Is it 'hard-coded'? Can it be altered or prevented? I'd rather not directly alter the existing P dialog files unless absolutely necessary... Help?

 

- D

Link to comment

I assume you mean to say that you want to alter what happens after the player finalizes the "Reform Party" option, and not what happens after some other LeaveParty() action is initiated.

 

In any case, people might be better able to help you if you specified the condions under which an NPC might be leaving the party.

 

If it's the result of "Reform Party", you're stuck with it. Probably, if not certainly, hardcoded. If it's the result of a state leading to LeaveParty(), it would be possible to alter the previous state.

Link to comment

If you were *really* determined that the NPC not leave the party, you could probably assign a script that would force rejoining.

 

Instead of the usual

Do you want me to rejoin?

yes

no

 

you could have

yes

yes

 

Definitely suboptimal.

Link to comment

Suspect that you want to introduce specific Kick-Out dialogs for certain conditions, e.g. Chapter 4, area-specific, variable specific, might be possible, but it would affect the P-dialog.

 

Instead of

~Do you want me to rejoin?~

++ ~Yes~ JoinParty()

++ ~NO!~

 

You want

++ ~Yes~ JoinParty()

+ ~AreaCheck("ARxxxx")~ + ~No.~ etc

+ ~!AreaCheck("ARxxxx")~ + etc

Link to comment

What I want is for the NPC to leave the party without walking up to the PC and initiating the rejoin/leave dialogue. LeaveParty() always causes the NPC (in this case Aerie) to walk up to the PC and initiate the rejoin/leave dialogue.

 

I want her to leave the party, walk to a certain point, and shut the hell up.

 

In the event that the above cannot be accomplished, I want to be able to change the NPC's kick-out/leaving dialogue via script.

 

That clarify things a bit? :)

 

Neither seems possible... so I may have to edit/add-to the P dialog file. This is a sub-optimal solution... :)

 

- D

Link to comment
Suspect that you want to introduce specific Kick-Out dialogs for certain conditions, e.g. Chapter 4, area-specific, variable specific, might be possible, but it would affect the P-dialog.

 

Instead of

~Do you want me to rejoin?~

++ ~Yes~ JoinParty()

++ ~NO!~

 

You want

++ ~Yes~ JoinParty()

+ ~AreaCheck("ARxxxx")~ + ~No.~ etc

+ ~!AreaCheck("ARxxxx")~ + etc

 

Yes, I thought of this, but I'd rather not alter/add-to the P dialogue file (it's a rather complex web as it stands).

 

- D

Link to comment

While you're at it, check Anomen. He leaves the party, too.

 

In both cases, they do a LeaveArea(), too, which might avoid the whole kick-out dialog issue. A MoveTo(xxxx.xxxx) might work, but you'd have to have it happen in a particular spot.

 

I can't think of any in-game examples of NPCs who leave the party and then take a few steps and stand around, tapping their foot, figuratively speaking.

Link to comment

I just wanted to add a drop of drama to a certain scene. CHARNAME makes a tough decision (implemented via dialogue choice). Aerie, who is extremely upset, runs off some distance (and silently leaves the party via the LeaveParty script action). CHARNAME can let her go and leave the area (which Jaheira advises him to do, and in which case Aerie returns to the circus and is no longer recruitable). Or CHARNAME can run to her, talk to her, reassure her, hug her and bring her back into the party.

 

It is sooo much more effective than having Aerie initiate the conversation. Or at least it seems to be so to me.

 

I've decided to cancel this particular quest expansion. It is a great idea imo, but the BG2 implementation of the Infinity Engine is annoying me too damn much with its limitations and quirks. For now, I will be concentrating on another component.

 

BTW, MoveToPoint doesn't avoid the issue; the NPC moves to that point and then walks back to the PC and initiates dialogue.

 

- D

Link to comment
In both cases, they do a LeaveArea(), too, which might avoid the whole kick-out dialog issue.

 

No, triggering of kick-out dialogue is only postponed. I used "EscapeAreaMove(bla)" and the NPC run to my PC and initiated dialogue the moment she stepped into the area where he was (a lot later in game). So, like Wounded_Lion experienced already, kick-out dialogue is hardcoded.

 

I did not understand: Why can't you code a kick-out dialogue that would trigger for your case (even if it's not your primary choice). It's only a question of weighting, and variable triggering, or maybe I didn't understand your problem?

 

With such an individual kick-out dialogue, she could move to another area, and the PC (at least) would have to follow her. She would still initiate dialogue, but it would leave the great talking t the PC.

 

But I know what you mean, it's not the same as if the PC has to go to her.

Link to comment
I did not understand: Why can't you code a kick-out dialogue that would trigger for your case (even if it's not your primary choice). It's only a question of weighting, and variable triggering, or maybe I didn't understand your problem?

 

At the time of my original posting, I wasn't familiar with state weights. Since that time, however, I have learned how to do what you suggest (using a combination of variable setting and WEIGHT #-1).

 

But I know what you mean, it's not the same as if the PC has to go to her.

 

Thank you. That comment (that you understood what I wanted to do in a roleplaying sense) is worth more than all the technical advice I could ask for. Perhaps I'll come back to this component in the future and try to figure out a way to implement the scenario to my satisfaction.

 

- D

Link to comment
Probably a little late, but you could try making Aerie go uncontrollable after walking away and having her leave the party and area if the player doesn't come to talk to her within a certain time frame.

 

Thanks for the suggestion, but wouldn't making her go uncontrollable (I'm guessing that you mean berzerk or panic... ) also prevent her from being involved in dialogue?

 

- D

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...