Jump to content


Photo

BG NPC Project v14 issues on BGT installations


  • Please log in to reply
56 replies to this topic

#1 berelinde

berelinde

    Troublemaker

  • Modder
  • 4916 posts

Posted 30 November 2007 - 03:38 PM

Please direct any issues you may have with the Baldur's Gate NPC Project version 14, installed together with Baldur's Gate Trilogy WeiDU here.

"Imagination is given to man to console him for what he is not; a sense of humor, for what he is." - Oscar Wilde

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum


#2 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 02 December 2007 - 06:37 PM

I just ran across a very minor issue with the Hobgoblin you run across in the wilderness area (AR3100) where you assist Drizzt. When you speak with him he offers up that he is a member of the Chill, but in the course of dialogue the only information he offers up is about the Black Talons. It just kind of struck me odd, and it seemed perhaps he would have more information about the Chill, and not so much about the Black Talons, since I haven't even run across them yet.

It takes a village...


#3 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 04 December 2007 - 07:20 AM

One other issue that occured was in regard to the "Make Shar-Teel Unkillable" component. When I had Shar-Teel join the party in my 1st run-through, Shar-Teel remained unkillable even after joining the party. On 2 seperate occasions she would wade into battle, reach the 1 hit point level and the game would "pause by script", and then she would continue on in battle and keep getting massive amounts of damage and eventually defeat her opponent while the rest of the party could wait idly by in a safe spot cheering her on,,, <_<

Edited by erebusant, 04 December 2007 - 07:21 AM.

It takes a village...


#4 Hoppy

Hoppy

    Mage Hunter

  • Member
  • 2107 posts

Posted 04 December 2007 - 06:24 PM

Are the dream narration sequences not triggering? Like the one after defeating Mulahey and resting in the Nashkel tavern? I have BGT 105(a) installed although I do have a lot of other things installed as well. Nothing else is out of the ordinary and I am glad I installed BG1NPC project and it is definitely going to be with my BGT installs from now on :cheers:.
Berelinde, are there any things you want us to make a point to check for you in the BGT install?

Reason for edit Overzealous bug-blaming? I solved the problem. Definitely not the mod. Happy holidays. Can you find it in your hearts to forgive me? :wub:


Giving another night or two+rest=no
rest in cavern after defeating mulahey/or the cavern with the slimes when you exit=no
after defeating Mulahey and grabbing the notes (chapter narration) and go to cave to exit whole area THEN SAVE (quick,auto, or funny names) THEN LOAD SAVE----- THEN REST. In the cavern with slimes even the reload then rest from the auto save worked.. Kind of the same approach with the entrance movie into Nashkel not playing unless SAVING in Nashkel and RELOADING the said save and movie plays

Edited by Hoppy, 27 December 2007 - 07:37 PM.

?May God defend me from my friends; I can defend myself from my enemies.? - Voltaire

"If you think that a size of the mod indicates an amount of bugs that it introduces and their severity you're totally wrong...
Try not to use next time a load of shitty "super-mega-improving-tweaking-revising" small mods that you have installed and try to meet Wulfgar once again."
- King Diamond


Posted Image The Definitive Guide to Trolls

"Finding food and a place to sleep is your own business. I imagine Paul the Cat should have some fun with you, too" - Potencius in The Darkest Day
"You have been warned, little bastard!" -Khelben to a young <CHARNAME>in Check the Bodies
There are those who will snivel, and offer nothing in return except criticism, meanwhile never lifting a finger to do other than to cut other peoples labor down simply for the fact that they lack the capability to put anything of their own together. -erebusant

#5 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 04 December 2007 - 08:38 PM

Are the dream narration sequences not triggering? Like the one after defeating Mulahey and resting in the Nashkel tavern? I have BGT 105(a) installed although I do have a lot of other things installed as well. Nothing else is out of the ordinary and I am glad I installed BG1NPC project and it is definitely going to be with ny BGT installs from now on :cheers: .
Berelinde, are there any things you want us to make a point to check for you in the BGT install?

Dream Sequences are triggering fine in my install. The only thing I had issue with is Sharteel Romance which had to be force started by SetGlobal("X#ShMale","Global",1) and force talking Sharteel. The flirts appear to have begun now, however. She still can't be killed however.

It takes a village...


#6 berelinde

berelinde

    Troublemaker

  • Modder
  • 4916 posts

Posted 05 December 2007 - 05:40 AM

I just ran across a very minor issue with the Hobgoblin you run across in the wilderness area (AR3100) where you assist Drizzt. When you speak with him he offers up that he is a member of the Chill, but in the course of dialogue the only information he offers up is about the Black Talons. It just kind of struck me odd, and it seemed perhaps he would have more information about the Chill, and not so much about the Black Talons, since I haven't even run across them yet.


OK, this one's a content question, rather than a technical one, and for that, I can point to the "policies" section, article 4b, where it says "Leave stuff other people wrote alone." Sorry for the flip answer on that one. It's been a weird morning. I agree that it's unnecessary foreshadowing, and I'll bring it up. Maybe there should be a chapter check on that one, or something.

One other issue that occured was in regard to the "Make Shar-Teel Unkillable" component. When I had Shar-Teel join the party in my 1st run-through, Shar-Teel remained unkillable even after joining the party. On 2 seperate occasions she would wade into battle, reach the 1 hit point level and the game would "pause by script", and then she would continue on in battle and keep getting massive amounts of damage and eventually defeat her opponent while the rest of the party could wait idly by in a safe spot cheering her on,,,


That's strange. I'll have a look at the code, and get back to you on it. But there's a question I need to ask you in the mean time. When she joined, did you hit pause right away, because there's some anectdotal evidence to suggest that doing so would interfere with the transition from un-joined NPC to joined NPC. I myself have had it cause SCS leveling script to fail, and had Ajantis' "stay-alive" sword fail to disappear, and remain an immobile part of his inventory.

Are you using the SCS component "ensure Shar-Teel survives the initial encounter"? Oddly enough, there are no checks to make sure she doesn't get the adjustment twice, once with BG1 NPC and once with SCS. I should probably bring that up on BG1 NPC and SCS.

Are the dream narration sequences not triggering? Like the one after defeating Mulahey and resting in the Nashkel tavern?

That's strange, but it has happened before, even on non-mega installs. Give it another night or two (the dream can happen anywhere, so it doesn't depend on being in Nashkel). BG1 NPC doesn't touch the dreams themselves.

As for information I (or someone with more mega-experience than me) would need to trouble-shoot your installation, it's the same as anywhere else: weidu.log.

The only thing I had issue with is Sharteel Romance which had to be force started by SetGlobal("X#ShMale","Global",1) and force talking Sharteel. The flirts appear to have begun now, however. She still can't be killed however.

I still haven't checked the code for her joining issue, but I've got two theories.

The first involves the likely action order of the script that removes her monhp item. If it looks like this:

IF
//conditions
//global=0
THEN
RESPONSE #100
//set global=1
//remove monhp item
END

then it's entirely possible to interrupt that sequence by hitting pause between set global=1 and remove monhp item. It's tough to do, and it's a real fluke if it happens, but it can. Ordinarily, with the more usual action order, which is opposite what I've got above, hitting pause anywhere won't hurt, because worst thing that happens is that the block would fire on the second pass, but if it's like that, it can't.

As for having to set the Shar-Teel variable manually, I'll have a peek at that, too.

"Imagination is given to man to console him for what he is not; a sense of humor, for what he is." - Oscar Wilde

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum


#7 berelinde

berelinde

    Troublemaker

  • Modder
  • 4916 posts

Posted 05 December 2007 - 06:00 AM

OK, responding with answers.

Shar-Teel unkillable is still a mystery, but here's something to check.

This is the relevant bit of the tp2:
COPY_EXISTING  ~%tutu_var%sharte.cre~ ~override~
				  ~%tutu_var%sharte4.cre~ ~override~
				  ~%tutu_var%sharte6.cre~ ~override~
		ADD_CRE_ITEM ~monhp1~ #0 #0 #0 ~NONE~ ~AMULET~ // either adds it new, or forces into inventory (and unequipped)
	  BUT_ONLY_IF_IT_CHANGES
	EXTEND_TOP ~%SHARTEEL_BCS%.bcs~ ~BG1NPC/Core/BAF/X#SHARFIX.BAF~
	  EVALUATE_BUFFER

Personally, I would have used a RegExp check
BEGIN ~Make Shar-Teel unkillable~
  ACTION_IF FILE_EXISTS_IN_GAME ~FW0100.are~ THEN BEGIN
	/* Tell the player it is using Tutu stuff */
	PRINT ~Tutu detected. Making Shar-Teel unkillable.~
	 COPY_EXISTING_REGEXP GLOB ~^_shart.*\.cre$~ ~override~

	   ADD_CRE_ITEM ~monhp1~ #0 #0 #0 ~NONE~ ~AMULET~ // either adds it new, or forces into inventory (and unequipped)
	  BUT_ONLY_IF_IT_CHANGES
	EXTEND_TOP ~%SHARTEEL_BCS%.bcs~ ~BG1NPC/Core/BAF/X#SHARFIX.BAF~
	  EVALUATE_BUFFER
	BUT_ONLY_IF_IT_CHANGES
  END ELSE BEGIN
  ACTION_IF FILE_EXISTS_IN_GAME ~AR7200.are~ THEN BEGIN
	/* Tell the player it is using BGT stuff */
	PRINT ~BGT detected. Making Shar-Teel unkillable.~

	COPY_EXISTING_REGEXP GLOB ~^shart.*\.cre$~ ~override~
	  ADD_CRE_ITEM ~monhp1~ #0 #0 #0 ~NONE~ ~AMULET~ // either adds it new, or forces into inventory (and unequipped)
	  BUT_ONLY_IF_IT_CHANGES
	EXTEND_TOP ~%SHARTEEL_BCS%.bcs~ ~BG1NPC/Core/BAF/X#SHARFIX.BAF~
	  EVALUATE_BUFFER
	BUT_ONLY_IF_IT_CHANGES

  END ELSE BEGIN FAIL ~You must have either Tutu or BGT installed to use this component.~
END
END

And her script is straightforward enough:
IF %BGT_VAR%
  InParty(Myself)
  Global("X#ShKill","LOCALS",0)
THEN 
  RESPONSE #100
	DestroyItem("monhp1")
	SetGlobal("X#ShKill","LOCALS",1)
END
But at least here's something you can check:

What is the value of the local variable X#ShKill?

As for the romance not starting, here's the script block for that variable setting:
/* Interest Talk */
IF %BGT_VAR%
ReputationLT(Player1,13)
Gender(Player1,MALE)
Global("X#ShMale","GLOBAL",0)
RealGlobalTimerExpired("X#DreamTalk","GLOBAL")
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
InMyArea(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
AreaType(FOREST)
THEN
RESPONSE #100
SetGlobal("X#ShMale","GLOBAL",1)
RealSetGlobalTimer("X#DreamTalk","GLOBAL",180)
StartDialogueNoSet(Player1)
END
Should work. Don't know why it didn't for you. Maybe you weren't in an area flagged as a forest?

"Imagination is given to man to console him for what he is not; a sense of humor, for what he is." - Oscar Wilde

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum


#8 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 05 December 2007 - 06:43 AM

IF %BGT_VAR%
  InParty(Myself)
  Global("X#ShKill","LOCALS",0)
THEN 
  RESPONSE #100
	DestroyItem("monhp1")
	SetGlobal("X#ShKill","LOCALS",1)
END
But at least here's something you can check:

What is the value of the local variable X#ShKill?

As for the romance not starting, here's the script block for that variable setting:
/* Interest Talk */
IF %BGT_VAR%
ReputationLT(Player1,13)
Gender(Player1,MALE)
Global("X#ShMale","GLOBAL",0)
RealGlobalTimerExpired("X#DreamTalk","GLOBAL")
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
InMyArea(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
AreaType(FOREST)
THEN
RESPONSE #100
SetGlobal("X#ShMale","GLOBAL",1)
RealSetGlobalTimer("X#DreamTalk","GLOBAL",180)
StartDialogueNoSet(Player1)
END
Should work. Don't know why it didn't for you. Maybe you weren't in an area flagged as a forest?

I'm not even getting the X#ShKill variable to appear in my save game, so it appears that script is choking at the very beginning. I'll have to do some more digging.

It takes a village...


#9 berelinde

berelinde

    Troublemaker

  • Modder
  • 4916 posts

Posted 05 December 2007 - 08:30 AM

If your script is choking, you might have bigger problems than that. But why don't you attach Shar-Teel's decompiled script here, so I can take a look at it? You're probably more familiar than I am with what it's called in BGT.

Just to make sure we're clear on that, you were checking it by querying the local variable, right?

Edited by berelinde, 05 December 2007 - 08:32 AM.

"Imagination is given to man to console him for what he is not; a sense of humor, for what he is." - Oscar Wilde

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum


#10 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 05 December 2007 - 04:55 PM

If your script is choking, you might have bigger problems than that. But why don't you attach Shar-Teel's decompiled script here, so I can take a look at it? You're probably more familiar than I am with what it's called in BGT.

Just to make sure we're clear on that, you were checking it by querying the local variable, right?

Attached is my Sharteel.baf file. I checked the globals again in game with CLUAConsole. I have X#SharMatch=1; X#ShKill=Not Exist; X#ShMale=Not Exist; X#SharInterest=Not Exist. This is without pausing after she joins party, and leveling her up twice, before and after resting in the same area (AR3200) that we found her with PC Rep=7, PC Charisma=17

Attached Files


It takes a village...


#11 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 05 December 2007 - 08:31 PM

Well this is getting really consternating. I've got an install with only BGT and BG1NPC installed and the Sharteel Romance still will not kick off. The only global I can get set in my game is X#SharMatch=1. This is after her joining, and then resting in a forested area several times. It's like the timers just plain aren't timing out to set the globals that need to be set.
Rep = 6
CHR = 17
STR = 18/56

Attached Files


It takes a village...


#12 Kulyok

Kulyok
  • Modder
  • 2450 posts

Posted 05 December 2007 - 11:29 PM

Rest in the forest(area where you took Shar-Teel into party). See if any rest banter triggers. If not, wait for five minutes. Then rest again.

/* Interest Talk */
IF %BGT_VAR%
ReputationLT(Player1,13)
Gender(Player1,MALE)
Global("X#ShMale","GLOBAL",0)
RealGlobalTimerExpired("X#DreamTalk","GLOBAL")
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
InMyArea(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
AreaType(FOREST)
THEN
RESPONSE #100
SetGlobal("X#ShMale","GLOBAL",1)
RealSetGlobalTimer("X#DreamTalk","GLOBAL",180)
StartDialogueNoSet(Player1)
END

This code should be working. Dream timer starts in her regular script, everything else - same story.

If, after following my advice, you're still running into trouble, I'd check if your dream scripts are working at all - have you had _any_ talks at rest? Try taking Montaron(or Imoen+Kivan) into the party and resting.

That said, if your dream scripts are working but _this talk_ isn't triggering, please, report at our forums at G3.

#13 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 06 December 2007 - 05:48 AM

Rest in the forest(area where you took Shar-Teel into party). See if any rest banter triggers. If not, wait for five minutes. Then rest again.

/* Interest Talk */
IF %BGT_VAR%
ReputationLT(Player1,13)
Gender(Player1,MALE)
Global("X#ShMale","GLOBAL",0)
RealGlobalTimerExpired("X#DreamTalk","GLOBAL")
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
InMyArea(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
AreaType(FOREST)
THEN
RESPONSE #100
SetGlobal("X#ShMale","GLOBAL",1)
RealSetGlobalTimer("X#DreamTalk","GLOBAL",180)
StartDialogueNoSet(Player1)
END

This code should be working. Dream timer starts in her regular script, everything else - same story.

If, after following my advice, you're still running into trouble, I'd check if your dream scripts are working at all - have you had _any_ talks at rest? Try taking Montaron(or Imoen+Kivan) into the party and resting.

That said, if your dream scripts are working but _this talk_ isn't triggering, please, report at our forums at G3.

I'll give those checks a try tonite when I get home from work.

It takes a village...


#14 berelinde

berelinde

    Troublemaker

  • Modder
  • 4916 posts

Posted 06 December 2007 - 11:56 AM

You said PC rep=7, CHR=17, but you didn't say what his other stats were. Doesn't she also have a strength stat minimum?

Sorry, my internet is out ATM, due to hardware issues, they tell me, and I'm forced to use the computer at the public library, so I don't know how quickly I can get back to this.

"Imagination is given to man to console him for what he is not; a sense of humor, for what he is." - Oscar Wilde

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum


#15 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 06 December 2007 - 12:27 PM

You said PC rep=7, CHR=17, but you didn't say what his other stats were. Doesn't she also have a strength stat minimum?

Sorry, my internet is out ATM, due to hardware issues, they tell me, and I'm forced to use the computer at the public library, so I don't know how quickly I can get back to this.

STR = 18/56

It takes a village...


#16 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 06 December 2007 - 04:01 PM

Rest in the forest(area where you took Shar-Teel into party). See if any rest banter triggers. If not, wait for five minutes. Then rest again.

/* Interest Talk */
IF %BGT_VAR%
ReputationLT(Player1,13)
Gender(Player1,MALE)
Global("X#ShMale","GLOBAL",0)
RealGlobalTimerExpired("X#DreamTalk","GLOBAL")
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
InMyArea(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
AreaType(FOREST)
THEN
RESPONSE #100
SetGlobal("X#ShMale","GLOBAL",1)
RealSetGlobalTimer("X#DreamTalk","GLOBAL",180)
StartDialogueNoSet(Player1)
END

This code should be working. Dream timer starts in her regular script, everything else - same story.

If, after following my advice, you're still running into trouble, I'd check if your dream scripts are working at all - have you had _any_ talks at rest? Try taking Montaron(or Imoen+Kivan) into the party and resting.

That said, if your dream scripts are working but _this talk_ isn't triggering, please, report at our forums at G3.

Started a new game, and joined Xzar & Montaron. When we rested the 1st time I got the Dreamtalk with Montaron about the "Art of Poisoning". Continued on, Got Sharteel to join with same issues as before. Rep=6, CHR=17, STR=18/36. Tried resting in the area we found her, then waiting 5 minutes and resting again, and still no Dreamtalk. During the two times I waited and rested, I got dialogs with Montaron once about "bleeding the squirrels" and between Xzar and Shar-Teel during the next 5 minute wa about how he could help her. Attached are my saved game files and weidu.log and current decompiled Sharteel.baf

Attached Files


Edited by erebusant, 07 December 2007 - 01:24 PM.

It takes a village...


#17 cmorgan

cmorgan
  • Modder
  • 2301 posts

Posted 07 December 2007 - 04:19 PM

Repairs, thanks to both Kulyok and erebusant, are made to fix this - check out the related threads at G3 for more info.

As a side note, this is covered in a couple of places on the Tutu side, but it might not be clear to BGT users in general -


[EDIT: Correcting!!!]
If you are not using the LATEST BETA of BG1UB
~BG1UB/SETUP-BG1UB.TP2~ #0 #19 // Minor Dialogue Restorations

installing this either before or after BG1NPC seems to lead to some difficulties, expecially with Jaheira's kick out and joining. Please check the compatibility lists here and at G3 (the Tutu information is good for the BGT version, too) if you want to use these two mods together (as I do!!!).

Edited by cmorgan, 08 December 2007 - 09:03 AM.


#18 Salk

Salk
  • Modder
  • 1411 posts

Donator

Posted 07 December 2007 - 11:32 PM

Since I am also using both, I checked over at G3's BG1 NPC Project Forum but couldn't find the relevant Topic.

Could you be so kind and paste here the link, cmorgan? :cheers:

#19 cmorgan

cmorgan
  • Modder
  • 2301 posts

Posted 08 December 2007 - 09:08 AM

erebusant was kind to me and sent me updates which show that the latest Beta of UB has the joining dialogue content commented out, so it may indeed work together - I have corrected my post to give that information!

Ascension64 has made "BG1UBv4b 4BGT Restored Minor Dialogs" (and we think the Tutu version) work fine with BG1 NPC and vice versa.

The link to the Tutu materials is here:

Tutu State of the Modding Union

#20 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 08 December 2007 - 04:31 PM

erebusant was kind to me and sent me updates which show that the latest Beta of UB has the joining dialogue content commented out, so it may indeed work together - I have corrected my post to give that information!

Ascension64 has made "BG1UBv4b 4BGT Restored Minor Dialogs" (and we think the Tutu version) work fine with BG1 NPC and vice versa.

Not sure on either of these, but players would probably know better. I made the fix only to the BGT version because the BG2 leaving dialogue was triggering incorrectly. I wasn't aware that it hurt BG1NPC as well. Will follow up.

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)