YouDoNotKnowMyName Posted January 24, 2021 Share Posted January 24, 2021 Good evening everybody! I am currently working on a mod that (among other things) has a script in it that should enable an "EnableMarker" when a certain quest is completed. Pretty simple stuff ... Basically the script goes like this: Scriptname NRHQ_EnableOnQuestComplete extends ObjectReference {Enables something when a specified quest is completed.} ObjectReference Property ThingToEnable Auto {The thing that gets enabled when a specified quest is done.} Quest Property questToCheck Auto {The Quest that will be checked for completion.} Event OnLoad() if (questToCheck.IsCompleted()) ThingToEnable.enable(); endIf endEventNow, does it make a difference if I just use console commands to "start" the quest, then "complete" the quest or actually play through the quest?(Because when I use console commands, I get no "journal entry" for the quest ...)Also, for this scirpt to work, I would have to "leave" the area and return (because it only "updates" onLoad), but since the player will be in an interior cell when the quest is completed, this won't be a problem ... Or am I missing something here?Is there any way to do this in a "more better" way? Link to comment Share on other sites More sharing options...
SKKmods Posted January 24, 2021 Share Posted January 24, 2021 The more better way may be to have a known quet competion stage (convention is RunOnStart 10 and RunOnEnd 1000) ; Self.RegisterForRemoteEvent(pTheQuest, "OnStageSet") And then Event Quest.OnStageSet(Quest akSender, int auiStageID, int auiItemID) If (akSender == pTheQuest) && (auiStageID == iStageIamInterestedIn) Self.UnRegisterForRemoteEvent(pTheQuest, "OnStageSet") ;do stuff Endif EndEvent Then it doesnt matter how the quest gets there, its a simple stage trigger. Link to comment Share on other sites More sharing options...
YouDoNotKnowMyName Posted January 24, 2021 Author Share Posted January 24, 2021 Ok, but that brings up anohter questin: Let's say that the quest "ends" at stage 500 and I make my script to check for that stage. Does the game still "retain" that value even after the quest has ended?Because the player might not immediatley go to the place where this script gets loaded ...I have the script attached to the enable marker that should be enabled by the script. It's in an exterior cell somewhere.And the script only gets loaded when that cell (and the object that the script is attached to) gets loaded, right? Because if the quest is completed, there is no reeason for the game to keep the "current stage" - value, right? Link to comment Share on other sites More sharing options...
SKKmods Posted January 25, 2021 Share Posted January 25, 2021 If a quest is running stages can be queried with GetStage() or GetStageDone(iStage) Completed status does not affect this. Stage and Objective info is only cleared if the quest is Reset() or Stop(). Link to comment Share on other sites More sharing options...
YouDoNotKnowMyName Posted January 25, 2021 Author Share Posted January 25, 2021 If a quest is running stages can be queried with GetStage() or GetStageDone(iStage) Completed status does not affect this. Stage and Objective info is only cleared if the quest is Reset() or Stop().Ok, got it!So like "Radiant quests" might be reset when a new one starts or something like tht ... The quest I wm planning on "checking" is a regualr quest, no a "repeating" one ... Thanks for the explaination! Link to comment Share on other sites More sharing options...
Recommended Posts