Jump to content

Preventing Kick-Out Dialogue?


Wounded_Lion

Recommended Posts

Don't know why I didn't think of thie earlier. What I made to prevent the kick-out dialogue if the NPC leaves the party out of his own motivation: I made a script block that triggers "LeaveParty", and put the dialogue that follows into the P.dlg. You could use that, too:

PC does something weird (or, in your case consideres doing something weird,

Aerie leaves the party, "kick-out" dialogue triggeres where Aerie makes a comment, PC has two answer options: making the tough decision in a way that Aerie goes away for the PC to follow her, or not deciding in a way that she will stay (there would be a "JoinParty" for Aerie required, and she would be back in line.)

There is a interruption in the dialogues, of course, and Aerie would be suddenly out of the party, which, depending on how the Aerie romance is coded, might not be such a good idea...

 

Well, it sounded good when I started to type this. Maybe it's useful. :)

Link to comment

@ Wounded Lion

There's DPLAYER2.bcs script, it's assigned to NPC's as their DEFAULT script when they join the party. The first block in the script determines their standard behavior when they are kicked out:

IF

!InParty(Myself)

HPGT(Myself,0)

THEN

RESPONSE # 100

SetLeavePartyDialogFile()

Dialogue(Player1)

ChangeAIScript("",DEFAULT)

END

 

So to prevent a party member from initiating the kick-out dialogue and make them do something else instead, you can add a block to their OVERRIDE script (in case of Aerie it's AERIE.bcs), sort of

IF

!InParty(Myself)

HPGT(Myself,0)

// you may want to add other triggers here, to meet certain conditions

THEN

RESPONSE # 100

ChangeAIScript("",DEFAULT)

SetLeavePartyDialogFile()

SetGlobal("KickedOut","LOCALS",1) // check AERIEP.dlg to see why you need it

.... // other actions to perform

END

Link to comment

There's an error in my previous post, one trigger is missing, sorry

So the added block should actually be

 

IF

!InParty(Myself)

HPGT(Myself,0)

Global("KickedOut","LOCALS",0) // to make sure the block is only executed once

....

Link to comment

Archived

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

×
×
  • Create New...