Jump to content

WindhelmIntroSceneStartTRIGGER StartSceneTriggerSpecificTime


DayDreamer

Recommended Posts

USKPChangeLocation10 has an alias for the trigger, making it persistent, throwing an error in the log....

But that's not the main problem. This scene is incredibly hard to hear. This trigger box is so large, the conversation is nearly over before the player is within hearing distance.

Another problem is that it is timed. But the trigger box start time is the same as the package start times. So Malthyr and Brunwulf begin walking toward their markers at 8. They arrive at different times within the hour. If the player has entered the trigger at any time before they arrive at their markers, they begin speaking their lines as they walk. Not even within hearing distance of each other and not usually hearing distance of the player. (Testing shows it possible to be near Brunwulf as he starts talking, quite weird to hear only his half of the conversation.)

The trigger needs to be smaller so the player is closer to the markers. But the trigger times are script persistent, so changes are needed to the packages.

The good thing is that US*P has already fixed the package conditions, so already responsible. (One was DialogueWhiterun kid fight variable, what were they thinking?) Now the packages need to start earlier, so that they have arrived by the 8 am trigger time.

Finally, the delete() line should be removed from StartSceneTriggerSpecificTime. The disable() is sufficient. USKP 2.0.4 has already added a sanity check, so it is already in our wheelhouse.

Link to comment
Share on other sites

A smaller trigger works much better, for several reasons. Malthyr doesn't have far to go, so 7.75 works well. Brunwulf has farther, but stops several times and looks back and forth as he walks, so 7.25 is about right. However, Brunwulf's regular 7 am package has him walking toward the inn for breakfast, and at 7:15 (7.25) he turns around and walks back. Setting 7.5 for Malthyr and 7.0 for Brunwulf gets them to their markers a bit early, but looks more natural.

Yet there's another bug. The script merely checks:

if (triggerActor == None || actronaut as actor == triggerActor)

The triggerActor field documentation says {by default, the player}. But default is None, and it never checks for the player. A passing guard will start the scene. For the original huge trigger size, Viola could start the scene.

Instead:

	; USSEP check for player to match documentation
	Actor acroActor = actronaut as actor
	if ((triggerActor == None && game.GetPlayer() == acroActor) || triggerActor == acroActor)
		;USKP 2.0.4 - Sanity check added to be sure the scene's quest is still running.
		if (PrereqQuest == None || prereqStage == -1 || (PrereqQuest.GetStageDone(prereqStage) && PrereqQuest.IsRunning() ) )

Hopefully, this fixes the obvious bugs, so that obscure ones can be uncovered.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...