MesaSolar Posted October 10, 2020 Share Posted October 10, 2020 This feels like a really stupid question, but I'm a little stuck at the moment.Using a defaultsetstagetriggerplayeronly to set a stage in a quest line. Selected the right quest.Used the prereq stage for 80And setstage for 81 But when I enter the trigger it doesn't fire. I can manually set the stage with a console command and that works. So not sure what the problem is. I'm not using the trigger box as an alias at the moment. So that shouldn't be an issue. Link to comment Share on other sites More sharing options...
IsharaMeradin Posted October 10, 2020 Share Posted October 10, 2020 Post your script code as "defaultsetstagetriggerplayeronly" does not seem to be a base game script. Link to comment Share on other sites More sharing options...
MesaSolar Posted October 10, 2020 Author Share Posted October 10, 2020 Trigger name: defaultSetStageTRIGPlayerOnly from vanilla triggers. scriptname defaultSetStageTrigSCRIPT extends objectReference { this is a generic script for one-shot quest stage updates} import game import debug quest property myQuest auto { quest to call SetStage on} int property stage auto { stage to set} bool property doOnce = True auto {Set the stage only once.} int property prereqStageOPT = -1 auto { OPTIONAL: stage that must be set for this trigger to fire } bool property disableWhenDone = true auto { disable myself after I've been triggered. Defaults to true } auto STATE waitingForPlayer EVENT onTriggerEnter(objectReference triggerRef) if triggerRef == getPlayer() as actor ; check to see if a pre-req stage was specificed and if it's been met if prereqStageOPT == -1 || MyQuest.getStageDone(prereqStageOPT) == 1 ; Start the quest just in case it isn't already running. if myQuest.isRunning() == FALSE bool check = myQuest.start() ; do a quick check in case the quest could not be started if !check ; debug.trace("ERROR: "+myQuest+" not started by "+self) endif endif ; do the actual business of setting the stage we want myQuest.setStage(stage) if doOnce gotoState("hasBeenTriggered") endif if disableWhenDone Disable() endif endif endif endEVENT endSTATE STATE hasBeenTriggered ; this is an empty state. endSTATE Link to comment Share on other sites More sharing options...
IsharaMeradin Posted October 11, 2020 Share Posted October 11, 2020 Make sure the properties are filled correctly. Test on a new game just to rule out any mid-game save issues getting in the way. Other than that, I cannot think of any reason why said script would not work as intended. Link to comment Share on other sites More sharing options...
MesaSolar Posted October 11, 2020 Author Share Posted October 11, 2020 Not sure why this was an issue but what ended up fixing it was enlarging the triggerbox to make it taller and deeper even though it was placed on the ground around a door marker. Weird. Link to comment Share on other sites More sharing options...
IsharaMeradin Posted October 11, 2020 Share Posted October 11, 2020 The trigger volume box does need to be big enough for the entire target object to enter. So if it is the player, it has to be taller and a bit wider / deeper than the size of a door marker. Link to comment Share on other sites More sharing options...
Recommended Posts