LegoManIAm94 Posted November 11, 2013 Share Posted November 11, 2013 I am trying to get a package condition to detect a certain stage objective (quest marker not quest stage) to be present in order for the package to run but I cannot find way to make it work. Link to comment Share on other sites More sharing options...
Vamyan Posted November 12, 2013 Share Posted November 12, 2013 (edited) add (or use) package data that points to the quest marker Condition Function: GetDistanceOption (Use Pack Data) checkedselect package data (probably needs to be some kind of target data) and adjust distance as required. edit: I guess you can just use GetDistance without the package data and select the appropriate ref, but meh... seemed cleaner to me, especially if you already have the data in the package itself as a target. Edited November 12, 2013 by Vamyan Link to comment Share on other sites More sharing options...
LegoManIAm94 Posted November 13, 2013 Author Share Posted November 13, 2013 add (or use) package data that points to the quest marker Condition Function: GetDistanceOption (Use Pack Data) checkedselect package data (probably needs to be some kind of target data) and adjust distance as required. edit: I guess you can just use GetDistance without the package data and select the appropriate ref, but meh... seemed cleaner to me, especially if you already have the data in the package itself as a target. I have tried to use getstage cwobj == 601 but it does not work since there is no stage 601 but a objective (quest marker) as 601. I don't think getdistance is what I need since from previous TES Games it the distance from one ref to another ref. Link to comment Share on other sites More sharing options...
Vamyan Posted November 13, 2013 Share Posted November 13, 2013 you have a reference to your quest marker right? don't you have to place some kind of marker into the render frame and mark it as the quest marker? Link to comment Share on other sites More sharing options...
LegoManIAm94 Posted November 14, 2013 Author Share Posted November 14, 2013 you have a reference to your quest marker right? don't you have to place some kind of marker into the render frame and mark it as the quest marker? Yes but this AI will be triggered when the quest objective is at 601. It does not matter if she is near the quest marker or not since she needs to travel there and stay there until it is not 601. Link to comment Share on other sites More sharing options...
Vamyan Posted November 14, 2013 Share Posted November 14, 2013 I must not be understanding what you mean by quest objective vs quest stage. Link to comment Share on other sites More sharing options...
Vamyan Posted November 14, 2013 Share Posted November 14, 2013 Ahh, I think I get you. I'm not sure it's the BEST way, but at this point, I'd set up a quest conditional property to do the work. You set the quest objective to 601 at some point via script, you could also set the quest conditional at that time. Something like this in your main quest script (make sure the script line at the top has the Conditional flag too) int property CurrentQuestObjective Auto Conditional . . . CurrentQuestObjective = 601 SetObjectiveDisplayed(601) ; or whatever or if from a fragment, make sure you've got a property pointing at your main quest and... pMainQuest.CurrentQuestObjective = 601 Then in the conditional, choose GetVMQuestVariable, select your main quest, and the ::CurrentQuestObjective variable, compare against 601, and there you go. Link to comment Share on other sites More sharing options...
LegoManIAm94 Posted November 15, 2013 Author Share Posted November 15, 2013 Ahh, I think I get you. I'm not sure it's the BEST way, but at this point, I'd set up a quest conditional property to do the work. You set the quest objective to 601 at some point via script, you could also set the quest conditional at that time. Something like this in your main quest script (make sure the script line at the top has the Conditional flag too) int property CurrentQuestObjective Auto Conditional . . . CurrentQuestObjective = 601 SetObjectiveDisplayed(601) ; or whatever or if from a fragment, make sure you've got a property pointing at your main quest and... pMainQuest.CurrentQuestObjective = 601 Then in the conditional, choose GetVMQuestVariable, select your main quest, and the ::CurrentQuestObjective variable, compare against 601, and there you go. There is no quest variable for the quest I want to read which is CWObj. Its a vanilla quest. How do I get one or create a variable. Link to comment Share on other sites More sharing options...
Vamyan Posted November 15, 2013 Share Posted November 15, 2013 umm... you'll need some kind of quest script of your own registered for update to keep a conditional var up to date for you... you'll need to check this on the CWObj quest... http://www.creationkit.com/IsObjectiveDisplayed_-_Quest and set your conditional var as detailed before. Link to comment Share on other sites More sharing options...
LegoManIAm94 Posted November 23, 2013 Author Share Posted November 23, 2013 umm... you'll need some kind of quest script of your own registered for update to keep a conditional var up to date for you... you'll need to check this on the CWObj quest... http://www.creationkit.com/IsObjectiveDisplayed_-_Quest and set your conditional var as detailed before. I have been trying to make my script work but skyrim scripting is a pain to me. Scriptname CWCOMMANDERQScript extends Quest GlobalVariable Property CWCOMMANDERSTAGE Auto if (IsObjectiveDisplayed(601) == true) CWCOMMANDERSTAGE.SetValue(601)endif Link to comment Share on other sites More sharing options...
Recommended Posts