Kivan dialogue looping
#21
Posted 14 April 2006 - 06:37 AM
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
Posted 14 April 2006 - 07:12 AM
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
Posted 14 April 2006 - 07:14 AM
Tired of Bhaal? Try some classics mods instead:
Classic Adventures
Official Classic Adventures Website
#24 -musekissing-
Posted 14 April 2006 - 07:29 AM
#25
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...
...what is that 1 doing over there?REPLACE_STATE_TRIGGER KIVANJ 0
~Global("X#JClean","GLOBAL",1)~ 1
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
Posted 14 April 2006 - 11:09 PM
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
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
Posted 15 April 2006 - 04:03 AM
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
BG1NPC_KIVANJ_QuickPatch.zip 275.87K 222 downloads
Edited by Thauron, 15 April 2006 - 04:06 AM.
#29
Posted 15 April 2006 - 05:37 AM
Your patch downloaded and tested - looks like its working fine 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-
Posted 15 April 2006 - 09:13 AM
It is as Waverley said, thanks again.
#31
Posted 15 April 2006 - 10:21 AM
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
Posted 15 April 2006 - 06:18 PM
Tired of Bhaal? Try some classics mods instead:
Classic Adventures
Official Classic Adventures Website
#33
Posted 08 August 2007 - 03:53 PM
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.