Dialogue Bug
ScribJellyDonut
Member Posts: 4
As i was writing this, I solved the issue. I am posting this for posterity, and perhaps in the hopes that Beamdog may resolve this issue otherwise without requiring extensive 3rd party tools. It is wild that his issue has not been raised before given the trigger which can be discerned below. The fix was to move the modified/corrected dialog.tlk file to the client PC. Here is the issue as described, again for posterity:
I am continuing to troubleshoot an issue with my save file but am hoping a guru here may be able to help expedite the issue. The issue that is happening is that a dialogue box is popping up that is blank, and continues to pop up and dismiss itself every few seconds - this is happening in a multiplayer session. There were no workarounds I could figure out in game, so I downloaded "Near Infinity" and then downloaded the "Stutter debug tool." I figured out a few thing that are happening here:
I am currently in ToB, and am talking to an NPC who raises my reputation by +1. Once this happens, if my CHARNAME goes near Minsc (shown in the code below by >See(Player1), then the glitch will begin to happen. If I tell the NPC that I expect a reward, thus not raising my reputation, then the glitch does not happen whatsoever. This, combined with troubleshooting without the second player in the server, which shows MINSC.BCS being called ad nauseam, has led me to a specific block of code in MINSC.BCS, which is as follows:
IF
InParty(Myself)
ReputationGT(Player1,18)
Global("MinscGoodRep3","LOCALS",0)
CombatCounter(0)
See(Player1)
THEN
RESPONSE #100
DisplayStringHead(Myself,118769) // Running block 18 of MINSC.BCS
StartDialogueNoSet(Player1)
END
So what seems to be occurring is that by raising my reputation, I am invoking this block of code which calls the command >DisplayStringHead(Myself, 118769)
I first went to the dialog.tlk file and in the Strref 118769 I deselected the following Flags
- Has text
- Has sound
- Has token
That seemed to work to stop the invoking of MINSC.BCS, and with my second player not connected everything seemed fine. However, upon my second player connecting, I noticed that the pop ups were still happening. So I went to the MINSC.BCS file and just remove the entire block of code shown above. However, the issue was still occurring.
-> It was at this point that I realized the issue probably resided with the client PC not having the modified dialog.tlk file (or MINSC.BCS file since both modified files would presumably halt the behavior). Since MINSC.BCS was an override file, I gave the dialog.tlk to the client PC and this has resolve the issue.
I am continuing to troubleshoot an issue with my save file but am hoping a guru here may be able to help expedite the issue. The issue that is happening is that a dialogue box is popping up that is blank, and continues to pop up and dismiss itself every few seconds - this is happening in a multiplayer session. There were no workarounds I could figure out in game, so I downloaded "Near Infinity" and then downloaded the "Stutter debug tool." I figured out a few thing that are happening here:
I am currently in ToB, and am talking to an NPC who raises my reputation by +1. Once this happens, if my CHARNAME goes near Minsc (shown in the code below by >See(Player1), then the glitch will begin to happen. If I tell the NPC that I expect a reward, thus not raising my reputation, then the glitch does not happen whatsoever. This, combined with troubleshooting without the second player in the server, which shows MINSC.BCS being called ad nauseam, has led me to a specific block of code in MINSC.BCS, which is as follows:
IF
InParty(Myself)
ReputationGT(Player1,18)
Global("MinscGoodRep3","LOCALS",0)
CombatCounter(0)
See(Player1)
THEN
RESPONSE #100
DisplayStringHead(Myself,118769) // Running block 18 of MINSC.BCS
StartDialogueNoSet(Player1)
END
So what seems to be occurring is that by raising my reputation, I am invoking this block of code which calls the command >DisplayStringHead(Myself, 118769)
I first went to the dialog.tlk file and in the Strref 118769 I deselected the following Flags
- Has text
- Has sound
- Has token
That seemed to work to stop the invoking of MINSC.BCS, and with my second player not connected everything seemed fine. However, upon my second player connecting, I noticed that the pop ups were still happening. So I went to the MINSC.BCS file and just remove the entire block of code shown above. However, the issue was still occurring.
-> It was at this point that I realized the issue probably resided with the client PC not having the modified dialog.tlk file (or MINSC.BCS file since both modified files would presumably halt the behavior). Since MINSC.BCS was an override file, I gave the dialog.tlk to the client PC and this has resolve the issue.
0
Comments
In order to completely resolve this issue I did two things. I overwrote the dialog.tlk file and the MINSC.BCS file for BOTH the client and server. Note that the MINSC.BCS file must be placed in an "override" folder within the Baldur's Gate II Enhanced Edition root folder (usually somewhere like "C:\Program Files (x86)\Steam\steamapps\common\Baldur's Gate II Enhanced Edition\override"
I'm not 100% sure that one would need to replace the dialog.tlk file IF they have overridden the MINSC.BCS file, since the MINSC.BCS file has the entire case statement for calling the dialog.tlk file in the first place. I just overwrote both to be sure I nipped it in the bud.
This issue has been plaguing my game save since even before ToB, and I have previously found in game methods (i.e. not talking to NPCs that were causing the issue, that I'm now realizing would only have raised my reputation to trigger the bug) to work around it before. Note that if you're using "Near Infinity" you need to compile before export, otherwise exporting will export without your changes! I'm a bit done troubleshooting and ready to move on and finish ToB with my friend.
@beamdog_ed FIX THIS ISSUE PLEASE!
Edit: Though, Minsc's script is also supposed to be switched to MINS25.BCS when he enters ToB, so I have no idea why he still has his SoA script in your game.
And that's fundamentally very strange, since both of those changes are made through reference to the same row of PDIALOG.2DA.
This is a bizarre glitch. The proper quick fix isn't to change what MINSC.BCS does; it's to change Minsc's override script to MINS25.BCS in the save. And unless you can find some way to consistently reproduce it, there's no good way to fix it in general.
As for cause, I see very little that could cause this issue other than a bug in the code. I'm on the Vanilla game, use zero mods, and up until this incident have never used a save editor simply because I had no need to do so.