Guest Petrushka Posted January 30, 2009 Share Posted January 30, 2009 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 Posted January 30, 2009 Share Posted January 30, 2009 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
Domi Posted January 30, 2009 Share Posted January 30, 2009 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 Posted January 30, 2009 Share Posted January 30, 2009 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 Posted January 30, 2009 Share Posted January 30, 2009 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
cmorgan Posted January 30, 2009 Share Posted January 30, 2009 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% ). 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 Posted January 30, 2009 Share Posted January 30, 2009 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% ). 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
cmorgan Posted January 31, 2009 Share Posted January 31, 2009 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 Link to comment
cmorgan Posted February 27, 2009 Share Posted February 27, 2009 Fixes confirmed, pre-release v17 Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.