Jump to content

vanilla BG1 modding question


jastey

Recommended Posts

Thank you! I keep on recommending IESDP for IE-modding but appearantly don't know how to properly use it myself for things I am not so firm with. :)

 

Bad you! Your punishment is to play Banana! and suffer. ;)

 

Yeah I generally just search through everything until I find something that looks similar to what I'm looking for. Then I bug the more experienced modders on how to use it hah.

Link to comment

EDIT: OK, I solved this one.

 

 

-------------

I have new problem, and weird it is.

 

Can someone tell me, why the following script blocks lead to Ajantis firing his leaving dialogue.

 

EDIT: Seems the problem is more complex. If I only compile the "Dialogue([PC])" script block and set the variable by hand, it triggers the right dialogue. Not that I'd know what is going on, but...

 

 

original post:

I checked variables from the script block and the .d. The dialogue with the matching varibel is APPENDed to the j.dlg.

 

It is this script block, since the wrong dialogue call does not occur, if I comment it out. I have no idea, why it calls the P.dlg. The "ActionOverride("ajantis",Dialogue([PC]))" is used on another occation, and triggers the J.dlg correctly.

 

:)

//PC has Gorion's letter
IF
InParty(Myself)
//	PartyHasItem("SCRL2J") //let it trigger directly to alphatest
!Global("X#AjantisRomanceActive","GLOBAL",3)
Global("X#AjantisRomanceMatch","GLOBAL",1)
!Global("X#AjTamokoKnowBhaal","GLOBAL",2)
THEN  
 RESPONSE #100
SetGlobal("X#AjTamokoKnowBhaal","GLOBAL",2)
END



//Ajantis Bhaal talk 
/* starts cycle: dialogue activation Global("X#AjTamokoKnowBhaal","GLOBAL",2) (PC 

found letter) */
IF
InParty(Myself)
!See([ENEMY])
See([PC])
!Global("X#AjantisRomanceActive","GLOBAL",3)
Global("X#AjantisRomanceMatch","GLOBAL",1)
Global("X#AjTamokoKnowBhaal","GLOBAL",2)
Global("X#AjantisKnowBhaalTalk","GLOBAL",0) 
THEN
RESPONSE #100
SetGlobal("X#AjantisKnowBhaalTalk","GLOBAL",1)
END




/* first knowbhaal-LT: dialogue triggering  */
IF 
InParty(Myself)
!See([ENEMY])
See([PC])
Global("X#AjantisKnowBhaalTalk","GLOBAL",1)
THEN
 RESPONSE #100
ActionOverride("ajantis",Dialogue([PC]))
END

Link to comment

In the risk of embarrassing myself again, but I have a problem I don't understand.

I add a block of script to the taverns of BG1, that sets a variable:

 

IF
InParty("ajantis")	
!See([ENEMY])
See([PC])
!Global("X#AjantisRomanceActive","GLOBAL",3)
Global("X#AjantisRomanceMatch","GLOBAL",1)
Global("X#AjantisReadyForNT","GLOBAL",1)
THEN
 RESPONSE #100	
 SetGlobal("X#AjantisReadyForNT","GLOBAL",2)
 SetGlobal("X#AjantisRomanceNight3","GLOBAL",1)
 SetGlobal("X#AjantisRomanceWaitLT","GLOBAL",2)
END

 

The tp2-patching of the tavern scripts:

EXTEND_BOTTOM ~AR1001.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR0116.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR0119.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR0103.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR0114.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR0705.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR0105.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR0133.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR2301.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR3304.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR3307.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR3351.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~
EXTEND_BOTTOM ~AR3357.BCS~ ~C#AjantisRomance_BG1/Scripts/C#Tavern_AD.BAF~

 

In Ajantis' script, the necessary vaiables get set and the dialogue in the tavern gets triggered via:

 

//night talk in tavern
/* activate the dialogue - triggering by tavern script */

/* two blocks because of "OR()" */
IF
InParty("ajantis")	
//	GlobalTimerExpired("X#AjantisRomance","GLOBAL")
!Global("X#AjantisRomanceActive","GLOBAL",3)
Global("X#AjantisRomanceMatch","GLOBAL",1)
//	Global("X#AjantisRomanceIntimacy","GLOBAL",1)
//	Global("X#AjantisLoveTalk","GLOBAL",43)
Global("X#AjantisReadyForNT","GLOBAL",0)
THEN
 RESPONSE #100	
 SetGlobal("X#AjantisReadyForNT","GLOBAL",1)
END

IF
InParty("ajantis")
GlobalTimerExpired("X#AjantisRomance","GLOBAL")
!Global("X#AjantisRomanceActive","GLOBAL",3)
Global("X#AjantisRomanceMatch","GLOBAL",1)
Global("X#AjantisRomanceWantsInt","GLOBAL",2)
Global("X#AjantisLoveTalk","GLOBAL",43)
Global("X#AjantisReadyForNT","GLOBAL",0)
THEN
 RESPONSE #100	
 SetGlobal("X#AjantisReadyForNT","GLOBAL",1)
END

IF 
InParty(Myself)
!See([ENEMY])
See([PC])
Global("X#AjantisRomanceNight3","GLOBAL",1)
THEN
 RESPONSE #100
ActionOverride("ajantis",Dialogue([PC]))
END

 

I commented some lines out to test the dialogue triggering.

 

"X#AjantisRomanceActive" is at 1, "X#AjantisRomanceMatch" is at 1.

 

It seems the tavern script block does not get executed. I checked several taverns, but it seems the variables don't get set.

Setting the "X#AjantisReadyForNT" to 1 by cheats before entering a tavern didn't trigger it, either.

 

I guess it's something supid again, but I am a bit clueless.

Link to comment

I don't have the possibility to check, so I am hoping someone can do it for me. It seems the action "StartMovie("REST")" does not work in vanilla BG1 (without TotSC).

The movie obviously exists, as the restmovie shows if resting outside.

Does it have a different name, or is the "StartMovie" the problem? How would I start a movie in BG1 (without TotSC)?

Since there is no "FadeToColor()" in BG1 (without TotSC), I wanted to use the rest movie, even though it shows a camping scene.

Or is there another way to simulate a blackening screen other than to use "FadeToColor"?

 

EDIT: Apparently, "StartMovie("REST")" does work in plain BG1, I don't know what the problem was on my first try.

 

Still, if anyone has an idea how to simulate a blackening screen in plain BG1, I would be happy to hear about it.

Link to comment

GlobalTimerNotExpired() doesn't seem to work in BG1. I had to use !GlobalTimerExpired() to get the wanted behaviour. Does anyone have experience with this?

Does it mean !GlobalTimerNotExpired() doesn't work as it should as well?

("!GlobalTimerNotExpired()" is the only timer trigger that includes the times before that timer has been running the first time.)

Link to comment

Archived

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

×
×
  • Create New...