Jump to content

Appending Dialog Files


erebusant

Recommended Posts

Posted

I'm trying to append a dialog file instead of merely overwriting it. When my TP2 attempts it, I get the following error in my debug:

[C:\Program Files\Black Isle\BGII - SoA\/DATA/BG1DLG.BIF] 1240001 bytes, 985 files, 0 tilesets
[BLANE.DLG] loaded
ERROR: internal label [3] appears 2 times in processed DLG [BLANE]
ERROR: postprocessing [BLANE]: Failure("cannot resolve label")
Stopping installation because of error.

 

Can anyone explain what may be causing the error (what is the internal label it is referring to?) and what it is in the appending file the would need to be changed, or what to be looking for, in order to resolve the issue?

Needless to say, this is one of my 1st forays into the realm of dialogs, so any help would be appreciated.

Posted

You have more than one dialog state with same name ("label"), for example:

 

IF ~True()~ THEN BEGIN 3
 SAY ~State3-1~
 IF ~~ THEN EXIT
END

IF ~True()~ THEN BEGIN 3		// incorrect - label "3" is already in use
 SAY ~State3-2~
 IF ~~ THEN EXIT
END

Posted
You have more than one dialog state with same name ("label"), for example:

 

IF ~True()~ THEN BEGIN 3
 SAY ~State3-1~
 IF ~~ THEN EXIT
END

IF ~True()~ THEN BEGIN 3		// incorrect - label "3" is already in use
 SAY ~State3-2~
 IF ~~ THEN EXIT
END

So in this case, the original .d file has BEGIN 0 thru BEGIN 3 as labels, and the file I'm appending with uses BEGIN 0 thru BEGIN 7, and is entirely new data, so by shifting the BEGIN 0 thru BEGIN 7 in the appending file to BEGIN 4 thru BEGIN 11, and shifting any of the GO TO references by the corresponding amounts appears to give me a compilable dialog file that I hope works.

Posted

You have more than one dialog state with same name ("label"), for example:

 

IF ~True()~ THEN BEGIN 3
 SAY ~State3-1~
 IF ~~ THEN EXIT
END

IF ~True()~ THEN BEGIN 3		// incorrect - label "3" is already in use
 SAY ~State3-2~
 IF ~~ THEN EXIT
END

So in this case, the original .d file has BEGIN 0 thru BEGIN 3 as labels, and the file I'm appending with uses BEGIN 0 thru BEGIN 7, and is entirely new data, so by shifting the BEGIN 0 thru BEGIN 7 in the appending file to BEGIN 4 thru BEGIN 11, and shifting any of the GO TO references by the corresponding amounts appears to give me a compilable dialog file that I hope works.

Just using logic here since I have no experience with this stuff - you'd want to label your things using unique identifiers that other people wouldn't be using (hopefully you're not limited to just numbers), as otherwise this would have a good chance of giving errors if someone's dialog file has unanticipated other things (as the method of appending rather than overwriting seems to be targeted toward) that use those labels.

Posted

I usually use text labels when appending, in this case WeiDU will convert them to numbers automatically. If the last state number in original dialog was X, then the first appended state's number will be X+1, and so on.

Posted

Here's my most recent error: Any clues what's not being recognized?

Near Text: 0
syntax error
WARNING: cannot verify action ~ForceSpell(Myself,CLERIC_SPIRITUAL_HAMMER)
	TakePartyItem("MISC36")
	TakePartyItem("HAMM02")
	DestroyItem("HAMM02")
			GiveItemCreate("HAMMLAT",LastTalkedToBy(Myself)0,0,0)
	SetGlobal("VestibuleBran", "GLOBAL",3)~: Parsing.Parse_error
Processing 1 dialogues/scripts ...
[./override/BRAN.DLG] loaded, 198 bytes
[BRAN.DLG] loaded
[BRAN.DLG] saved	13 states, 13 trans, 13 strig, 0 ttrig, 11 actions

Posted

Is that a space between the , and the " in your SetGlobal?

 

Also as far as I can see from IESDP there should be a , just after LastTalkedToBy(Myself). Before the first 0.

Archived

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

×
×
  • Create New...