Help fixing stutter bug on Yoshimo?
Aklis
Member Posts: 11
Could use a hand fixing the stutter bug. The block that seems to be causing the problem is the following:
Unfortunately I have no idea what to do with this. I'm using both IEP Extended Banters and the Yoshimo Friendship mod.
IF InParty(Myself) RealGlobalTimerExpired("I#YoshimoTalksPC2","GLOBAL") Global("PCYosh","LOCALS",2) See(Player1) !StateCheck(Player1,STATE_SLEEPING) CombatCounter(0) Global("BYoshimo5","LOCALS",0) THEN RESPONSE #100 DisplayStringHead(Myself,145914) // Running block 25 of YOSHIMO.BCS Interact(Player1) END
Unfortunately I have no idea what to do with this. I'm using both IEP Extended Banters and the Yoshimo Friendship mod.
0
Comments
Given the "Interact()" action, the relevant dialogue file here is the "banter" file BYOSHIM.DLG. Look at the conversation you're actually getting, and try to figure out which conversation you should be getting. What are those dialogues' conditions? What's the state of the variables involved, and how did you get there?
Checking a vanilla version of the file ... actually, it looks like the conversation you're supposed to get from this script block is a vanilla one, starting with "I have pondered what you said about Bhaal." Except that the scripting to activate it doesn't exist in vanilla so it's inaccessible; it looks like "IEP Extended Banters" enabled a bit of cut dialogue here. At least, that's what I'm guessing from context and the variable starting with I#.
To debug this one properly, you need to also look at the other half of this - the conversation you're actually getting when Yoshimo turns to talk to you. Which, so far, you have said absolutely nothing about.
EDIT: I tried triggering the Yoshimo-Aerie conversation before the CHARNAME-Yoshimo conversation could trigger, and then waited, but I get the same end result.
Right, that's a mod-added conversation; not in the original at all. But it does seem to be ruling itself out of repeating, so it's not too badly behaved. Looks like the issue is mainly about the conversation that should be tied to the block. Time to look at the variables being tested for.
Two of them ("PCYosh" and "BYoshimo5") have the same conditions in the script and dialogue triggers. I don't think they're the problem. That leaves the two global variables.
First, there's the timer in the script trigger, "I#YoshimoTalksPC2". From the immediate triggering after the previous conversation about Candlekeep and Gorion, this wasn't set properly. The previous conversation should set it; the vanilla version has a "SetGlobalTimer("YoshimoTalksPC2","GLOBAL",TEN_DAYS)" action, and the mod should presumably set the new timer instead, now that the dialogue that follows is accessible.
Second, there's the global tracking variable "I#Yoshimo_BY5". It should be 2 for this conversation to start. I suspect it isn't, in your case. And me looking at the vanilla version of the dialogue definitely won't help.
My best guess is that it's supposed to be set by the previous conversation, but that didn't happen.
The blocks immediately after the first block are as follows:
I'm not sure if I'm understanding it correctly, but what I'm getting is that once "I#Yoshimo_BY5" equals 1 and the "YoshimoTalksPC3" timer expires, "I#Yoshimo_BY5" should automatically set to 2 (among other things). And as you suspected, looking at the Global Variables in EEKeeper confirms that it is 1. Setting it to 2 in EEKeeper (and with the console) triggers the conversation straight away once I load the game.
Now, looking at BYOSHIM.D, I found this:
In other words, the conversation preceding the one about pondering Bhaal sets "I#Yoshimo_BY5" to 1 and presumably sets a timer for twelve real hours.
If my suspicions are correct, the stutter would fix itself after twelve real hours, as that would set "I#Yoshimo_BY5" to 2 alongside the other stuff.
I just entered and right as rain it triggers on its own. I would assume the problem would disappear if the conversation was set to trigger on the expiration of "YoshimoTalksPC3" rather than "I#YoshimoTalksPC2".
All this because the mod developer set the timer for twelve real hours.
One real hour is a perfectly normal timer for these sorts of talks; the romances all use that or something close to it.
And yes, switching that one block to check for "YoshimoTalksPC3" instead of "I#YoshimoTalksPC2" would fix the issue.
It's possible that the underlying issue is a cross-mod incompatibility; it looks like the Yoshimo friendship mod starts up the friendship talks after this one, and I could easily see both that and the "Extended Banters" trying to restore the cut talk and getting in each other's way with different control variables.
Thanks again for the help.