Jump to content

Guard Captain dialogue loop in Dock barrack's


agris

Recommended Posts

I saw this post which describes the same dialog loop I'm having, but there was no reply. I'll detail my bg2 install below, but let me first just state the problem. The Guard Captain (docsol03.cre) in the first room of the Barrack's located in the Docks, initiates a dialog (docsol03.dlg) with the PC over and over again. It is his dialog triggered by Global("GuardSeesPC","LOCALS",0) and states (state 1/11):

So, heh... I seen this old halfling lady, right? An' she's struggling with this cutpurse, trying to take back her bag, right? An' so she calls out to me for help!

(snicker)

(StrRef:58462)

When I click continue, his dialog dumps and I'm back in the game for a second, then it triggers again and repeats the above string- resulting in a loop that doesn't end until the PC is out of the room. After the above string is displayed, then this dialog (state 2/11) should appear, but doesn't.

So I yawns, right? An' then I says to her: "Hey, lady, this is the *docks*, an' I'm not about to..." Hey. Hey you! Who let you in here?

(StrRef:58464)

Which has the associated action:

SetGlobal("GuardSeesPC","LOCALS",1)

 

The only problem is this dialog choice isn't reachable because the 1st string just dumps out. What would be causing this? Well, when I change-log docsol03.dlg, I get BG2 Fixpack core components. When I look at the docsol03.cre, I see fixpack, RR, SCSII, and bg2 tweaks. Also, NI list an "Override script" with the name RR#PICKP. I don't know what that is, but the script only dealt with states of death and the coding to drop items when in said states. What can I do to fix this stupid bug? More importantly, what is it that is keeping the dialog from proceeding and dropping me back into the game?

 

Install info: Windows XP, SP3 with BG2 + ToB + patch along with RR, G.B.'s Improved Shadow Thief guildhall (with the improved Mae'var copied over), SCSII, BP's new version of Ascension and some additional tactics and item mods that I installed based on the install order of the big world project PDF. I've attached my WeiDu log, docsol03.cre/dlg/bcs. If anyone could help me fix this, I would appreciate it (and probably learn something too).

 

Oh, and contents of docsol03.BCS :

 

IF
See([PC])
Global("GuardSeesPC","LOCALS",0)
THEN
RESPONSE #100
	StartDialogueNoSet([PC])
	SetGlobalTimer("GuardSeesAgain","GLOBAL",SIXTEEN_MINUTES)
END

IF
See([PC])
GlobalGT("GuardSeesPC","LOCALS",0)
GlobalLT("GuardSeesPC","LOCALS",4)
GlobalTimerExpired("GuardSeesAgain","GLOBAL")
THEN
RESPONSE #100
	StartDialogueNoSet([PC])
	SetGlobalTimer("GuardSeesAgain","GLOBAL",SIXTEEN_MINUTES)
END

WeiDu.log

docsol03.dlg

docsol03.cre

Override Script (source): RR#PICKP.baf

Class Script (source): docsol03.baf

Link to comment
Also, NI list an "Override script" with the name RR#PICKP. I don't know what that is, but the script only dealt with states of death and the coding to drop items when in said states.

 

That's a Rogue Rebalancing script which adds responses to pickpocketing. However, its triggers should not return true unless someone actually fails a pickpocket attempt against the target creature. In your case, P5Tweaks also added a block dealing with frozen death on top of it, but that shouldn't change anything regarding the aforementioned behavior.

 

EDIT - upon closer examination, it looks like an original game bug is causing the dialogue loop. Apparently, when the Guard Captain sees a PC, he attempts to start a chat which includes one of his subordinates (docsol02.cre) without first checking whether that soldier is actually present and capable of having a conversation. Here's the fix:

 

// The Guard Captain at the Docks Barracks should check if his subordinate is actually in the area and capable of having a conversation before attempting to chat with him

COPY_EXISTING ~docsol03.bcs~ ~override~
DECOMPILE_BCS_TO_BAF
 REPLACE_TEXTUALLY EXACT_MATCH ~See([PC])~ ~See([PC]) InMyArea("docsol02") !StateCheck("docsol02",CD_STATE_NOTVALID)~
COMPILE_BAF_TO_BCS
BUT_ONLY_IF_IT_CHANGES

Link to comment

Fixpack already contains a fix for "this issue". There are originally two Barack Guards (docsol02) and no Guard Captain (docsol03). Fixpack replaces the second docsol02 with a docsol03.

 

However, v18 of UB also contains a fix for this issue, but it replaces the first docsol02 it finds with a docsol03. That means if you install both Fixpack and UB, both Baracks Guards are replaced by Guard Captains and the encounter no longer works. This has come up in the UB forums (here). However, it's the "Restored Minor Dialogs" component of UB that has this problem and it doesn't look like you've installed that.

 

If it's not UB causing this, you'll want to change-log ar0332.are.

Link to comment

Ok, this is the ar0332.are change-log

 

[weidu] WeiDU version 21200
[./CHITIN.KEY] 183 BIFFs, 41793 resources
[./dialog.tlk] 100284 string entries
[weidu] Using scripting style "BG2"
override/ar0332.are
[bg2fixpack/english/setup.tra] has 101 translation strings
override/ar0332.are GBThfKp/_backup/0/override.ar0332.are
[GBThfKp/Translations/English/GBThfKp.tra] has 87 translation strings
override/AR0332.ARE BG2_Tweaks/backup/3020/override.AR0332.ARE
[BG2_Tweaks/languages/english/description_updates.tra] has 34 translation strings
[BG2_Tweaks/languages/english/setup.tra] has 429 translation strings
override/AR0332.ARE BG2_Tweaks/backup/3190/override.AR0332.ARE

Mods affecting AR0332.ARE:
00000: /* from game biffs */ ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ 0 0 // BG2 Fixpack - Core Fixes
00001: ~GBTHFKP/GBTHFKP.TP2~ 0 0 // Expanded Thief Stronghold
00002: ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ 0 3020 // Identify All Items
00003: ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ 0 3190 // Rest Anywhere (Japheth)

override: ar0332.are

ar0332.0001

ar0332.0002

ar0332.0003

Link to comment

Well, your areas look right. One Guard Captain and one Baracks Guard like there should be. Maybe you should change-log and examine ar0332.bcs as well, in case someone got clever with the area script.

Do you see the Baracks Guard when you are in the area? He should be equipped with a suit of chain mail and a spear and should stand in front of the captain (plate armour).

Link to comment

I should mention that this dialog loop occurred during the Barrack's ambush that takes place in course of the Thieves Guildhall quest-line. I kill the 3 guard outside the barracks (in the dock zone) with the help of the Shadow Thieves sent to fight with me. Then I send them into the barracks, enter and the dialog loop begins.

 

change-log results of ar0332.bcs - looks like G.B.'s improved shadow thief stronghold might be the culprit..

 

[weidu] WeiDU version 21200
[./CHITIN.KEY] 183 BIFFs, 41793 resources
[./dialog.tlk] 100284 string entries
[weidu] Using scripting style "BG2"
override/AR0332.bcs
[GBThfKp/Translations/English/GBThfKp.tra] has 87 translation strings

Mods affecting AR0332.BCS:
00000: /* from game biffs */ ~GBTHFKP/GBTHFKP.TP2~ 0 0 // Expanded Thief Stronghold

override: ar0332.bcs

Link to comment

I suspect the original author would be way cool with an updated version, if someone wants to run through it and update for patching, etc. - on his bg1npc and level 1 npcs stuff, he has been very pro-community. Seriously, one of the good guys, whose name we should keep out there.

Link to comment

It's worth a second look; I'd probably say that this simply isn't a bug fix (without clear evidence that they didn't intend to orphan docsol03) and not mess with the guards in v9.

 

I mean, two compatibility issues already on something this specious... what were we thinking? I'd like to see the egress right about now!

Link to comment
Guest Guest_agris_*

Hum I don't really understand what you two are talking about. Looking at the BCS file, I don't see anything controlling the spawning of either docsol02 or docsol03, but looking at the ar0332.are file, it shows that both creatures should be present 24 / 7. I don't see why docsol02 isn't there (unless he's going hostile - it is an invasion after all- and sol03 isn't?).

Link to comment

I might have figured it out: the class script is different on docsol02 (TSDKGDGO.bcs) than docsol03 (docsol03.bcs).

OcBrq.png

 

I did a change-log on docsol02.cre and got this:

 

Mods affecting DOCSOL02.CRE:
00000: /* from game biffs */ ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ 0 0 // BG2 Fixpack - Core Fixes
00001: ~GBTHFKP/GBTHFKP.TP2~ 0 0 // Expanded Thief Stronghold
00002: ~RR/SETUP-RR.TP2~ 0 10 // Retain default thievery potions and prevent their effects from stacking
00003: ~SCSII/SETUP-SCSII.TP2~ 0 6000 // Smarter general AI
00004: ~SCSII/SETUP-SCSII.TP2~ 0 6021 // One third of the potions dropped by slain enemies break and are lost
00005: ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ 0 3020 // Identify All Items

I think the problem is that the "raid the barracks" event tied to the thief stronghold is being controlled by a set of variables / scripts prefixed with TS_ (looking at the ar0332.bcs, it appears to control the spawning of a large amount of TS_XXX guards). I think docsol02 is having TSDKGDGO.bcs as his class script is making him go hostile, while docsol03 retains its script that just checks for the PC. Hum.

Link to comment

Ah, you found the problem agris. Expanded Thief Stronghold makes docsol02 deactivate himself when you are supposed to fight the guards. Consequently he's not there if you enter the baracks at that time, but since docsol03 is still there, he'll fire off his dialogue endlessly.

 

Assuming my opinion counts, I agree with devSin that this guard restoration thing should be retired from the Fixpack. This will still be a clash between UB and Expanded Thief Stronghold, though.

Link to comment

Oh right, you'd probably like a solution to this problem as well.

 

I guess the easiest way to do it would be to copy the contents of tsdkgdgo.bcs and paste it into docsol03.bcs, above the two current script blocks. Hit compile and save.

That way docsol03 should deactivate and reactivate himself at the same time as docsol02 and you shouldn't get this problem. Or you can just CTRL+Y the captain between one of his talks, or something.

Link to comment
Guest Guest_agris_*

Docsol03 is an innocent, and the player takes a -8 reputation hit for killing him. Thanks for the advice though, I'll probably remove the innocent flag and give him the script so that in the future this doesn't happen.

Link to comment

Archived

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

×
×
  • Create New...