Jump to content

Infinite Dialogue Loops


Ankhesenpaaten

Recommended Posts

My question isn't about this sort of "infinite loop" but another. Can somebody give me a troubleshoot on how to fix, or what causes, an "infinite" dialogue loop? I have this lovely new install going, and I had to kill (Cntrl-Y) Edwin because he kept on taunting Keldorn (berelinde's) and did it over and over. I even killed him once and then resurrected him to see if he would stop - but no, he continued on.

 

Any basic troubleshoots on this sort of thing? Man, it's a real pain when I have the party I want and have to lose one. >_<

Link to comment

It's nearly always one particular banter with a typo in the code, most often caused by copy-pasting. I caught a few myself when I was testing Xan's bonded path for ToB: it's either

 

- setting the wrong variable in the dialogue;

- setting the wrong value of the variable in the dialogue;

- setting the wrong variable in the script;

- setting the wrong value of the variable in the script.

 

What you gotta do: remember the first phrase of the dialogue. Go to the mod's directory and find a dialogue or a .tra file with it. If it's a tra file, remember the number of the line(say, @299) and go to the dialogue file, where you'll find the @299 line AND the name of the variable that is set there, say SetGlobal("KeldornTauntsEdwin","GLOBAL",1). In nearly all cases, SetGlobal("KeldornTauntsEdwin","GLOBAL",999) via console fixes the problem. If you can't use the console, sorry - you're doomed to kick Edwin out of the party in this particular game.

 

(Edit: were it a scripted banter or a lovetalk, you could find Global("KeldornTauntsEdwin","GLOBAL",1) in the mod's scripts and edit the block out and then reinstall - but I strongly wouldn't recommend it to any player who is not a modder).

Link to comment

I can use the console; I'm pretty sure. I understand what you are saying and I know how to open tra files. I'll take a look, Kulyok. Thank you! I know the first line, too, at least well enough to spot it. It's something like - "And so the knight continues to mope..."

I'll take a look. THANK YOU! What you said makes perfect sense. :)

Link to comment

Hmmm...I found the block of text and may need to ask Bereline to take a look. But if it is correct, I'd hate to bother her if the problem is something else in my install. I hope it is not inappropriate to post the block here, but maybe that would be all right? Here it is if anyone wants a quick look. I hope the part I found is sufficient. I'll label it a spoiler.

 

SPOILER -

 

 

 

 

 

// Between talks 4 and 13

CHAIN

IF WEIGHT #-1 ~Global("B!KelRomEdw2","GLOBAL",1)~ THEN EDWINJ edw2

~And *still* the knight droops and mopes, boring us all with yet another tale of woe.~

DO ~SetGlobal("B!KelRomEdw1","GLOBAL",2)~

== KELDORJ ~My words are not intended for such as you, wizard.~

== EDWINJ ~No, you pour out your heart to our leader. (I only wish I were close enough to hear what they're saying. How I could torment the oaf with the details!)~

= ~The rest of us can only try to get away before the hand-wringing starts.~

END

++ ~That's enough, Edwin. My conversations with Keldorn are private. You have no right to eavesdrop.~ EXTERN EDWINJ edw3

++ ~You're mistaken, Edwin. We're only discussing plans for the day ahead.~ EXTERN KELDORJ edw4

++ ~Give it a rest, you two. Can't you just stay away from each other?~ EXTERN KELDORJ edw5

++ ~His moaning does get tiresome, after a while, but I can't seem to get him to stop.~ EXTERN KELDORJ edw6

 

CHAIN EDWINJ edw3

~I wouldn't dream of it.~

EXIT

 

CHAIN KELDORJ edw4

~Thank you, my friend. I was about to say the very same thing.~

EXIT

 

CHAIN KELDORJ edw5

~I only wish it were possible.~

EXIT

 

CHAIN KELDORJ edw6

~I shall not trouble you again.~

DO ~SetGlobal("B!KeldornRA","GLOBAL",3)~ EXIT

Link to comment

IF WEIGHT #-1 ~Global("B!KelRomEdw2","GLOBAL",1)~ THEN EDWINJ edw2

~And *still* the knight droops and mopes, boring us all with yet another tale of woe.~

DO ~SetGlobal("B!KelRomEdw1","GLOBAL",2)~

== KELDORJ ~My words are not intended for suc

 

You can see the problem yourself: the first variable is B!KelRomEdw2, and the second is B!KelRomEdw1 - probably a copy-pasting typo from the first banter.

 

You have to do this via console:

 

CLUAConsole:SetGlobal("B!KelRomEdw2","GLOBAL",100)

And you could set B!KelRomEdw1, too, just in case. :)

Link to comment

Oh, my! You're absolute right! I didn't catch that, as I was looking more along the lines of something like - B! as opposed to B1, or some other such typo. I'm not up to speed on variables, but I'm getting there. I'll do what you suggest. Again...THANK YOU! *bows and scrapes at Kulyok's feet* :D

Link to comment

Yup, that is indeed the problem, a copy/paste error, and that is indeed the solution. I really, really need to update the mod. Just have to version up Crossmod Banter Pack first because I've been promising that for about six months now.

 

Thanks for posting the solution!

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...