primem0ver Posted October 19, 2021 Share Posted October 19, 2021 (edited) It has been a while since I tested it last, but I have had a problem getting a quest to start properly. (It doesn't seem to start at all). I want a quest to start the moment the player walks through a specific hallway in a dungeon which leads to a room. However, it only starts if another quest has not started yet. So this is how I set it up: I have a defaultActivateSelfTrigger. I have an additional script tied to the object with the following code: auto State waiting Event onTriggerEnter(objectReference triggerRef) Debug.Notification("KilkreathTrigger!") Actor actorRef = triggerRef as Actor ; check whether we care if the player is activating if(actorRef == game.getPlayer()) Debug.Notification("Triggered By Player!") if HasRun == FALSE Debug.Notification("Running once!") if SBDRecruit.GetStage() == 0 Debug.Notification("Starting Errand Quest with stage 5!") SBMErrand.Start() SBMErrand.SetStage(5) else Debug.Notification("Quest Past Stage 0") endif HasRun = TRUE Self.Disable() gotoState("allDone") endif endif endEvent endState State allDone ;do nothing endState The quest has 4 aliases. Alias 0 is a chest. Alias 1 is a person (who you bring aliases 2 and 3 to). Alias 2 is a "tattered journal" that is created along with alias 3 (a "mysterious artifact") when the quest begins. Both of the last two aliases are supposed to be newly created references to their base objects "in" the chest. However, both objects fail to be created. My guess is that something is wrong with the above setup. I don't recall whether or not the messages appeared (from the script) but I don't believe so. What is the best way to get this to work? The items should ONLY appear in the chest if the SBDRecruit quest has not begun. Perhaps something in the dungeon has already walked through the defaultAcitvateSelf trigger and invalidated it. Since it wasn't the player, it would not start the quest? Edited October 19, 2021 by primem0ver Link to comment Share on other sites More sharing options...
IsharaMeradin Posted October 19, 2021 Share Posted October 19, 2021 Instead of SBDRecruit.GetStage() == 0 use !SBDRecruit.IsRunning() this ensures that the other quest is not running at all. Otherwise the other quest could be active but sitting at stage 0 and still trigger. I don't see your properties listed on your script. Make sure you have properties for your quests and that they have been filled correctly. An empty property will cause it to not work as intended. Also test on a new game to rule out anything left behind in the save file preventing the script from properly executing. Link to comment Share on other sites More sharing options...
primem0ver Posted October 20, 2021 Author Share Posted October 20, 2021 Instead of SBDRecruit.GetStage() == 0 use !SBDRecruit.IsRunning() this ensures that the other quest is not running at all. Otherwise the other quest could be active but sitting at stage 0 and still trigger.Thanks for the advice here. Will do that. However, this points out what would make it run when it is not supposed too. I am trying to figure out why it isn't running at all. I don't see your properties listed on your script. Make sure you have properties for your quests and that they have been filled correctly. An empty property will cause it to not work as intended.Yup. They are filled correctly. I double checked in both CK and SSEEdit. Also test on a new game to rule out anything left behind in the save file preventing the script from properly executing.I have done this already. However, In a new game, one cannot access Kilkreath. You have to get Meridia's beacon which isn't located anywhere specific. So I have to cheat to get in without playing for a while to find the beacon. Not sure if this matters or not. I wouldn't think so though... Is there another way to approach this? Any reason a defaultActivateSelfTrigger wouldn't work? Link to comment Share on other sites More sharing options...
IsharaMeradin Posted October 20, 2021 Share Posted October 20, 2021 Have you tested the quest alone? I.e. started it in the console to see if the items appear. Link to comment Share on other sites More sharing options...
primem0ver Posted November 10, 2021 Author Share Posted November 10, 2021 Thanks for your interest. Juggling a lot in my life right now. I may or may not have done that in the past. It is certainly worth trying... I am still finishing up my new tool that plan on contributing before I try playing Skyrim again. It should be up in the next month or so. I will get back to working on this then. Link to comment Share on other sites More sharing options...
Recommended Posts