Wounded_Lion Posted October 31, 2006 Share Posted October 31, 2006 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
berelinde Posted November 1, 2006 Share Posted November 1, 2006 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
berelinde Posted November 1, 2006 Share Posted November 1, 2006 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
berelinde Posted November 1, 2006 Share Posted November 1, 2006 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
Wounded_Lion Posted November 1, 2006 Author Share Posted November 1, 2006 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
Wounded_Lion Posted November 1, 2006 Author Share Posted November 1, 2006 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
berelinde Posted November 1, 2006 Share Posted November 1, 2006 Jaheira's always leaving the party for one reason or another. How does she manage it? Link to comment
Wounded_Lion Posted November 1, 2006 Author Share Posted November 1, 2006 Jaheira's always leaving the party for one reason or another. How does she manage it? Hmm... I don't know. I'll investigate. - D Link to comment
berelinde Posted November 1, 2006 Share Posted November 1, 2006 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
Wounded_Lion Posted November 1, 2006 Author Share Posted November 1, 2006 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
BigRob Posted November 2, 2006 Share Posted November 2, 2006 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. Link to comment
jastey Posted November 2, 2006 Share Posted November 2, 2006 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
Wounded_Lion Posted November 2, 2006 Author Share Posted November 2, 2006 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
Wounded_Lion Posted November 2, 2006 Author Share Posted November 2, 2006 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
BigRob Posted November 3, 2006 Share Posted November 3, 2006 One would have to force-talk her, I think... I'm not sure offhand if going uncontrollable (as having a purple ring as seen in certain instances, like when Anomen goes nuts on Aerie) prevents any dialogue from firing. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.