Author Topic: Avoiding the "Do you want me to rejoin speech"  (Read 1331 times)

Offline Diana

  • Neophyte
  • Planewalker
  • *****
  • Posts: 251
  • Gender: Female
Avoiding the "Do you want me to rejoin speech"
« on: June 22, 2005, 06:53:27 PM »
NPC leaves the group.  I've coded it like many of the others (Keldorn, Jaheira) with these lines of code:

SetLeavePartyDialogueFile()
LeaveParty()
EscapeArea()~ EXIT

These all work perfectly well.  However, when my NPC comes back and initiates dialog the normal kickout speech about re-joining kicks in no matter what I try, even with State Weights.  I set variables in the baf/bcs as well as his non j.d file (when he first talks to the party) but no joy  - the standard rejoin stuff kicks in though I don't point to the p.d or the j.d files.

I've looked at Kelsey since he has a lot of stuff I am trying to emulate - but Kelsey has both SOA and TOB.  Can we narrow it down a little as to where I should start looking and analyzing? SOA or TOB?  Pretty please.

Thanks!

Offline Ghreyfain

  • Moderator
  • Planewalker
  • *****
  • Posts: 4705
  • Gender: Male
    • Pocket Plane Group
Re: Avoiding the "Do you want me to rejoin speech"
« Reply #1 on: June 22, 2005, 11:41:01 PM »
Are you saying your NPC gives the dialogue that a multi-player created PC would say when kicked out?  If so, turn off the flag "Export Allowed" in the .cre file.  If not, post your code.

Also, you don't need to use SetLeavePartyDialogueFile().  This is handled automatically by pdialog.2da.
Earn Money Sleeping.

Offline jcompton

  • Niche Exploiter
  • Administrator
  • Planewalker
  • *****
  • Posts: 7244
Re: Avoiding the "Do you want me to rejoin speech"
« Reply #2 on: June 23, 2005, 12:37:22 AM »
If you want some sort of special condition to be taking place for a re-join conversation later, set some special variable and then weight to the absolute top a check on that variable that would be the new talk. (Be sure you un-set that variable if they rejoin, otherwise that talk would continue to show up any time they tried to kick that character out again.)
Cespenar says, "Kelsey and friends be at the Pocket Plane? Ohhh yesssss!" http://www.pocketplane.net

Offline Diana

  • Neophyte
  • Planewalker
  • *****
  • Posts: 251
  • Gender: Female
Re: Avoiding the "Do you want me to rejoin speech"
« Reply #3 on: June 23, 2005, 04:54:09 AM »
Since I'm not the creator of this mod I'm trying to debug, I will check for that flag in the .cre file.  And I'll up the weight more from #-1 to #-99 and give it a shot.  If that fails, I'll post the code later.  Have to go to work now.  Thanks guys.

Offline jcompton

  • Niche Exploiter
  • Administrator
  • Planewalker
  • *****
  • Posts: 7244
Re: Avoiding the "Do you want me to rejoin speech"
« Reply #4 on: June 23, 2005, 08:21:33 AM »
Hang on, I don't understand this bit:

Quote
as well as his non j.d file (when he first talks to the party) but no joy  - the standard rejoin stuff kicks in though I don't point to the p.d or the j.d files.

...where, precisely, are you putting this new state of dialogue? It would belong in the P DLG.
Cespenar says, "Kelsey and friends be at the Pocket Plane? Ohhh yesssss!" http://www.pocketplane.net

Offline Diana

  • Neophyte
  • Planewalker
  • *****
  • Posts: 251
  • Gender: Female
Re: Avoiding the "Do you want me to rejoin speech"
« Reply #5 on: June 23, 2005, 10:29:10 AM »
Quote
...where, precisely, are you putting this new state of dialogue? It would belong in the P DLG
I put it in the pre-joining file, not the xxxxj.dlg or the xxxxp.dlg.  I followed Bioware's example where they had put Keldorn's "hello, how are you stuff" in his Keldorn.dlg (or Keldor.dlg I forget which) if you didn't pick him up for the Eyeless quest and wanted him to join the party when he was in the Radient Heart.

My triggers are being met in the the script because I have DisplayStringWait checks to see what is happening.  I wonder if I can force it to stop doing the kickout/rejoin with a SetGlobal("NPCJoined","LOCALS",1) in the script prior to the Dialog(Player1) action.  Inelegant, but it may work.

Offline Kismet

  • Devil's Minion #5
  • Global Moderator
  • Planewalker
  • *****
  • Posts: 653
  • Gender: Female
  • Veni; Vidi; Velcro.
    • Pocket Plane Group
Re: Avoiding the "Do you want me to rejoin speech"
« Reply #6 on: June 23, 2005, 10:52:27 AM »
Quote
...where, precisely, are you putting this new state of dialogue? It would belong in the P DLG
I put it in the pre-joining file, not the xxxxj.dlg or the xxxxp.dlg.  I followed Bioware's example where they had put Keldorn's "hello, how are you stuff" in his Keldorn.dlg (or Keldor.dlg I forget which) if you didn't pick him up for the Eyeless quest and wanted him to join the party when he was in the Radient Heart.

My triggers are being met in the the script because I have DisplayStringWait checks to see what is happening.  I wonder if I can force it to stop doing the kickout/rejoin with a SetGlobal("NPCJoined","LOCALS",1) in the script prior to the Dialog(Player1) action.  Inelegant, but it may work.

Joinable NPC dialog files without any prefix or suffix are for dialog when the NPC has never been in the party.  Even though you've spoken to Keldorn before, he'd still be using his keldor.dlg file since he had never been in the party.  Once the NPC has been in the party and then gets kicked out the xxxP.dlg file gets assigned so any re-joining dialog should be put there.

Ghrey did a helpful tutorial on what the various dialog files do:  http://forums.pocketplane.net/index.php?topic=53.0
« Last Edit: June 23, 2005, 10:54:19 AM by Kismet »
Cailean - An archer NPC for the insatiably nosy!  Guaranteed more fun than shampooing cats!

Offline Diana

  • Neophyte
  • Planewalker
  • *****
  • Posts: 251
  • Gender: Female
Re: Avoiding the "Do you want me to rejoin speech"
« Reply #7 on: June 23, 2005, 11:02:13 AM »
Quote
Once the NPC has been in the party and then gets kicked out the xxxP.dlg file gets assigned so any re-joining dialog should be put there
I guess that will also apply if they leave on their own initiative.  I will stick it in the xxxxp.dlg and see what happens.  Essentially what I am trying to do is have the NPC initiate dialogue with Player1 to explain why he left in the first place.

I tried to find where Bioware had put Jaheira's coding when she returns after leaving to follow Meronia.  I looked in every darn file associated with her and couldn't find it.

Offline jcompton

  • Niche Exploiter
  • Administrator
  • Planewalker
  • *****
  • Posts: 7244
Re: Avoiding the "Do you want me to rejoin speech"
« Reply #8 on: June 23, 2005, 11:36:55 AM »
Yes, the _only time_ the pre-joining DLG file applies is... well, as the name implies, before the NPC has ever joined the party. Short of screwing around with SetDialog commands, which is inadvisable and unnecessary thanks to the way BG2 manages multiple DLG files for you, any dialogue you want the NPC to have _after_ they have ever joined the party and while they are _not_ in the party goes in P.
Cespenar says, "Kelsey and friends be at the Pocket Plane? Ohhh yesssss!" http://www.pocketplane.net

Offline Diana

  • Neophyte
  • Planewalker
  • *****
  • Posts: 251
  • Gender: Female
Re: Avoiding the "Do you want me to rejoin speech"
« Reply #9 on: June 23, 2005, 05:26:45 PM »
Kisses on both cheeks to the Iron Pirate, Evil Overlord and Kismet (and not the nether ones either)!
 :D
Twas the xxxxp.dlg file after all!  It works!

Thank you all!

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: