Jump to content


Photo

Kivan dialogue looping


  • Please log in to reply
32 replies to this topic

#21 Sir BillyBob

Sir BillyBob
  • Modder
  • 5315 posts

Posted 14 April 2006 - 06:37 AM

I am not sure why are you seeing this. BG1NPC only updates the first dialog. This is done in X#JFIX.D (which is probably why you couldn't find it). The code is:

REPLACE_STATE_TRIGGER KIVANJ 0
~Global("X#JClean","GLOBAL",1)~ 1

Therefore, this only updates the first dialog. As you pointed out, it is to keep him from leaving you if a dialog kicks in and he isn't happy with your reputation. BG1NPC fixes this problem with several of the NPCs since their Unhappy dialog is one of the first in the list of dialogs to say.

I will look around to see if this edit is in another D file but I don't think so. So the second and later dialogs should "not" be modified by BG1NPC with this condition.

Tired of Bhaal? Try some classics mods instead:
Classic Adventures
Official Classic Adventures Website


#22 Waverley

Waverley
  • Member
  • 38 posts

Posted 14 April 2006 - 07:12 AM

Hi

No trace of "FindBandits"

I'm probably barking up the wrong tree (again) but is this (Thauron's post)

GlobalLT("Chapter","GLOBAL",5)

a check for being in chapter 5?

Because at the time of the error, I hadn't yet done Nashkel Mines..

Regards

#23 Sir BillyBob

Sir BillyBob
  • Modder
  • 5315 posts

Posted 14 April 2006 - 07:14 AM

It is actually checking to see if you are in a chapter LESS THAN Chapter 5.

Tired of Bhaal? Try some classics mods instead:
Classic Adventures
Official Classic Adventures Website


#24 -musekissing-

-musekissing-
  • Guest

Posted 14 April 2006 - 07:29 AM

Yep, me also has no FINDBANDIT global. Must be something else ...

#25 Thauron

Thauron
  • Member
  • 216 posts

Posted 14 April 2006 - 07:50 AM

Yep, me also has no FINDBANDIT global. Must be something else ...


Actually, the fact that FindBandit is missing confirms my suspicion, it doesn't contradict it.

I am not sure why are you seeing this. BG1NPC only updates the first dialog. This is done in X#JFIX.D (which is probably why you couldn't find it). The code is:

REPLACE_STATE_TRIGGER KIVANJ 0
~Global("X#JClean","GLOBAL",1)~ 1

Therefore, this only updates the first dialog. As you pointed out, it is to keep him from leaving you if a dialog kicks in and he isn't happy with your reputation. BG1NPC fixes this problem with several of the NPCs since their Unhappy dialog is one of the first in the list of dialogs to say.

I will look around to see if this edit is in another D file but I don't think so. So the second and later dialogs should "not" be modified by BG1NPC with this condition.


Ok, now I found the relevant code indeed, thanx.

Actually, if you have a look at the KIVANJ.DLG files both Musekissing and Waverley posted (or look at your own files - I just did a fresh install with only BD, BGT and BG1NPC and the trigger of the second state (actually 1, not 2 as I erroneously stated above - forgot the game starts counting from 0) is ~Global("X#JClean","GLOBAL",1)~.

I may be wrong but...

REPLACE_STATE_TRIGGER KIVANJ 0
~Global("X#JClean","GLOBAL",1)~ 1

...what is that 1 doing over there?

EDIT: Ok, did a fast check to be sure - I am no weidu ninja so... - uninstalled BG1NPC, removed the "1" and now only the correct state's (0) trigger gets replaced.

Edited by Thauron, 14 April 2006 - 07:54 AM.


#26 Thauron

Thauron
  • Member
  • 216 posts

Posted 14 April 2006 - 11:09 PM

Hi, I've got a question for someone more experienced with bugfixing.

Can I just open Waverley's and Musekissing's KIVANJ.DLG with DLTCEP, replace the incorrect trigger with the correct one, and send the files back to them? It would be the easiest way to test if I indeed did find the cause of their problem.
I believe I can, but I don't want to risk screwing things up for them.

#27 horred the plague

horred the plague

    Scourge of the Seven Seas

  • Modder
  • 1899 posts

Posted 15 April 2006 - 01:07 AM

Hi, I've got a question for someone more experienced with bugfixing.

Can I just open Waverley's and Musekissing's KIVANJ.DLG with DLTCEP, replace the incorrect trigger with the correct one, and send the files back to them? It would be the easiest way to test if I indeed did find the cause of their problem.
I believe I can, but I don't want to risk screwing things up for them.


You could; though a better way would be to edit KIVANJ.D, and use commandline to install it. That way you'll know the strref's are lined up

#28 Thauron

Thauron
  • Member
  • 216 posts

Posted 15 April 2006 - 04:03 AM

Ok, made a tiny weidu-patch which should deal with this problem.

Install as you install any other weidu mod.

Waverly and Musekissing, can you report if this little fix ends your problems?

EDIT: hehe, forgot to actually 'attach' the attachment :whistling: :doh:
Attached File  BG1NPC_KIVANJ_QuickPatch.zip   275.87K   202 downloads

Edited by Thauron, 15 April 2006 - 04:06 AM.


#29 Waverley

Waverley
  • Member
  • 38 posts

Posted 15 April 2006 - 05:37 AM

Hi Thauron

Your patch downloaded and tested - looks like its working fine :Bow: he's now talking sense.

Many thanks for your efforts - its great having the mods but even better that people such as yourself are prepared to put in the effort (despite misleading diagnostic info) to make them as reliable as possible.

This is an encouragemnt to continue to report problems - both for my own benefit and for the many other forum members.

Thanks again

#30 -musekissing-

-musekissing-
  • Guest

Posted 15 April 2006 - 09:13 AM

Thanks from my side, too. It now works just fine.

It is as Waverley said, thanks again.

#31 Thauron

Thauron
  • Member
  • 216 posts

Posted 15 April 2006 - 10:21 AM

No problem, glad I could help.

If I can do something to contribute to a wonderful mod like BG1NPC, I am more than happy to sacrifice some of my time fiddling around with it.

On a side note, the little patch above should work on every install, so if anyone encounters the same problem...
At least until SirBillyBob releases BG1NPC4BGTv113.

#32 Sir BillyBob

Sir BillyBob
  • Modder
  • 5315 posts

Posted 15 April 2006 - 06:18 PM

I have already added this to my package for the next update.

Tired of Bhaal? Try some classics mods instead:
Classic Adventures
Official Classic Adventures Website


#33 cmorgan

cmorgan
  • Modder
  • 2301 posts

Posted 08 August 2007 - 03:53 PM

Current code resolves this problem using Thauron's fix;

Current code also falses out Kivan's timer completely, as the mod component author figured Kivan would stick around for the duration to build the best attack he could on Tazok.

I know that so far noone else seems to be messing with this, but just in case someone decides to use Kivan's BG1 timers on a BP/BGT mod in the future, here is what we do, and a potential workaround if you want.

If someone in the future decides to add dialogue or other uses to Kivan's timer, the relevant code will be


bg1npctp2 line 653 - 658
/* removing Kivan's timer to leave party */
	COPY_EXISTING ~%tutu_var%KIVAN.bcs~ ~override~
	  DECOMPILE_BCS_TO_BAF
		REPLACE_TEXTUALLY ~GlobalTimerExpired("Kivan","GLOBAL")~ ~False()~
	  COMPILE_BAF_TO_BCS
	BUT_ONLY_IF_IT_CHANGES

and the relevant patching to remove the dialogue states, which interfere with Player-Initiated Dialogues, are cleared by

BG1NPC\core\dlg\x#jfix_bgt.d
REPLACE_STATE_TRIGGER KIVANJ 0 ~Global("X#JCleanKivan","GLOBAL",1)~ // disabling bandits timer expired talk

To reactivate the dialogue, I suggest including the following patch in your mod:

/* removing Kivan's timer to leave party */
	COPY_EXISTING ~KIVAN.bcs~ ~override~
	  DECOMPILE_BCS_TO_BAF
		REPLACE_TEXTUALLY ~GlobalTimerExpired("Kivan","GLOBAL")~ ~False()~
	  COMPILE_BAF_TO_BCS
	BUT_ONLY_IF_IT_CHANGES
   
   /* adding new timer to Kivan for myMod */

   EXTEND_BOTTOM ~KIVAN.bcs~ myMod/baf/kivantimer.baf

/* contents are regular Kivan block for initiating , but add
 * SetGlobal("X#JCleanKivan","GLOBAL",1)
 *
 * This will protect other mod's use of Player initiated Dialogues, 
 * keep BG1 NPC compatible for BP modders,
 * and provide you a branch path to set up exactly the conditions you want to attain. 
*/

Edited by cmorgan, 08 August 2007 - 03:58 PM.