Jump to content

Cannot get Dream Script to fire (RESOLVED)


tibicina

Recommended Posts

EDIT: COMPILE EVALUATE_BUFFER was the key. Thanks, jastey... :-)

 

 

 

Very frustrating! Normal love-talks are firing as they ought, but dream scripts are not... I'm obviously doing something wrong, but can't figure what.

 

Here's the relevant part of TIMaethD.baf:

 

 

 

//(TIMaeth Talk #4) LoveTalk #1

 

IF
InParty(Myself)
See(Player1)
Global("TIMaethShutUp","GLOBAL",0)
Global("TIMaethLovetalks","GLOBAL",7)
Global("TIMaethTalk","GLOBAL",7) // talk 1-3 already happened
Global("TIMaethRomanceActive","GLOBAL",1)
!StateCheck(Player1,CD_STATE_NOTVALID)
!StateCheck(Myself,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
OR(2)
AreaType(FOREST)
AreaType(OUTDOOR)
TimeOfDay(NIGHT)
THEN
RESPONSE #100
IncrementGlobal("TIMaethLoveTalks","GLOBAL",1)
IncrementGlobal("TIMaethTalks","GLOBAL",1)
PlaySong(0)
PlaySound("TIApril")
StartDialogNoSet(Player1)
END

 

 

 

And here is the relevant part of TIMaethJ.d:

 

 

 

//(MaethTalk #4) Love Talk #1: Reverie (Outdoor, Night, Pre-Rest)

CHAIN
IF ~Global("TIMaethLoveTalks","GLOBAL",8) !HasItemEquiped("%tutu_var%BELT05","TIMaeth")~ THEN TIMaethJ TILT4
~*You are sitting by the fire, watching the flames, your body wrapped up in the snug softness of your bedroll. Your body is weary, but your mind will not let go of the events of the day. Even the hypnotic dance of the fire does nothing to soothe you. Then you hear the soft pad of footsteps near you and you look up to see Maethor, barefoot and dressed in her black shirt and breeches, looking down at you.~
==TIMaethJ~May I ask you a personal question, <CHARNAME>?~ DO ~IncrementGlobal("TIMaethTalks","GLOBAL",1) IncrementGlobal("TIMaethLoveTalks","GLOBAL",1)~
END
+ ~RACE(Player1, ELF)~ + ~Certainly.~ + LT30.1
+ ~RACE(Player1, ELF)~ + ~That depends. I'm not really in the mood for a philosophical discussion right now.~ + LT30.2
+ ~RACE(Player1, ELF)~ + ~No.~ + LT30.3
+ ~!RACE(Player1, ELF)~ + ~Certainly.~ + LT30.1.1
+ ~!RACE(Player1, ELF)~ + ~That depends. I'm not really in the mood for a philosophical discussion right now.~ + LT30.1.2.1
+ ~!RACE(Player1, ELF)~ + ~No.~ + LT30.1.3.1

 

 

 

 

 

 

Link to comment

What is happening instead? You are resting, but the resting dialogue doesn't trigger?

 

Hm, I don't see anything from the code, so I would check whether the conditions are really met... - Maybe the PC is wearing something that makes him invisible, or is hiding in shadows, for example? Maybe Global("TIMaethLovetalks","GLOBAL",7) or Global("TIMaethTalk","GLOBAL",7) are not really both at 7? etc...

 

What I do usually, is reduce the trigger by commenting out most of it, and the see what happens. Does the resting dialogue trigger if you just leave in the triggers:

InParty(Myself)

See(Player1)

Global("TIMaethLovetalks","GLOBAL",7)

Global("TIMaethRomanceActive","GLOBAL",1)

!StateCheck(Player1,CD_STATE_NOTVALID)

!StateCheck(Myself,CD_STATE_NOTVALID)

 

 

For example?

Link to comment

\

What I do usually, is reduce the trigger by commenting out most of it, and the see what happens. Does the resting dialogue trigger if you just leave in the triggers:

InParty(Myself)

See(Player1)

Global("TIMaethLovetalks","GLOBAL",7)

Global("TIMaethRomanceActive","GLOBAL",1)

!StateCheck(Player1,CD_STATE_NOTVALID)

!StateCheck(Myself,CD_STATE_NOTVALID)

 

 

For example?

 

This worked. The dream talk fired without the conditions present. And, in fact, the Outdoor/Forest Night talk works now. But now I'm having an issue with the Inn-based ream talks not firing. It, too, will fire when I comment out the conditions, but does not fire with the areachecks in place....

 

 

 

//(TIMaeth Talk #4) LoveTalk #1<--This one works great now...
IF
InParty(Myself)
See(Player1)
Global("TIMaethShutUp","GLOBAL",0)
Global("TIMaethLovetalks","GLOBAL",7)
Global("TIMaethRomanceActive","GLOBAL",1)
!StateCheck(Player1,CD_STATE_NOTVALID)
!StateCheck(Myself,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
OR(2)
AreaType(FOREST)
AreaType(OUTDOOR)
TimeOfDay(NIGHT)
THEN
RESPONSE #100
IncrementGlobal("TIMaethLoveTalks","GLOBAL",1)
IncrementGlobal("TIMaethTalks","GLOBAL",1)
PlaySong(0)
PlaySound("TIApril")
StartDialogNoSet(Player1)
END
//(TIMaeth Talk #8) LoveTalk #2 <--This one only works if I remove the AreaChecks.
IF
InParty(Myself)
See(Player1)
Global("TIMaethShutUp","GLOBAL",0)
Global("TIMaethLoveTalks","GLOBAL",15)
Global("TIMaethRomanceActive","GLOBAL",1)
!StateCheck(Player1,CD_STATE_NOTVALID)
!StateCheck(Myself,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
OR(21)
AreaCheck("%BaldursGateDocks_JopalinsTavern%")
AreaCheck("%Beregost_FeldepostsInn_L1%")
AreaCheck("%Beregost_JovialJuggler_L1%")
AreaCheck("%Beregost_RedSheaf_L1%")
AreaCheck("%Beregost_BurningWizard_L1%")
AreaCheck("%EBaldursGate_KeexieTavern_L1%")
AreaCheck("%EBaldursGate_ElfsongTavern_L1%")
AreaCheck("%EBaldursGate_Inn_L1%")
AreaCheck("%FriendlyArmInn_L1%")
AreaCheck("%Nashkel_Inn%")
AreaCheck("%NBaldursGate_ThreeOldKegs_L1%")
AreaCheck("%NEBaldursGate_BlushingMermaid_L1%")
AreaCheck("%NEBaldursGate_SplurgingSturgeon_L2%")
AreaCheck("%NEBaldursGate_SplurgingSturgeon_L1%")
AreaCheck("%NWBaldursGate_Helm&Cloak_L1%")
AreaCheck("%NWBaldursGate_Tavern_L1%")
AreaCheck("%SEBaldursGate_Inn_L1%")
AreaCheck("%SEBaldursGate_Blade&Stars_L1%")
AreaCheck("%SWBaldursGate_Tavern_L1%")
AreaCheck("%SWBaldursGate_YeOldeInn_L1%")
AreaCheck("%UlgothsBeard_Inn%")
THEN
RESPONSE #100
IncrementGlobal("TIMaethLoveTalks","GLOBAL",1)
IncrementGlobal("TIMaethTalks","GLOBAL",1)
PlaySong(0)
PlaySound("TIApril")
StartDialogNoSet(Player1)
END

I tried putting in just the area code numbers (for BGT) in the AreaCheck parentheses, but that didn't make a difference. The AreaCheck codes are copy and pasted without changes from another mod. Could I be missing something?
Link to comment

-Are you sure the area you are in is listed in the OR()? (What area number do you see if pressing the "x" in the game?)

-Are the OUTER_SPRINTs really defined in the tp2 (or an included tpa)? <- this cannot be your problem, if the area checks with area numbers also don't work.

-Is the script compiled using EVALUATE_BUFFER (or the installer wouldn't know the OUTER_SPRINTs)? <- this cannot be your problem, if the area checks with area numbers also don't work.

-Can Player1 be seen, or is he/she hiding in shadows, or wears a cloak of invisibility, etc.?

-How does the script block look if you look at it with NI if the mod is installed?

Link to comment

-Are you sure the area you are in is listed in the OR()? (What area number do you see if pressing the "x" in the game?)

-Are the OUTER_SPRINTs really defined in the tp2 (or an included tpa)? <- this cannot be your problem, if the area checks with area numbers also don't work.

-Is the script compiled using EVALUATE_BUFFER (or the installer wouldn't know the OUTER_SPRINTs)? <- this cannot be your problem, if the area checks with area numbers also don't work.

-Can Player1 be seen, or is he/she hiding in shadows, or wears a cloak of invisibility, etc.?

-How does the script block look if you look at it with NI if the mod is installed?

 

I need to double-check that I was using the correct area numbers for BGT. Because OUTER_SPRINT seems like the likely problem. No, I'm not sure the OUTER_SPRINTs were defined in the .tp2 and I simply compiled the script with COMPILE. I wasn't using EVALUATE_BUFFER... I'm going to check these two possibilities. Thank you!

Link to comment

Archived

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

×
×
  • Create New...