Jump to content

What does 'setactive()' do?


drift123

Recommended Posts

 

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.

 

Ok, so I looked at DLC1VQ08BossRoomCleanupScript and found this:

 

; use this to turn on/off object tracking

; (turn OFF before disabling)

function SetActive(bool bActive)

bIsActive = bActive

endFunction

 

What is object tracking? And I take it you meant that it will not activate the journal or quest markers.

 

Secondly I looked in the Quest.psc script and found:

 

; Flags this quest as "active" (tracked by the player)

Function SetActive(bool abActive = true) native

 

If I comment out this line, will it effectively disable the function for all quests that use it?

Link to comment
Share on other sites

I'm not exactly sure what those DLC scripts are tracking but it seems to have to do with whether or not stuff in the boss room should be cleaned up or not. That SetActive() function has nothing to do with quest markers. Leave it alone.

 

If you comment out the SetActive function declaration in the quest.psc script then all scripts that call it will log errors to the papyrus log. I also have no idea if that would halt the script or let it fail and continue with the rest of the script. Better to leave the Quest.psc alone. Plus editing it could interfere with any SKSE changes.

Link to comment
Share on other sites

I'm not exactly sure what those DLC scripts are tracking but it seems to have to do with whether or not stuff in the boss room should be cleaned up or not. That SetActive() function has nothing to do with quest markers. Leave it alone.

 

If you comment out the SetActive function declaration in the quest.psc script then all scripts that call it will log errors to the papyrus log. I also have no idea if that would halt the script or let it fail and continue with the rest of the script. Better to leave the Quest.psc alone. Plus editing it could interfere with any SKSE changes.

Thanks a lot for the help. there is one more thing that confuses me, which is kmyquest

 

It shows up in 4 files:

1.

QF_CW01B_000E2D29.psc

 

00074: kmyquest.CW02B.SetActive()

 

CWO2B is a quest so I'm guessing I can disable this?

 

2.

QF_CW01_000D517A.psc

00202: kmyquest.CW02a.SetActive()

 

And this would be the same as above.

 

3.

QF_CWPrepareCity_00054AAC.psc

01000: kmyquest.CWSiegeWeatherFogClose.SetActive(True)

 

I think this one activates weather and should be left alone?

 

4.

QF_CWSiege_000954E1.psc

01748: kmyQuest.WeatherWhiterun.SetActive(True)

01774: kmyQuest.WeatherMarkarth.SetActive(True)

01785: kmyQuest.WeatherRiften.SetActive(True)

01800: kmyQuest.WeatherSolitude.SetActive(True)

01811: kmyQuest.WeatherWindhelm.SetActive(True)

02236: ;kmyQuest.WeatherWhiterun.setActive(True)

02986: kmyQuest.WeatherWhiterun.setActive(True)

02995: kmyQuest.WeatherMarkarth.setActive(True)

02998: kmyQuest.WeatherRiften.setActive(True)

03001: kmyQuest.WeatherSolitude.setActive(True)

03004: kmyQuest.WeatherWindhelm.setActive(True)

03470: kmyQuest.WeatherWhiterun.SetActive(True)

03487: kmyQuest.WeatherMarkarth.SetActive(True)

03498: kmyQuest.WeatherRiften.SetActive(True)

03509: kmyQuest.WeatherSolitude.SetActive(True)

03522: kmyQuest.WeatherWindhelm.SetActive(True)

03564: ;kmyQuest.WeatherWhiterun.setActive(True)

04153: kmyQuest.WeatherWhiterun.SetActive(True)

04156: kmyQuest.WeatherMarkarth.SetActive(True)

04159: kmyQuest.WeatherRiften.SetActive(True)

04173: kmyQuest.WeatherSolitude.setActive(True)

04176: kmyQuest.WeatherWindhelm.setActive(True)

 

And all of these affect the weather too and should be left alone?

Link to comment
Share on other sites

kMyQuest is a variable used by quest fragments to refer to another script attached to the same quest. You should only edit quest fragments through the quest dialogue window in the Creation Kit.

 

If you want to know what DLC1VQ08BossRoomCleanupScript is doing with its SetActive function then you have to look at the rest of the script to see how bIsActive is used.

Edited by lofgren
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.

 

I don't know if he is trying to be rude or not but it sure is coming out that way. Being rude today when you talk to others seem to be the norm ... (at least for the younger generations)

Some things I don't know right off the top of my head. Sorry for not being a Skyrim God where you ask anything and your told exactly how to do it. Like any problem I run into programming Skyrim (or any other code for that matter),

as with most programmers you start looking at possible problems stopping you from doing what you're trying to get done. A theory if you will ... Then really look into that subject to understand if that indeed is your problem.

So when I see a problem I don't truly understand the first step is to try to prove or disprove a few theory's ... until you do find the answer you're looking for. It would seem some just don't get that and are endlessly looking for a chance to

correct someone and even add in being a bit rude about it. Like you committed some kind of crime with your theory and now need to be punished.

 

This is how programmers figure stuff out. There is no holy grail of "this is how it's done" as a good programmer can always find mutable ways to do the same things. I love to help out budding programmers and live for that Ahhh moment.

However time and time again I find this forum filled with toxic people looking to be a pain for no reason other then to just be a pain. I have had the time to look into this more and have figured out how this could be done but, I will not

work with a project when faced with rude, condescending people ... So once again I will remove myself from this subject and wish you the best of luck ...

 

Just like how you replied to this subject (or my comment back) ... Very tactful, very well said ... someone with general respect for others. You want people to help out, not walk away, and this is how you do that with a bit of respect for others.

Life is not a debate. When you grow up you tend to put childish things away and this is one of them. Tact is something that will serve you well in life. bla bla bla ... anyways good luck. I personally don't have the time or will to deal with this type of negativity.

A forum like this can be a great tool in stepping up your programming game. It's to bad as with most forums some see as a quick ego fix ... I'm out.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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