Skip to content

Dialogue Bug

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.

Comments

  • ScribJellyDonutScribJellyDonut Member Posts: 4
    UPDATE:

    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!
  • BubbBubb Member Posts: 1,005
    edited July 2023
    The problem is that MINSCJ.DLG is expected to be Minsc's dialog when the block fires. In ToB his dialog gets switched to MINSC25J.DLG, which doesn't have the relevant dialog to react to the script. Since MINSCJ.DLG is responsible for setting MinscGoodRep3 the script gets stuck repeating.

    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.
    Post edited by Bubb on
  • jmerryjmerry Member Posts: 3,881
    And of course, Minsc's script in ToB is expected to be MINS25.BCS. Somehow, the dialogue switched and the script didn't when you transitioned from SoA to ToB.
    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.
  • ScribJellyDonutScribJellyDonut Member Posts: 4
    Interesting, I will give that a go. If it's supposed to be MINS25.BCS and it's using MINSC.BCS, I will only continue to have issues if I do nothing more.

    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.
  • ScribJellyDonutScribJellyDonut Member Posts: 4
    So I replaced MINSC.BCS with MINS25.BCS in the .gam file, but when loading that save the issue is that my CHARNAME doesn't have any dialogue in the "live" dialogue box anymore. The name shows up, but whatever is said is left out. Do either of you know why this might happen?
Sign In or Register to comment.