amber-coffeeCat Posted March 26, 2020 Share Posted March 26, 2020 64-bit OS. As for weidu, I don't really know how to check, but I guess if it was 32-bit, I would have already ran into more than one problem along the way, no? Quote Link to comment
AL|EN Posted March 26, 2020 Share Posted March 26, 2020 42 minutes ago, amber-coffeeCat said: 64-bit OS. As for weidu, I don't really know how to check, but I guess if it was 32-bit, I would have already ran into more than one problem along the way, no? 1. Delete 'setup-stutterdebug.exe' 2. Copy 'setup-eet.exe' as 'setup-stutterdebug.exe' 3. Repeat installation of the StutterDebugTool, post results. Quote Link to comment
amber-coffeeCat Posted March 27, 2020 Share Posted March 27, 2020 It installed successfully, thanks. The screen in-game with Fade stuttering: Quote Link to comment
jastey Posted March 27, 2020 Share Posted March 27, 2020 Now open the script E3Fade.bcs with Near Inifnity and look which script block contains the text "Running block 107" and post it here. Quote Link to comment
amber-coffeeCat Posted March 27, 2020 Share Posted March 27, 2020 IF InParty(Myself) See(Player1) !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) Global("E3FADEFRIENDSHIP","GLOBAL",1) GlobalLT("E3FRIENDTALK","GLOBAL",10) RealGlobalTimerExpired("E3FADEFRIEND","GLOBAL") THEN RESPONSE #100 ActionOverride(Player1,DisplayString(Myself,735034)) // Running block 107 of E3FADE.BCS ActionOverride(Player1,DisplayStringHead(Myself,735034)) // Running block 107 of E3FADE.BCS StartDialogueNoSet(Player1) END It's this one. Quote Link to comment
jastey Posted March 27, 2020 Share Posted March 27, 2020 This is what I see in the script (file E3Fade.baf): Spoiler IF InParty(Myself) See(Player1) !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) Global("E3FADEFRIENDSHIP","GLOBAL",1) GlobalLT("E3FRIENDTALK","GLOBAL",9) RealGlobalTimerExpired("E3FADEFRIEND","GLOBAL") THEN RESPONSE #100 IncrementGlobal("E3FRIENDTALK","GLOBAL",1) END IF InParty(Myself) See(Player1) !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) Global("E3FADEFRIENDSHIP","GLOBAL",1) GlobalLT("E3FRIENDTALK","GLOBAL",10) RealGlobalTimerExpired("E3FADEFRIEND","GLOBAL") THEN RESPONSE #100 StartDialogueNoSet(Player1) END But what it is supposed to do I really do not know. What it does: as long as the variable "E3FRIENDTALK"is below 9 and the timer is expried, it gets increased by 1. This is the behavior you witnessed, where the variable was set to 9 no matter what and the timer was expired. And the script block you quoted tries to start a dialogue as long as the variable is below 10 and the timer is expired. Which it is, it's 9. But there is no dialogue that starts for "Global("E3FRIENDTALK","GLOBAL",9)". The available dialogues would start for "Global("E3FRIENDTALK","GLOBAL",2)", "Global("E3FRIENDTALK","GLOBAL",4)", "Global("E3FRIENDTALK","GLOBAL",6)", and the last one for "Global("E3FRIENDTALK","GLOBAL",8)". @amber-coffeeCat the only thing you can do to stop the stutter is set the variable to "Global("E3FRIENDTALK","GLOBAL",10)" via cheats. This also means that you will not experience any friendship dialogues. The friendship track seems to be broken, I don't think it ever worked at all. Quote Link to comment
amber-coffeeCat Posted March 27, 2020 Share Posted March 27, 2020 (edited) That's actually what I was thinking as well. Beside the obvious error in the second block (should be GlobalLTE3FRIENDTALK","GLOBAL",10), I think), I don't get why the game constantly thinks that the timer is expired. Oh well. I put those blocks into comment brackets and I just increase the variables manually wherever I'm at an inn to experience the friendship track. Inconvenient, but it's something. Thanks for the help nonetheless. Edited March 27, 2020 by amber-coffeeCat Quote Link to comment
jastey Posted March 27, 2020 Share Posted March 27, 2020 6 minutes ago, amber-coffeeCat said: I don't get why the game constantly thinks that the timer is expired. It is, in that moment. The "E3FRIENDTALK" was set to "1" and the timer was set once. As soon as it was expired, the first block of the ones I quoted run 8 times because the script is always called from top to bottom and starts anew after it executed a true script block so it always executed this one. Then "E3FRIENDTALK" was at 9 and the script block you quoted started stuttering, because there was no other instances where the timer was reset. (Not trying to sound patronizing.) The whole scripting for triggering the friendship path needs to be rescripted. Still, I'm glad we could find a solution for your stutter problem. Thank you for reporting! Quote Link to comment
amber-coffeeCat Posted March 27, 2020 Share Posted March 27, 2020 (edited) You don't, I was thinking the same, except I didn't notice that the timer was only set once. Actually, wouldn't setting it again just after the E3FRIENDTALK increment in this block fix the issue? Or rather, placing it in the next block's response, before starting the dialogue. Spoiler IF InParty(Myself) See(Player1) !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) Global("E3FADEFRIENDSHIP","GLOBAL",1) GlobalLT("E3FRIENDTALK","GLOBAL",9) RealGlobalTimerExpired("E3FADEFRIEND","GLOBAL") THEN RESPONSE #100 RealSetGlobalTimer("E3FADEFRIEND","GLOBAL",2600) StartDialogNoSet(Player1) END Edited March 27, 2020 by amber-coffeeCat Quote Link to comment
Gwaihir Posted April 9, 2020 Share Posted April 9, 2020 On 3/27/2020 at 9:42 PM, amber-coffeeCat said: I put those blocks into comment brackets and I just increase the variables manually wherever I'm at an inn to experience the friendship track. Inconvenient, but it's something. Thanks for the help nonetheless. Since I would like to do the same, but have 0 knowledge of scripting, could someone please help me with it? I can open E3FADE.BCS in NearInfinity, but where exactly should I type those brackets? Quote Link to comment
jastey Posted April 9, 2020 Share Posted April 9, 2020 @Gwaihir you turn this: IF InParty(Myself) See(Player1) !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) Global("E3FADEFRIENDSHIP","GLOBAL",1) GlobalLT("E3FRIENDTALK","GLOBAL",9) RealGlobalTimerExpired("E3FADEFRIEND","GLOBAL") THEN RESPONSE #100 IncrementGlobal("E3FRIENDTALK","GLOBAL",1) END IF InParty(Myself) See(Player1) !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) Global("E3FADEFRIENDSHIP","GLOBAL",1) GlobalLT("E3FRIENDTALK","GLOBAL",10) RealGlobalTimerExpired("E3FADEFRIEND","GLOBAL") THEN RESPONSE #100 StartDialogueNoSet(Player1) END Into this: /* IF InParty(Myself) See(Player1) !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) Global("E3FADEFRIENDSHIP","GLOBAL",1) GlobalLT("E3FRIENDTALK","GLOBAL",9) RealGlobalTimerExpired("E3FADEFRIEND","GLOBAL") THEN RESPONSE #100 IncrementGlobal("E3FRIENDTALK","GLOBAL",1) END IF InParty(Myself) See(Player1) !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) Global("E3FADEFRIENDSHIP","GLOBAL",1) GlobalLT("E3FRIENDTALK","GLOBAL",10) RealGlobalTimerExpired("E3FADEFRIEND","GLOBAL") THEN RESPONSE #100 StartDialogueNoSet(Player1) END */ (Note the /* and */ ) Hm, or you could also just delete the blocks. Then press "compile" in NI and save the script. To trigger the dialogues by hand, you need to type in the cheats while playing (for old BGII, the cheat starts with CLUAConsole:) and klick talk Fade: First dialogue: C:SetGlobal("E3FRIENDTALK","GLOBAL",2) Second dialogue: C:SetGlobal("E3FRIENDTALK","GLOBAL",4) Third dialogue: C:SetGlobal("E3FRIENDTALK","GLOBAL",6) Last dialogue: C:SetGlobal("E3FRIENDTALK","GLOBAL",8) Quote Link to comment
amber-coffeeCat Posted April 23, 2020 Share Posted April 23, 2020 @Gwaihir, actually the little tweak in the code that I demonstrated in the last post repaired all problems, at least for me. The only thing different now is that I need to start dialog with Fade, she doesn't to that herself for some reason. So I chat her up from time to time to see if the friend talk will fire. Here's how I ultimately fixed that: IF InParty(Myself) See(Player1) !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) Global("E3FADEFRIENDSHIP","GLOBAL",1) GlobalLT("E3FRIENDTALK","GLOBAL",9) RealGlobalTimerExpired("E3FADEFRIEND","GLOBAL")THEN RESPONSE #100 RealSetGlobalTimer("E3FADEFRIEND","GLOBAL",2600) StartDialogNoSet(Player1)END The bolded parts are what I changed. You probably won't use it now, since you asked two weeks ago... but maybe someone in the future will Quote Link to comment
Gwaihir Posted April 23, 2020 Share Posted April 23, 2020 @amber-coffeeCat thanks! I indeed already experienced her dialogues, but one thing that I noticed, is that the Friendtalk would advance everytime Fade bantered with an NPC. After the first talk, she started the second on her own right after bantering with minsc, and for the third and fourth I just talked to her after she bantered again. Kinda wierd, but ok Quote Link to comment
jastey Posted August 3, 2020 Share Posted August 3, 2020 The friendship path / stutter bug is fixed in Fade v5.6. Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.