Jump to content

Yeslick v. Kagain; Yeslick keeps on starting chats


Guest Petrushka

Recommended Posts

Guest Petrushka

OK, this problem I'm pretty sure *is* related to BG1NPC. While on the werewolf island, shortly before leaving, Yeslick and Kagain finally had their hostile banter that starts with Yeslick saying, "Ye're greedy, faithless an' respect nothin' ...", which I presume is the last one before they start fighting (which I've been looking forward to for a long time!)

 

However, after that banter Yeslick keeps on starting a conversation every round or so, as though the PC had started a conversation with him using the "Player-Initiated Dialogues" component (which is installed).

 

My Weidu.log is given in this thread.

 

After some effort I succeeded in saving the game. I opened it up in ShadowKeeper, and here are the variables that look as though they might be relevant:

 

Kagain affects (full list):

Type             Name        Param 1   Param 2
0x00B0                       -3        0       // this is the BG1 walking speed affect, I believe
Local Variable   X#KAEL1     1         0
Local Variable   X#KACO1     1         0
Local Variable   KICKEDOUT   1         0
Local Variable   X#KASH1     1         0
Local Variable   X#KASA1     1         0
Local Variable   X#KABR1     1         0

Yeslick affects (full list):

Type             Name      Param 1   Param 2
0x00B0                       -3        0       // this is the BG1 walking speed affect, I believe
Hold Creature                1         2
Hold Creature                1         2
Hold Creature                1         2
Hold Creature                1         2
Local Variable   X#YEMO1     1         0
Local Variable   X#YEEL1     1         0
Local Variable   X#YECO1     1         0
Local Variable   KICKEDOUT   0         0
Local Variable   X#YEPC1     3         0
Local Variable   X#YEPC2     3         0
Local Variable   X#YESH1     1         0
Local Variable   X#YEPC5     3         0
Local Variable   X#YEQU1     1         0

Global variables that look like they could be relevant:

X#YECHDONE         1
X#YEKA1            1
X#YEKA2            1
X#YEKA3            1
X#YEKA4            1
X#YESLICKLITURGY   2
X#YESLICKREP       3
YESLICK            5019766

Obviously a sub-optimal situation, as I can't continue the game with Yeslick in the party. Bummer :-(

Link to comment
Guest Petrushka

I've been taking a look through _yeslick.bcs, and though I don't understand a great deal of what's there -- I've never done any scripting, and don't follow it very well -- my (doubtless faulty) interpretation is that X#YEKA4 is supposed to trigger a dialogue that starts Yeslick's attack on Kagain. But I can't find the dialogue state in _yeslij.dlg that should do that.

 

Instead, the dialogue I'm getting every time is state 113 ("The sturdy dwarf walks purposely onward, armoured and dignified. ...") every time. Which of course, has no effect, so Yeslick starts the same dialogue a second or two later. Repeatedly!

Link to comment

It looks like the dialogue is missing from J file (was left on the B file), or the installation order was incorrect, so it damped the PIDs over the scripted talks. Try uninstalling the PID component; if the banter occurs normally, the install order is to blame. If it doesn't, and yeslick stutters instead, well, the dialogue was left out of J. To shut the problem down temporarely, set X#YEKA4 to 5 or something like that.

Link to comment
Guest Petrushka

Many thanks for the advice. I tried uninstalling the PID component and reloaded the same game: instead of starting dialogues Yeslick simply makes his "You need something?" noise over and over again, interrupting any commands. I'm guessing that would qualify as stuttering.

 

I tried doing a complete reinstall in case there was something awry with the order in which I'd installed mods, and put BG2Tweak last this time as recommended in the other thread; but the same problem recurs. (Though now when I reload from an earlier save the Yeslick-Kagain banter isn't coming up -- I guess the re-install reset some timer somehow.)

 

I'll try also completely reinstalling BG1NPC without the PID component, and let you know what happens.

Link to comment
Guest Petrushka
I'll try also completely reinstalling BG1NPC without the PID component, and let you know what happens.

 

Nope. Problem still there. I'll take your advice about adjusting the variable, anyway. Thanks again.

Link to comment

I'll take a look - that probably means that the Yeslik/Kagain fight has the reply mapped to the opposing file, so where it should read %YESLICK_JOINED% it reads %YESLICK_BANTER% or possibly %KAGAIN_BANTER% :worship: ). No ETA (swamped) but I will try to get you a fix as soon as I can - until then, setting the variable as Domi suggested should handle it (because the correct dialog is trying to set X#YEKA4 = something esle).

 

At the very least, it will tell you if that diagnosis is correct, or if there is something else causing the stutter.

Link to comment
Guest Petrushka
I'll take a look - that probably means that the Yeslik/Kagain fight has the reply mapped to the opposing file, so where it should read %YESLICK_JOINED% it reads %YESLICK_BANTER% or possibly %KAGAIN_BANTER% :worship: ). No ETA (swamped) but I will try to get you a fix as soon as I can - until then, setting the variable as Domi suggested should handle it (because the correct dialog is trying to set X#YEKA4 = something esle).

 

At the very least, it will tell you if that diagnosis is correct, or if there is something else causing the stutter.

No rush!! I'm more than happy exploring the Sword Coast with my uppity band of NPCs.

 

Setting X#YEKA4 = 5 removes the stutter.

 

One thing -- Domi mentioned a B file for Yeslick's dialogue, other than the J file I was poking around in. In case it matters, I don't see a B file in Near Infinity.

Link to comment

OK - let's check this.

searching for X#YEKA4

[F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\bg1npc_docs\bg1npcvarindex.htm]

Line 19266 : <td>X#YEKA4</td>

Line 19273 : <td>X#YEKA4</td>

[F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase1\baf\x#yesli1.baf]

Line 212 : Global("X#YEKA4","GLOBAL",0)

Line 221 : SetGlobal("X#YEKA4","GLOBAL",1)

Line 227 : Global("X#YEKA4","GLOBAL",1)

[F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase1\dlg\x#yeslick.d]

Line 261 : CHAIN IF WEIGHT #-2 ~Global("X#YEKA4","GLOBAL",1)~ THEN ~%YESLICK_BANTER%~ YEKA4starts

Line 263 : DO ~SetGlobal("X#YEKA4","GLOBAL",2)~

 

and that leads us to the problem right away - changing Line 261 of file \bg1npc\phase1\dlg\x#yeslick.d from

 

%YESLICK_BANTER%

 

to

 

%YESLICK_JOINED%

 

 

rechecking -

 

/* Setup for Kagain/Yeslick */
IF %BGT_VAR%
InParty("kagain")
Global("X#YEKA3","GLOBAL",1)
Global("X#YEKA4","GLOBAL",0)
InParty(Myself)
CombatCounter(0)
!See([ENEMY])
RealGlobalTimerExpired("X#DreamTalk","GLOBAL")
!StateCheck(Myself,CD_STATE_NOTVALID)
!StateCheck("kagain",CD_STATE_NOTVALID)
THEN
RESPONSE #100
SetGlobal("X#YEKA4","GLOBAL",1)
RealSetGlobalTimer("X#DreamTalk","GLOBAL",180)
END

IF %BGT_VAR%
InParty("kagain")
Global("X#YEKA4","GLOBAL",1)
InParty(Myself)
CombatCounter(0)
!See([ENEMY])
!StateCheck(Myself,CD_STATE_NOTVALID)
!StateCheck("kagain",CD_STATE_NOTVALID)
THEN
RESPONSE #100
PlaySong(0)
PlaySound("yesli99")
StartDialogueNoSet(Player1)
END

yep, supposed to be on the J file.

 

 

A check of the rest of the sequence shows everything else mapped correctly -

and I will go back and recheck the .baf vs .d for SDNS() or Interact() assignements.

 

Thanks for reporting it :worship:

Link to comment

Archived

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

×
×
  • Create New...