Jump to content

BG1NPC Project v22 bug thread


Recommended Posts

With v22.8, I can't install the component "Banters, Quests, and Interjections". I get the following error message (I tried to install to for BGT and Tutu, the quoted message is for BGT):

 

 

ERROR: Cannot resolve external symbolic label [TKWI1] for DLG [TIAXJ]
ERROR: postprocessing [KAISH]: Failure("cannot resolve label")
Stopping installation because of error.
Stopping installation because of error.

ERROR Installing [The BG1 NPC Project: Banters, Quests, and Interjections], rolling back to previous state
Unable to Unlink [bg1npc/backup/1/OTHER.1]: Unix.Unix_error(1, "unlink", "bg1npc/backup/1/OTHER.1")

Link to comment

The culprit is in "bg1npc\phase2\dlg\x#totsc.d" I think:

 

/* Tiax, Kaish - Werewolf Island */
CHAIN ~%TIAX_BANTER%~ TKWI1
@86
DO ~SetGlobal("X#TKWI","LOCALS",1) SetGlobal("X#TKWI111","GLOBAL",1)~
== ~%tutu_var%KAISH~ @87
END
++ @88 EXTERN ~%tutu_var%KAISH~ 3 //(leads to normal dialogue for first option)
++ @89 EXTERN ~%tutu_var%KAISH~ 4 //(leads to normal dialogue for second option)
++ @90 EXTERN ~%tutu_var%KAISH~ 5 //(leads to normal dialogue for third option)

EXTEND_BOTTOM ~%tutu_var%KAISH~ 0
IF ~Global("X#TKWI111","GLOBAL",0) InParty("tiax") InMyArea("tiax") !StateCheck("tiax",CD_STATE_NOTVALID)~ EXTERN ~%TIAX_JOINED%~ TKWI1
END

EXTEND_BOTTOM ~%tutu_var%KAISH~ 1 // Tiax, Kaish - Werewolf Island
IF ~Global("X#TKWI111","GLOBAL",0) InParty("tiax") InMyArea("tiax") !StateCheck("tiax",CD_STATE_NOTVALID)~ EXTERN ~%TIAX_JOINED%~ TKWI1
END

EXTEND_BOTTOM ~%tutu_var%KAISH~ 2 // Tiax, Kaish - Werewolf Island
IF ~Global("X#TKWI111","GLOBAL",0) InParty("tiax") InMyArea("tiax") !StateCheck("tiax",CD_STATE_NOTVALID)~ EXTERN ~%TIAX_JOINED%~ TKWI1
END

Should be

 

/* Tiax, Kaish - Werewolf Island */
CHAIN ~%TIAX_JOINED%~ TKWI1
@86
DO ~SetGlobal("X#TKWI","LOCALS",1) SetGlobal("X#TKWI111","GLOBAL",1)~
== ~%tutu_var%KAISH~ @87
END
++ @88 EXTERN ~%tutu_var%KAISH~ 3 //(leads to normal dialogue for first option)
++ @89 EXTERN ~%tutu_var%KAISH~ 4 //(leads to normal dialogue for second option)
++ @90 EXTERN ~%tutu_var%KAISH~ 5 //(leads to normal dialogue for third option)

EXTEND_BOTTOM ~%tutu_var%KAISH~ 0
IF ~Global("X#TKWI111","GLOBAL",0) InParty("tiax") InMyArea("tiax") !StateCheck("tiax",CD_STATE_NOTVALID)~ EXTERN ~%TIAX_JOINED%~ TKWI1
END

EXTEND_BOTTOM ~%tutu_var%KAISH~ 1 // Tiax, Kaish - Werewolf Island
IF ~Global("X#TKWI111","GLOBAL",0) InParty("tiax") InMyArea("tiax") !StateCheck("tiax",CD_STATE_NOTVALID)~ EXTERN ~%TIAX_JOINED%~ TKWI1
END

EXTEND_BOTTOM ~%tutu_var%KAISH~ 2 // Tiax, Kaish - Werewolf Island
IF ~Global("X#TKWI111","GLOBAL",0) InParty("tiax") InMyArea("tiax") !StateCheck("tiax",CD_STATE_NOTVALID)~ EXTERN ~%TIAX_JOINED%~ TKWI1
END

Edited by jastey
Link to comment

Hi Jastey,

 

That should be fixed the latest release.

 

https://github.com/Gibberlings3/BG1NPC/releases/latest

 

I'll double-check the download links to make sure it's pointing at the right file.

 

Regards,

AstroBryGuy

 

EDIT: Didn't see your second post until after I replied. Yes, that's the problem. I did the fix back in March.

 

https://github.com/Gibberlings3/BG1NPC/commit/735914008a9115aafbd556fb4360eab0991a92c5

 

I'll check the downloads and make sure the fix is in the latest version. It should be.

Edited by AstroBryGuy
Link to comment

Indeed. Sorry, I thought I redownloaded the latest version, but it was an outdated link, as it seems. EDIT: Or maybe the link didn't go to the latest version, but now it does. (EDIT: I followed a link from the currently last page of the BG1NPC Thread at BeamDog Forums. Now they all link to 22.8a.)

Edited by jastey
Link to comment

Hello, I want to report a bug. At the beginning of the encounter with the bandits that raided the caravan of Entar Silvershield's son, after the dialogue only the leader of the bandits becomes hostile, the other ones remain neutral and you have to attack them manually.

Link to comment

Angel - Thanks!

 

Some of BG1NPC's JOURNAL entries are added to the JOINED dialog files. Since BGT uses the same JOINED files for BG1 and BG2 content, would it be bad to pass this function the JOINED dialog files for the vanilla NPCs?

 

It should not matter. All my function does is extract the string reference number of the journal entries in the compiled dialog and add a call to EraseJournalEntry() with that refererence to the BG2 transition script of BGT. That script (aram00.bcs) will run only once to clean the journal on transition to BG2, and never runs again in that game, so any journal entries added after the BG2 transition will not be affected.

 

So if you wanted to clean up journal entries in Minsc's joined dialog, you'd run something like (assuming you use G3 compat libraries):

LAUNCH_ACTION_FUNCTION erase_journal_entries_on_bg2_transition
   STR_VAR
   dialog = EVALUATE_BUFFER "%MINSC_JOINED%"
END

If you want to clean up entries from multiple dialogs, you can use a loop, like this example from my own mod:

ACTION_FOR_EACH dialog IN "mh#brok1" "mh#helen" "mh#letha" "mh#tania"
BEGIN
  LAUNCH_ACTION_FUNCTION erase_journal_entries_on_bg2_transition
    STR_VAR
    dialog
  END
END

Note that my function will do absolutely nothing if the game detected is not BGT, so you can run it safely on BGEE, EET, vanilla BG1 or whatever.

Edited by Angel
Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...