Jump to content

What does 'setactive()' do?


drift123

Recommended Posts

I want to verify what the 'setactive()' command does.

 

On the creation kit wiki it says 'Flags this quest as active or not (tracked by the player)'

http://www.creationkit.com/fallout4/index.php?title=SetActive_-_Quest

 

I assume this means it determines if the quest is marked in the journal and displays quest markers.

 

But does it affect anything else related to the quest?

 

Thank you

Link to comment
Share on other sites

Two answers:

1. No idea as the linked function is for Fallout 4, but it is probably the same as Skyrim.

2. The Skyrim version (http://www.creationkit.com/index.php?title=SetActive_-_Quest) is used to determine if the quest is marked in the journal and thus have its markers displayed. It doesn't do anything else beyond toggling its display status in the journal.

 

Only reason I can think to use it would be to ensure that whenever objectives are updated that its markers get displayed on the compass and the map. But since the player can turn those on and off at will, there isn't much point in bothering with it, in my opinion.

Link to comment
Share on other sites

Oops I meant to put the Skyrim link.

 

Thanks for confirming.

 

The reason I'm wondering is I am using a mod called 'Even Better Quest Objectives', which gives more detailed descriptions of quests. I am trying to disable quest markers from being activated by the game automatically, since doing this manually can be annoying.

 

To do this I created a quest that cannot be completed and keep it active in my journal with its only objective being 'Survive Skyrim'. The game will not make new quests active if another is already active in the journal. The problem is that some of the quest scripts activate quest markers with 'setactive()'. I wanted to make sure that if I disable this command it will not break anything else in the quest that was not immediately visible to me.

 

And I know that in skyrimprefs.ini you can disable quest markers, however they still show up on the local map...

Link to comment
Share on other sites

I don't think this is gonna work out ... the .SetActive() has to be set to do the quest at all ...

If you don't want to see it on the map and not doing it at the moment just deactivate it in the journal.

 

But I take it you do want it active you just don't want to see the markers ... maybe the ini change is for you.

Link to comment
Share on other sites

Go ahead and disable the SetActive() command if you want. Look through the BSAs and loose files for your mods for any that might be overwriting one of the scripts you plan to edit. You need to change the one that the game would be loading but that's the only thing that could be a problem. (If the mod doesn't provide source code there's a great script decompiler called Champolion.)

 

I don't think this is gonna work out ... the .SetActive() has to be set to do the quest at all ...

If you don't want to see it on the map and not doing it at the moment just deactivate it in the journal.

 

But I take it you do want it active you just don't want to see the markers ... maybe the ini change is for you.

No, as IsharaMeradin said, that function simply affects how the quest is displayed and if its quest markers are visible. SetActive() is the script equivalent of clicking on the quest in the journal.

 

Active simply means the markers are visible and inactive means that they aren't. That's the language straight from the tutorial help text you get at the beginning of the game. Even inactive quests will update and function as long as they are running. And SetActive() doesn't do anything unless the quest is already running.

Link to comment
Share on other sites

I've tested it out and the quest runs normally and nothing I can see changes other than the quest markers disappearing and the journal not auto-selecting a quest.

 

I can still complete the quests without quest markers displayed because of a mod I use that gives more detailed descriptions for where to go. This makes the game feel more like Morrowind, where you need to search for things rather than follow a quest marker. It also makes a spell like clairvoyance have a real use because now I cannot rely on the map/compass.

 

I have isolated the script files that use 'setactive' and understand most of them. They are either activating weather or the quest tracking.

But I am still unsure about this file: DLC1VampireCastleControllerScript.psc

00170: ; (DLC1VQ08BossRoomCleanupRef as DLC1VQ08BossRoomCleanupScript).SetActive(true)
00181: (DLC1VQ08BossRoomCleanupRef as DLC1VQ08BossRoomCleanupScript).SetActive(false)
00193: ;(DLC1VQ08BossRoomCleanupRef as DLC1VQ08BossRoomCleanupScript).SetActive(false)
00250: (DLC1VQ08BossRoomCleanupRef as DLC1VQ08BossRoomCleanupScript).SetActive(true)

I don't understand what is happening in this case...

Edited by drift123
Link to comment
Share on other sites

Hmmm ... when I click the quest in my journal it's turns off ... and the quest can't be done until I click it again to turn it on ... are you sure about this ?

 

Also who starts a sentence with the word [ No, ] ... I did say "I think" not "I know" ... learn some tact.

I don't think he's trying to be rude though I see why you might interpret it that way.

 

I think he's right though in that it only affects the tracking of the quest (journal and quest markers) but the quest will still run behind the scenes. The game was not designed to be played without quest markers though, which is why I use 'Even Better Quest Objectives' mod to remedy this.

Link to comment
Share on other sites

I've tested it out and the quest runs normally and nothing I can see changes other than the quest markers disappearing and the journal not auto-selecting a quest.

 

I can still complete the quests without quest markers displayed because of a mod I use that gives more detailed descriptions for where to go. This makes the game feel more like Morrowind, where you need to search for things rather than follow a quest marker. It also makes a spell like clairvoyance have a real use because now I cannot rely on the map/compass.

 

I have isolated the script files that use 'setactive' and understand most of them. They are either activating weather or the quest tracking.

But I am still unsure about this file: DLC1VampireCastleControllerScript.psc

 

00170: ; (DLC1VQ08BossRoomCleanupRef as DLC1VQ08BossRoomCleanupScript).SetActive(true)

00181: (DLC1VQ08BossRoomCleanupRef as DLC1VQ08BossRoomCleanupScript).SetActive(false)

00193: ;(DLC1VQ08BossRoomCleanupRef as DLC1VQ08BossRoomCleanupScript).SetActive(false)

00250: (DLC1VQ08BossRoomCleanupRef as DLC1VQ08BossRoomCleanupScript).SetActive(true)

 

I don't understand what is happening in this case...

The ones with ; in front are commented out. So ignore them.

 

They are actually calling a function on the script DLC1VQ08BossRoomCleanupScript. This function sets a variable on that script to the value passed into the SetActive() function. This is not the same function as SetActive() for quests or even SetActive() for weathers.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...