Jump to content


Photo

Jaheira's moonwalk/stutter walk


  • Please log in to reply
10 replies to this topic

#1 melik

melik
  • Member
  • 8 posts

Posted 28 February 2019 - 11:17 AM

Hi all.
I am having an issue with Jaheira; I finished the romance with Viconia and now replaced her with Jaheira.
Now every time I try to move she stops and faces the main character as if she was going to initiate dialogue with him. He also faces her, but at least after having moved.
I read somewhere that this can be caused by the romance mod?
Any help would be greatly appreciated.
Here is the savegame; it is BGT by the way

Attached Files



#2 jastey

jastey
  • Staff
  • 2593 posts

Posted 28 February 2019 - 11:26 AM

The savegame doesn't help much if the mod that's causing this isn't installed in the game of the one looking at it (unless someone knows what to look for and reads through the variables, but the chance of anyone identifying the stuttering like this at this stage is at 0.0001%).

What you can do:

1. install the Stutter Debug Tool

2. Start the savegame with teh stutter. Note down the mentioned script block numbers and script names in the text box.

3. Ideally, identify which one leads to Jaheira's stutter (should repeat often and always shortly before she stops).

4. Use Near Infinity to look up the relevant script(s) and copy&paste the script block(s) with the according number here.

5. After the stuttering script block is identified, deinstall the Stutter Debug Tool like a mod by re-running the stutterdebug.exe.

 

Unless someone has a good idea which mod causes this, these steps have to be done on your install and cannot be re-enacted somewhere else, unfortunately.



#3 melik

melik
  • Member
  • 8 posts

Posted 28 February 2019 - 11:43 AM

Thank you jastey will do this right now and post my results



#4 melik

melik
  • Member
  • 8 posts

Posted 28 February 2019 - 12:14 PM

OK I did that and the responsible block was: block 91 of Jaheira.BCS


First time using NI so I hope I got this right:
On the left looked up Jaheira.BCS in the BCS folder; then I scrolled down until I found Block 91 and this is what it says:

IF
    Global("PhaereInnuendo","GLOBAL",2)
    !Range("Phaere",6)  // Phaere
    Global("JaheiraMad2","LOCALS",0)
    OR(2)
        Global("JaheiraRomanceActive","GLOBAL",1)
        Global("JaheiraRomanceActive","GLOBAL",2)
THEN
    RESPONSE #100
        StartDialogNoSet([PC])
        ActionOverride(Player1,DisplayString(Myself,579927))  // Running block 91 of JAHEIRA.BCS
        ActionOverride(Player1,DisplayStringHead(Myself,579927))  // Running block 91 of JAHEIRA.BCS
END


Was this helpful?


Edited by melik, 28 February 2019 - 12:16 PM.


#5 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5143 posts

Posted 28 February 2019 - 12:48 PM

Was this helpful?

Yes... if you want it to stop, all you probably need to do is, use the console and use this code in the console:

CLUAConsole:SetGlobal("PhaereInnuendo","GLOBAL",4)

..which sets it to . EDIT: 4 . or something similar. That of course might not stop other things that influence the game from bugging Phaere, but those are less sevear.

PS, the BWS install will by default enable the use of the console with, so all you need to mostly do is to push the SPACE and CTRL -buttons together.

 

@jastey... why both: DisplayString & DisplayStringHead ? Wouldn't one be, generally enough ? Not that I oppose... as one is more than welcome to utilize your tool, or my LStest...


Edited by The Imp, 28 February 2019 - 01:43 PM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#6 jastey

jastey
  • Staff
  • 2593 posts

Posted 28 February 2019 - 01:21 PM

Was this helpful?

I think so. If I look up the according dialogue, I see additional checks that aren't in the script block but that prevent the dialogue to trigger (Global("Chapter","GLOBAL",5), for example). The game devs didn't consider anyone to change the love interest in Chapter 6, as it seems. (This might still be the case but the chapter check is not from the original game.)

I assume you are in chapter 6 or later?

Try setting "PhaereInnuendo" to either "0" or "4" (not to "3" as Jarno suggested, this also triggers a dialogue):

 

CLUAConsole:SetGlobal("PhaereInnuendo","GLOBAL",4)

 

This will stop the stutter, hopefully. If it does: Congratulations for handling the stutter debug like an expert! :new_thumbs: If not, we just need to keep looking .

 

Jarno: Please do not suggest variable cheats if you didn't check whether they do good or harm. But thank you for the link.

The reason why I added both DisplayString and DisplayStringHead is that in the EE if the NPC has a PID, the text line about which script is causing the stutter will not show in the text box if DisplayString is used, only. You can scroll up and search for it, but it's just not there. In these cases, you need the DisplayStringHead to actually see anything at all. But for all other cases, DisplayString is much better.

Hm, maybe you are right: does DisplayStringHead also list the text in the text box? Then using both it is unnecessary, indeed.


Edited by jastey, 28 February 2019 - 02:14 PM.


#7 melik

melik
  • Member
  • 8 posts

Posted 28 February 2019 - 01:32 PM

Was this helpful?

Yes... if you want it to stop, all you probably need to do is, use the console and use this code in the console:

CLUAConsole:SetGlobal("PhaereInnuendo","GLOBAL",3)

..which sets it to 3 or something similar. That of course might not stop other things that influence the game from bugging Phaere, but those are less sevear.

PS, the BWS install will by default enable the use of the console with, so all you need to mostly do is to push the SPACE and CTRL -buttons together.

 

@jastey... why both: DisplayString & DisplayStringHead ? Wouldn't one be, generally enough ? Not that I oppose... as one is more than welcome to utilize your tool, or my LStest...

Thank you for the quick answser The Imp :)
I tried 

CLUAConsole:SetGlobal("PhaereInnuendo","GLOBAL",3

but it's still stuttering.
The new responsible Block is: Block 92 of Jaheire.BCS
And here is what it says in Near Infinity:

IF
    Global("PhaereInnuendo","GLOBAL",3)
    !Range("Phaere",6)  // Phaere
    Global("JaheiraMad3","LOCALS",0)
    OR(2)
        Global("JaheiraRomanceActive","GLOBAL",1)
        Global("JaheiraRomanceActive","GLOBAL",2)
THEN
    RESPONSE #100
        StartDialogueNoSet([PC])
        ActionOverride(Player1,DisplayString(Myself,579928))  // Running block 92 of JAHEIRA.BCS
        ActionOverride(Player1,DisplayStringHead(Myself,579928))  // Running block 92 of JAHEIRA.BCS
END

BTW I'm on chapter 6 so Phaere is long gone.

OK will try setting it to CLUAConsole:SetGlobal("PhaereInnuendo","GLOBAL",4) and post the results.
Thank you :)


Edited by melik, 28 February 2019 - 01:34 PM.


#8 melik

melik
  • Member
  • 8 posts

Posted 28 February 2019 - 01:41 PM

Thank you very much Jastey and The Imp; the CLUAConsole:SetGlobal("PhaereInnuendo","GLOBAL",4) worked !! :)
Cheers and have a nice weekend to both of you (I know I will, I'm planning on doing nothing but playing Baldur's Gate :D )



#9 jastey

jastey
  • Staff
  • 2593 posts

Posted 28 February 2019 - 01:43 PM

This seems to be a BGT issue with BGII Fixpack installed. I'll pass it on. Have fun playing!



#10 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5143 posts

Posted 28 February 2019 - 03:00 PM

The reason why I added both DisplayString and DisplayStringHead is that in the EE if the NPC has a PID, the text line about which script is causing the stutter will ..

But if it's Player Initialized Dialog... can those even cause lag ?

As the idea is that one can ignore them as long as one likes .. as the script that opens them, can only optionalize/allows them ..there's no reason to stop anything for that. As reverse to the StatDialogNoSet[(PC)] , which forces a dialog to happen the instant the if's are true. As there, this is Non-Player Character Initialized Dialog ..NPCID


Edited by The Imp, 28 February 2019 - 04:36 PM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#11 jastey

jastey
  • Staff
  • 2593 posts

Posted 28 February 2019 - 09:38 PM

But if it's Player Initialized Dialog... can those even cause lag ?

What I meant was: if the NPC stutters and has a PID, the PID will pop up every time - because it's an always-true dialogue. And if that happens, there is no script initiation mentioned in the text box in the EE, not even if the stutter is repeated several times by exiting the PID and closing the dialogue box manually and letting it pop up again. The "Running Block x of y" has to be spotted behind the opened PID dialogue box from the DisplayStringHead. That is my experience with several mod NPC stutter bugs and the tool on BG(II):EE.