Jump to content
TrippyJing

Dynaheir's Journal

Recommended Posts

After I helped Drizzt out with the gnolls, I went on to rescue Dynaheir. I ran into Drizzt again, and this is where the problem is. After handing me the journal page, he walks off and does not return, even after 24 hours. I've walked around and cleared the map...no dice. I left the map, and came back....still nothing. Am I missing something here?

Share this post


Link to post
Guest Icarian

On a tangent, is it possible to kill Drizzt and still finish Dynaheir's quest, or are the two choices mutually exclusive?

Share this post


Link to post

@TripyJing - yep, a quick read of the docs or the various forum posts will let you know that you are looking in the one place *guaranteed* *not* to allow Drizzt to respawn :rolleyes:

 

@ Icarian - if you kill Drizzt (the vanilla game one you meet) then you will not get him coming back to you in any form in the project. All his stuff has checks to make sure that if he is dead, it is blocked from appearing. If you clobber a mod-added Drizzt, or he dies in NEJ on a BP install, I am not sure if he will fire off or not. I am pretty sure he won't. But i don't remember what variable they use for Drizzt's script name.

 

Technically, you could complete the Journal quest by refusing his help, and going it alone - that will get you the journal through a third pathway. But I think they get ticked if you kill him.

Share this post


Link to post

I don't understand.

 

1. I meet Drizzt initially at AR4200.

 

2. I fight off the gnolls.

 

3. I go save Dynaheir.

 

4. I meet Drizzt again, this time at AR5200.

 

5. He gives me the parchment, I choose the "Drizzt and party" search option.

 

6. He tells me to meet him here (by which I assume to mean AR5200) in a day.

 

7. He does not return.

 

8. I clear out AR5200 several times, rest MANY times, leave and come back MANY times. He does not come back.

 

Now, I've read through everything already. The documentation and the forums posts indicate that he will never respawn in AR4200. But that's not my problem. My problem is that he's not respawning in AR5200. The documentation also indicates that I have to run into "Good Gnolls" for him to reappear. But I've yet to run into THEM either. Where are they?

Share this post


Link to post

TrippyJing, what version are you playing, please?

Share this post


Link to post
Guest jeffy777

I'm having the exact same problem. Drizzt told me to meet him back at that spot after a day (my journal says the same), but he never comes back. There is a gnoll standing there that won't speak to me though.....not sure if that's related.

 

One thing to note: I did meet the friendly gnolls who read the journal, etc., but then I got killed by a vampire wolf and re-loaded my saved game. After reloading, I never met the friendly gnolls again and Drizzt doesn't return after a day......

Share this post


Link to post
I'm having the exact same problem. Drizzt told me to meet him back at that spot after a day (my journal says the same), but he never comes back. There is a gnoll standing there that won't speak to me though.....not sure if that's related.

 

One thing to note: I did meet the friendly gnolls who read the journal, etc., but then I got killed by a vampire wolf and re-loaded my saved game. After reloading, I never met the friendly gnolls again and Drizzt doesn't return after a day......

Try reloading a save from before the area where the "good gnolls" spawn. I ran into the issue where only 3 of the 4 spawned, and I did not get the dialogue to start. Reloading and travelling to the area again allowed a gnoll respawn where all 4 gnolls appears, and then everything worked properly.

Share this post


Link to post

OK, let's try to lock this down. Recode into cutscenes;

 

x#dynaquest.baf

NOTE: INLINED FILES ARE NOT REALLY THERE...

I am leaving them in this post to show how it flows,. The actual changes will add COMPILE commands to the ,tp2.

 

/* Drizzt finds the party and initiates Dynaheir's Quest */
IF %BGT_VAR%
Global("X#DynaJournal","GLOBAL",1)
Global("X#DQDrizztSpawn","GLOBAL",0)
!Dead("drizzt")
!AreaCheck("%FishermansLake%")
OR(8)
AreaCheck("%RedCanyons%")
AreaCheck("%SouthBeregostRoad%")
AreaCheck("%ArchaeologicalSite%")
AreaCheck("%NorthNashkelRoad%")
AreaCheck("%BearRiver%")
AreaCheck("%XvartVillage%")
AreaCheck("%DryadFalls%")
AreaCheck("%FireLeafForest%")
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
InMyArea(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
THEN
RESPONSE #100
SetGlobal("X#DQDrizztSpawn","GLOBAL",1)
SetGlobal("X#DynaJournal","GLOBAL",2)
END


IF %BGT_VAR%
Global("X#DQDrizztSpawn","GLOBAL",1)
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
InMyArea(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
THEN
RESPONSE #100
SetGlobal("X#DQDrizztSpawn","GLOBAL",2)
ClearAllActions()
StartCutSceneMode()
StartCutScene("x#dqds1")
END

<<<<< 
/* new cutscene, x#dqds1.baf  */
IF
  True()
THEN
RESPONSE #100
CutSceneId(Player1)
ClearAllActions()
Wait(3)
SetGlobal("X#DQDrizztStart","GLOBAL",1)
CreateCreatureObjectOffset("X#DRIZZT",Player1,[30.30])
Wait(3)
EndCutSceneMode()
ActionOverride("x#drizzt",Dialogue(Player1))
END
>>>>>

/* Create Good Gnolls for Dynaheir's Quest */
IF %BGT_VAR%
Global("X#DQGoodGnolls","GLOBAL",0)
Global("X#DynaJournal","GLOBAL",3)
GlobalTimerExpired("X#DQGGnollTimer","GLOBAL")
OR(8)
AreaCheck("%RedCanyons%")
AreaCheck("%SouthBeregostRoad%")
AreaCheck("%ArchaeologicalSite%")
AreaCheck("%NorthNashkelRoad%")
AreaCheck("%BearRiver%")
AreaCheck("%XvartVillage%")
AreaCheck("%DryadFalls%")
AreaCheck("%FireLeafForest%")
THEN
RESPONSE #100
SetGlobal("X#DynaJournal","GLOBAL",4)
SetGlobal("X#DQGoodGnollsSpawn","GLOBAL",1)
END

/* Inintiate Good Gnolls for Dynaheir's Quest */
IF %BGT_VAR%
Global("X#DQGoodGnollsSpawn","GLOBAL",1)
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
InMyArea(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
THEN
RESPONSE #100
SetGlobal("X#DQGoodGnollsSpawn","GLOBAL",2)
ClearAllActions()
StartCutSceneMode()
StartCutScene("x#dqds2")
END


<<<<< 
/* new cutscene, x#dqds2.baf  */
IF
  True()
THEN
RESPONSE #100
CutSceneId(Player1)
ClearAllActions()
Wait(3)
SetGlobal("X#DQGoodGnolls","GLOBAL",1)
CreateCreatureObjectOffset("X#DGNLG1",Player1,[100.100])
CreateCreatureObjectOffset("X#DGNLG2",Player1,[75.100])
CreateCreatureObjectOffset("X#DGNLG3",Player1,[75.75])
CreateCreatureObjectOffset("X#DGNLG4",Player1,[100.75])
ActionOverride("X#DGNLG1",FaceObject(Player1))
ActionOverride("X#DGNLG2",FaceObject(Player1))
ActionOverride("X#DGNLG3",FaceObject(Player1))
ActionOverride("X#DGNLG4",FaceObject(Player1))
Wait(3)
EndCutSceneMode()
ActionOverride("X#DGNLG1",Dialogue(Player1))
END
>>>>>


/* Dynaheir's Quest if Drizzt is not included */
IF %BGT_VAR%
Global("X#DyQuPartyAlone","GLOBAL",1)
GlobalTimerExpired("X#DQEGnollTimer","GLOBAL")
Global("X#DynaJournal","GLOBAL",5)
OR(8)
AreaCheck("%RedCanyons%")
AreaCheck("%SouthBeregostRoad%")
AreaCheck("%ArchaeologicalSite%")
AreaCheck("%NorthNashkelRoad%")
AreaCheck("%BearRiver%")
AreaCheck("%XvartVillage%")
AreaCheck("%DryadFalls%")
AreaCheck("%FireLeafForest%")
THEN
RESPONSE #100
SetGlobal("X#DyQuPartyAlone","GLOBAL",2)
END

/* Inintiate Evil Gnolls for Dynaheir's Quest */
IF %BGT_VAR%
Global("X#DyQuPartyAlone","GLOBAL",2)
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
InMyArea(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
THEN 
RESPONSE #100
SetGlobal("X#DyQuPartyAlone","GLOBAL",3)
ClearAllActions()
StartCutSceneMode()
StartCutScene("x#dqds3")
END

<<<<< 
/* new cutscene, x#dqds3.baf  */
IF
  True()
THEN
RESPONSE #100
CutSceneId(Player1)
ClearAllActions()
Wait(3)
CreateCreatureObjectOffset("X#DGNLE1",Player1,[100.100])
CreateCreatureObjectOffset("X#DGNLE2",Player1,[75.100])
CreateCreatureObjectOffset("X#DGNLE3",Player1,[75.75])
CreateCreatureObjectOffset("X#DGNLE4",Player1,[100.75])
ActionOverride("X#DGNLE1",FaceObject(Player1))
ActionOverride("X#DGNLE2",FaceObject(Player1))
ActionOverride("X#DGNLE3",FaceObject(Player1))
ActionOverride("X#DGNLE4",FaceObject(Player1))
Wait(3)
EndCutSceneMode()
ActionOverride("X#DGNLE1",Dialogue(Player1))
END
>>>>>

 

This means, for future failures of spawn, etc, a player can do the following to get the encounters:

 

1. to force-spawn/respawn Drizzt, StartCutScene("x#dqds1").

That will set the initial speaking dialog and spawn him, then start him talking.

 

2. to force-spawn/respawn the good gnolls, encountered on every single pathway of the quest, StartCutScene("x#dqds2").

That will set the initial Good gnolls speaking dialog and spawn them, then start the lead gnoll talking.

 

3. to force-spawn/respawn the evil gnolls, encountered ONLY on "we can search alone" branch the quest, where Drizzt never appears again in relation to the quest, StartCutScene("x#dqds3").

That will set the initial Good gnolls speaking dialog and spawn them, then start the lead gnoll talking.

 

Things that could go wrong - folks could not wait for the gnoll timer to expire, or something could interrupt it (how, i have no idea). It is SetGlobalTimer/GlobalTimerExpired, so ingame, and set to 20, which should be very, very, very short...

 

...or, the random area portion could have a problem with a gnoll not spawning. This could (possibly) hang the cutscene open, which would at least tell players what has gone wrong. Or it could result in a situation where the cutscene completes, but because of positioning, the lead gnoll does not spawn, and things would not work - in which case, move over to a clear area, and run the cutscene again, and everything should spawn and initiate.

 

 

I will revisit this tomorrow for recheck before merging changes and logging it.

Share this post


Link to post
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...