Jump to content


Photo

Kivan dialogue looping


  • Please log in to reply
32 replies to this topic

#1 Waverley

Waverley
  • Member
  • 38 posts

Posted 09 April 2006 - 06:27 AM

Hi all

This may be the wrong forum for this one - if so - apologies.

Am playing BG1 with BGT-Weidu and all the mods I could find which are BG1 specific and have been very happy so far as there have been no insoluble problems till now (and I'm on game day 53 already).

// Log of Currently Installed WeiDU Mods
// The top of the file is the 'oldest' mod
// ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name
~SETUP-BGT.TP2~ #0 #0 // Baldur's Gate Trilogy - Core
~SETUP-DSOTSC.TP2~ #0 #0 // DSotSC for BGT-Weidu v1.80 Mod
~SETUP-DSOTSC.TP2~ #0 #1 // Area .tis files. (Required)
~SETUP-NTOTSC.TP2~ #0 #0 // NTotSC for BGT-Weidu v1.40 Mod
~SETUP-NTOTSC.TP2~ #0 #1 // Now for the decompression of area .tis files.
~SETUP-BG1NPC.TP2~ #0 #0 // The BG1 NPC Project for BGT: Core Install
~SETUP-BG1NPC.TP2~ #0 #1 // The BG1 NPC Project for BGT-Weidu: Phase I (Banters)
~SETUP-BG1NPC.TP2~ #0 #2 // The BG1 NPC Project for BGT-Weidu: Phase II (Quests and Interjections)
~SETUP-BG1NPC.TP2~ #0 #3 // Jason Compton's Accelerated Banter Script.
~SETUP-BG1NPC.TP2~ #0 #6 // Give Edwin his BG2 portrait.
~SETUP-BG1NPC.TP2~ #0 #7 // Give Imoen her BG2 portrait.
~SETUP-BG1NPC.TP2~ #0 #8 // Give Jaheira her BG2 portrait.
~SETUP-BG1NPC.TP2~ #0 #9 // Give Minsc his BG2 portrait.
~SETUP-BG1NPC.TP2~ #0 #10 // Give Viconia her BG2 portrait.
~SETUP-BG1NPC.TP2~ #0 #14 // Non-joinable character portraits
~SETUP-BG1NPC.TP2~ #0 #15 // Coran's Romance Core (Rated: R)
~SETUP-BG1NPC.TP2~ #0 #16 // Placeholder 1: New Quests
~SETUP-BG1NPC.TP2~ #0 #17 // Dynaheir's Romance Core (Rated PG13)
~SETUP-BG1NPC.TP2~ #0 #18 // Shar-Teel Relationship Core (Rated R)
~SETUP-BG1NPC.TP2~ #0 #19 // Branwen's Romance Core (Rated PG13)
~SETUP-BG1NPC.TP2~ #0 #21 // Xan's Romance Core (Rated PG13)
~SETUP-BG1NPC.TP2~ #0 #22 // Ajantis Romance Core (Rated PG13)
~SETUP-BG1NPC.TP2~ #0 #23 // Female Romance Challenges
~SETUP-BG1NPC.TP2~ #0 #27 // Coran's Romance Speed -> Coran's Romance Speed (15 minutes)
~SETUP-BG1NPC.TP2~ #0 #31 // Dynaheir's Romance Speed -> Dynaheir's Romance Speed: 15 minutes
~SETUP-BG1NPC.TP2~ #0 #35 // Xan's Romance Speed -> Xan's Romance Speed: 15 minutes
~SETUP-BG1NPC.TP2~ #0 #39 // Shar-Teel's Romance Speed -> Shar-Teel's Relationship Speed: 15 minutes
~SETUP-BG1NPC.TP2~ #0 #43 // Branwen's Romance Speed -> Branwen's Romance Speed: 15 minutes
~SETUP-BG1NPC.TP2~ #0 #47 // Ajantis' Romance Speed -> Ajantis' Romance Speed: 15 minutes
~SETUP-BG1NPC.TP2~ #0 #100 // Install Player-Initiated Dialogues
~SETUP-BGTTWEAK.TP2~ #0 #0 // Eldoth reminds of Skie's ransom
~SETUP-BGTTWEAK.TP2~ #0 #3 // Tougher Sarevok and Semaj
~SETUP-BGTTWEAK.TP2~ #0 #4 // Major locations explored upon visit
~SETUP-BGTTWEAK.TP2~ #0 #5 // Druid/Ranger-responsive bears in BG1
~SETUP-BGTTWEAK.TP2~ #0 #6 // Happy patch: NPCs cannot choose to leave the party
~SETUP-BGTTWEAK.TP2~ #0 #7 // Import more items into Shadows of Amn (WARNING: This can be considered a cheat)
~SETUP-BGTTWEAK.TP2~ #0 #9 // Random activated traps in the pirate cave -> Game-time randomisation
~SETUP-BGTTWEAK.TP2~ #0 #10 // Bags of the Sword Coast
~SETUP-BGTTWEAK.TP2~ #0 #13 // Arkion reacts to player's reputation
~SETUP-BGTTWEAK.TP2~ #0 #14 // Coran responds to the death of a wyvern
~SETUP-BGTTWEAK.TP2~ #0 #15 // More bandit scalps
~SETUP-BGTTWEAK.TP2~ #0 #16 // Remove item shattering
~SETUP-BGTTWEAK.TP2~ #0 #17 // Hooded unarmoured mages and thieves (WARNING: Patches BGMain.exe)
~SETUP-TGC1E.TP2~ #0 #0 // The Grey Clan Episode One: In Candlelight, BGT-WeiDU edition v1.2
~SETUP-BONEHILL.TP2~ #0 #0 // Bone Hill Mod v2.01 (Requires BGT-Weidu or Tutu)
~SETUP-BONEHILL.TP2~ #0 #1 // Install the new areas?  This must be done at least once!
~SETUP-SIRINESCALL.TP2~ #0 #0 // The Lure of the Sirine's Call
~SETUP-SLIMEQUEST_JASTEY.TP2~ #0 #0 // Installation of jastey's mini-quest mod "fun with slime"
~SETUP-MULGOREXAVIANPC.TP2~ #0 #0 // Mulgore and Xavia NPCs for BGT-WeiDU
~MUR'NETH.TP2~ #0 #0 // The Mur'Neth NPC mod for Baldur's Gate Tutu or Baldur's Gate Trilogy-WeiDU
~MUR'NETH.TP2~ #0 #1 // Remove Rare selection sounds
~SETUP-INDINPC.TP2~ #0 #0 // Indira NPC for BGT-WeiDU
~BW_HERBS/SETUP-BW_HERBS.TP2~ #0 #0 // Herbs and Potions Add-in (BG1 / BG1Tutu / BGT) v1.0.1 by Baronius
~SETUP BP-BGT WORLDMAP.TP2~ #0 #0 // Revised worldmap for the Baldur's Gate - Big Picture compatibility mod including coloured Baldur's Gate map icons
~SETUP BP-BGT WORLDMAP.TP2~ #0 #2 // Use new worldmap for Throne of Bhaal as well

But now I have an irritating little bug - as the only solution I can see for myself is to remove Kivan from my party (I dont really want to do that yet) I am requesting assistance

I am now getting a dialogue from Kivan which starts "The same stoic expression is on Kivan's face. As usual, a curiosity arises within you to learn more of the hooded elf.".   This is followed by 8 possible responses - and to most of these, Kivan may give more than one answer . No matter which response I use, the same dialogue is re-initiated almost at once.  I've tried all the answers (sometimes after a few times through the loop, the number of potential answers reduces) but the dialogue won't go away. This has the effect of making Kivan unplayable.

I assume its a mod/install problem - any thoughts from out there would be received with thanks - especially if it bypasses the need to re-install and start again!




PS - not relevant to rest of post, not urgent, but nice to know - have I missed any BG1 stuff from my install list? - or any BG2 mods which also affect BG!?

#2 horred the plague

horred the plague

    Scourge of the Seven Seas

  • Modder
  • 1899 posts

Posted 10 April 2006 - 03:01 AM

Remove the Player-Initiated dialogs from your install, and see if the problem persists. I highly suspect this component as the root of your evil. After all, the dialog you mention comes from it. ;)

#3 Waverley

Waverley
  • Member
  • 38 posts

Posted 11 April 2006 - 03:25 AM

Remove the Player-Initiated dialogs from your install, and see if the problem persists. I highly suspect this component as the root of your evil. After all, the dialog you mention comes from it. ;)



Thanks, Horred - just had a chance to try this. No joy, though - now Kivan just stops moving after what looks like one second - I suspect he wants to speak but the text is no longer there.

Correct me if I'm wrong, but the Player-Initiated dialogues are the ones I request through my own player, if I wish to question my party members, are they not? So Kivan should only be responding with answers from this component, and not, as he is doing, using information from this component to start his own conversation?

I've got a very nasty feeling I have an install order/compatibility problem which has messed up my dialogue files - any thoughts on this?. At least its still fairly early in the game if I have to start again

#4 Thauron

Thauron
  • Member
  • 216 posts

Posted 11 April 2006 - 04:35 AM

This has been reported before, yet no solution was found. If you want to have a look at that thread: http://www.shsforums...=19668&hl=kivan

I've had a look at it, but couldn't find the source of the problem - the cause is a global which triggers a banter with Kivan, yet there is no talk with a matching global - causing the game to look for another talk - and finds the forcetalk if these are installed, or finds nothing at all if these are not installed and causes Kivan to 'stutter'.

What might help is if you could answer some of the following questions:
In which area does the problem occur? After which event? What was the last talk with Kivan you had before this problem (the same one as in the other thread?)? What is the value of the 'KiFriendTalk' and any 'KIPC?' globals when the problem occurs?
It might help us to locate the problem, for now I am unable to do so.

EDIT: oh, could you also have a look at the 'X#KivanSea' global - does it happen during the quest with the seasnake and the sahuagin?

Edited by Thauron, 11 April 2006 - 04:48 AM.


#5 Waverley

Waverley
  • Member
  • 38 posts

Posted 11 April 2006 - 06:03 AM

Hi - thanks for coming back, and for the other thread - should have dug deeper into the forum - sorry all.

I'm on the coast - a couple of maps north of the Gnoll castle where I have just talked to Safana - think I've killed some wolves and am on East side of map. The bug appears after travelling anywhere (16 hour journey or more), if attacked by bandits on a long journey, or if I sleep twice. I suspect it is time, not location, related.

Last quests completed were Gnoll Castle and rescue Dynaheir, return Brage to Nashkel and cave with archaelologist (Nib somebody and diggers)


I'm afraid I can't remember last talk with Kivan (found the problem a few days ago now)


Global "KIVANFRIENDTALK" is 11
KIPC8 is 1
KIPCTIMERSTARTED is 2

X#KIVANSEAGLOBAL is not set - haven't come across the seasnake quest yet


These values are the same before hitting the loop and while in it.

Looks like I'll have to leave him here for the moment and maybe pick him up later.

Thanks again for intereset and possible help.

#6 pro5

pro5
  • Modder
  • 722 posts

Posted 11 April 2006 - 06:33 AM

Hmm, it should be "KiFriendTalk" not "KivanFriendTalk".
What version of BG1NPC are you using?

#7 Waverley

Waverley
  • Member
  • 38 posts

Posted 11 April 2006 - 07:04 AM

Sorry - typo on my behalf - it is indeed KIFRIENDTALK - doesn't seem to be my day as I really don't want to make extra work for you guys - you do so much for us already

Readme says its version 11.1 - was downloaded about 10 days ago - can't be certain where from but I am pretty sure I got it from the link from Sir Billybob pinned at the top of this forum.

#8 Thauron

Thauron
  • Member
  • 216 posts

Posted 11 April 2006 - 09:47 AM

Have been browsing through BG1NPC-files, yet with no luck thus far. - It's a pest to search for a bug in files you have not written yourself, trust me.

The values of your globals troubles me though, it seems I can't figure out how it would be possible they are set as they are in your game.
What they mean: KiFriendTalk=11 means all general banters have occured - seems to be fine.
KIPC8=1: this one is troubling, as soon as this global is set to one, a dialogue should trigger (~'Quel undome, a'maelamin Deheriana. Good night, my beloved Deheriana.~ - did you have that one?), yet as soon as this talk triggers, KIPC8 should be set to 2. So: If this talk is not triggered correctly, it could explain the looping. (Global remains 1, thus keeps firing a dialogue, yet the wrong one, so the global is never set to 2)
- problem is that the previous poster who reported this problem said the looping talk occured after this talk + on first sight I can't really find anything wrong with the code of this dialogue.
KIPCTIMERSTARTED=2: I don't understand this at all, or I am overlooking a file. As far as I can see, this global should be either 0 or 1 - I can't find anything which might cause the global to be set to two.

Actually, Safana's area is the area in which the seasnake quest occurs - but as you said I don't think that has anything to do with it.

Could you check the values of the following timers, Waverley?
KiFriendlyTalkTime
KiFriendTalkTime
KI4BackupTimer
Oh yes, could you list all NPCs in your party? Might be important, though I don't think so.

Sorry, I couldn't find the solution yet. Hopefully SirBillyBob can have a look at this too - he knows these files better than I do. I will let them rest for now, but I will get back to them tomorrow, promised.

#9 Waverley

Waverley
  • Member
  • 38 posts

Posted 11 April 2006 - 10:52 AM

Hi Thauron - You're right - its not easy debugging other people's software - but its far more difficult when a half-witted idiot (me) can't copy 2 digits from Shadowkeeper into a post.

KIPC8 is 2
KIPCTIMERSTARTED is 1


KIFRIENDLYTALKTIME = 1307346
KIFRIENDTALKTIME = 1362396
KI4BACKUPTIMER = 1332566

Party is CHARNAME (male Priest/Mage)
KIVAN
MINSC
DYNAHEIR
SKEEZER LUMKIN
KAGAIN

The saved game I am taking this info is a few hours (more than 8) game time before the bug appears - I've just re-created the bug and saved within the loop - there is no change to content of above figures.

Thank you so much for the effort you are putting on this - I can only apologise again for being so clumsy in my previous post, as it must have wasted a lot of your time. Is there a "cutting my own throat" smiley?

#10 Thauron

Thauron
  • Member
  • 216 posts

Posted 11 April 2006 - 11:58 AM

You... you :wall: All my hard work... :new_bottom: :rtfm:

:lol:

Well, thanks for the update and for the free 'modding training session' ;)

Actually, this looks more like it - allthough Musekissing never posted his 'globals', they should be the exact same as yours are - so you are experiencing exactly the same problem at about the same time - must be something triggered after the KIPC8 dialogue...

Does that bring us closer to finding the cause of the problem, not really - but I suppose it is always easier to work on correct data than on wrong ones. :P Will look into it tomorrow.

#11 -musekissing-

-musekissing-
  • Guest

Posted 12 April 2006 - 04:38 AM

Hi again,

it seems very unfortunate (or fortunate?) that the same bug that occured in my game before,
is back, even after I did a clean install of the game.

Here are my globals:

KIFRIENDLYTALKTIME = 668748

KIFRIENDTALK = 11

KIFRIENDTALKTIME = 732304

KIPC8 = 2

KIPCTIMERSTARTED = 1

KIVAN = 3477116

no seasnake quest

It seems the area and the partymembers are not important.
In my first game they were completely different from my current game.
And this time the "Good night, my beloved ..." was not the latest banter.

There is a parallel between them, though.
In both games Kivan was in the party ca. 30 days (ingame time)
The looping appears only after this timespan is crossed.

I hope I can be of use with this facts.

#12 Thauron

Thauron
  • Member
  • 216 posts

Posted 12 April 2006 - 07:29 AM

This is becoming irritating - I can't find a single thing which looks somehow off.

Can you guys check the KiDrunk, KiBhaal and KiDance globals? They should either not exist or they should be set to 2, if any one of these is 1 we have found the cause of your problems.
If all of these are 0 or 2 I am seriously running out of options...

#13 -musekissing-

-musekissing-
  • Guest

Posted 12 April 2006 - 07:42 AM

Nope.
No KiDrunk, KiBhaal or KiDance.

I only have a KITOOLSTIME = 273525
and a KIJA2 = 1

#14 Thauron

Thauron
  • Member
  • 216 posts

Posted 12 April 2006 - 11:47 AM

As I feared - the code looked correct to me but I just wanted to be sure. I am seriously starting to wonder if I am not barking up the wrong tree - and it might not be a BG1NPC problem at all.

Could any of you post me your versions of the following files (they should be in your override, I think):
KIVAN.BCS
KIVAND.BCS
KIVANJ.DLG
BKIVAN.DLG

Edited by Thauron, 12 April 2006 - 11:49 AM.


#15 -musekissing-

-musekissing-
  • Guest

Posted 12 April 2006 - 11:56 AM

I have attached the requested files. I hope it helps.

Attached Files



#16 horred the plague

horred the plague

    Scourge of the Seven Seas

  • Modder
  • 1899 posts

Posted 12 April 2006 - 03:31 PM

I have attached the requested files. I hope it helps.


WARNING: If you don't have the exact same install condiguration, those DLG files will NOT WORK for you!!!

#17 Waverley

Waverley
  • Member
  • 38 posts

Posted 13 April 2006 - 06:30 AM

Here's all what I think are Kivan related values - hope I get them the right way round, this time


No KiDrunk, KiBhaal, KiDance

KI5Backuptimer 990236
Kivan 5582699
KivanAlive 1
KivanBass 2
KivanDrizzt 1
KivanKeldath 1
Kivannexlit 1
x#Kivanbardol1 1
x#kivanberrun1 1
x#kivangallor3 1
x#kivanminsc2 1

Can't see any more

Files attached as well - hope it works

Regards and very sincere thanks for your efforts

Attached Files



#18 -musekissing-

-musekissing-
  • Guest

Posted 13 April 2006 - 09:18 AM

Uh, forgot BKivan.dlg.

Attached Files



#19 Thauron

Thauron
  • Member
  • 216 posts

Posted 13 April 2006 - 11:59 PM

Thanks for the files, I hope I can find something with them.

WARNING: If you don't have the exact same install condiguration, those DLG files will NOT WORK for you!!!


They will work well enough - the problem seems to be caused by unmatching globals between one of Kivan's scripts and one of his dialogue files. - Even if all the StringRefs are wrong, I am still able to check if the globals match.

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


#20 Thauron

Thauron
  • Member
  • 216 posts

Posted 14 April 2006 - 02:54 AM

Ok, I think I finally found the cause of this bug.

It is indeed caused by BG1 NPC - it somehow overwriters the triggers of the second state in the KIVANJ.DLG file (where it should only overwrite the first).

Ok, the details; this is what happens according to me:

BGT adds the following blocks to Kivan's script:

IF
GlobalTimerExpired("Kivan","GLOBAL")
Global("FindBandits","GLOBAL",0)
GlobalLT("Chapter","GLOBAL",5)
InParty(Myself)
THEN
RESPONSE #100
StartDialogueNoSet(Player1)
END

IF
GlobalTimerExpired("Kivan","GLOBAL")
Global("FindBandits","GLOBAL",1)
GlobalLT("Chapter","GLOBAL",5)
InParty(Myself)
THEN
RESPONSE #100
StartDialogueNoSet(Player1)
END

Which causes Kivan to bug (forgive me the pun) the PC into hunting down his wife's killers (first block) and if they wait too long to leave the party (second block).

In KIVANJ.DLG BGT adds two corresponding blocks

STATE 1:

IF WEIGHT #0 ~GlobalTimerExpired("Kivan","GLOBAL")
Global("FindBandits","GLOBAL",0)
GlobalLT("Chapter","GLOBAL",5)
GlobalLT("ENDOFBG1","GLOBAL",2)~ THEN BEGIN 1
SAY @17225
IF ~~ THEN DO ~SetGlobalTimer("Kivan","GLOBAL",FIFTEEN_DAYS)
SetGlobal("FindBandits","GLOBAL",1)~ EXIT
END

STATE 2:
IF WEIGHT #1 ~GlobalTimerExpired("Kivan","GLOBAL")
Global("FindBandits","GLOBAL",1)
GlobalLT("Chapter","GLOBAL",5)
GlobalLT("ENDOFBG1","GLOBAL",2)~ THEN BEGIN 2
SAY @17226
IF ~~ THEN DO ~LeaveParty()
EscapeArea()~ EXIT
END


Now for some weird reason - BG1NPC replaces the triggers in state one and two of KIVANJ.DLG, (yet for now I can't find the .d file where it does so) resulting for state 1 in

IF
~Global("X#JCLEAN","GLOBAL",1)~
THEN BEGIN 1

SAY @17225
IF ~~ THEN DO ~SetGlobalTimer("Kivan","GLOBAL",FIFTEEN_DAYS)
SetGlobal("FindBandits","GLOBAL",1)~ EXIT
END


The global x#JCLEAN is the global that BG1NPC sets when the party's reputation drops to low - thus triggering NPC's leaving dialogue when talked to. - It has correctly replaced the triggers of the first state in KIVANJ.DLG - the 'I am angry, leaving and going to kill you dialogue' state, yet wrongly replaces the triggers of the second state of KIVANJ.DLG too, thus causing the game to search in vain for the appropriate dialog state when the "kivan" timer expires.

I hope I make some sense - but can Ascension and SirBillyBob have a look at this too?

Just to be sure - can Musekissing and Waverley check their game for the 'FindBandits' global - it shouldn't exist (be 0) - if it is set to one, I have made some mistake and will have to get back to this.

EDIT: Replaced 'state 2' with 'state 1' and 'state 3' with 'state 2' - I forgot the game starts counting from 0, thus the second state would actually be 1, not 2.

Edited by Thauron, 14 April 2006 - 10:20 AM.