Jump to content

[LE] Is the return data including scripts in Quest Stages 100% reliable?


Recommended Posts

Hi

 

Pretty quick question here.

 

I've been going through the tutorial (Bethesda), and at a certain point I was directed to put duplicate code both into an actors script and in the Quest Stage script, where they essentially overlap - and the author of the tutorial indicated the reason was 'just to be safe', so the code would be certain to run. Now - later on, as I'm getting used to stuff, I'm finding it very counter-intuitive to do this, as things get more in depth duplicating code running at the same time just starts limiting things and over complicating things as well.

My question really is, - is the content in Quest Stages (And probably all the rest of the Quest based panels) totally reliable to work as intended once a Quest Stage is set?

I much rather would just stick to much of the code in the Quest Stages area once a new stage is set from somewhere else, rather than doing this duplicate thing (as if the Quest Stage code would fail or something).

 

Thanks :)

Link to comment
Share on other sites

If you are doing simple stuff like adding or removing items, that can be done without worry in the quest stages. But if you need to do some more complicated stuff, you are better off moving that to a separate script and calling it there as needed. Quest stage script fragments are nothing more than dedicated function blocks that are triggered to run with the stage. The base game even does this. They'll have a quest stage fragment reach out to the quest's main script and run a function there to achieve what they need.

Link to comment
Share on other sites

Thanks IsharaMeradin

 

I'm not completely sure I understand though - you said that the Quest Stage scripts are dedicated scripts that run upon quest stage conditions met - therefore they should be just as reliable as any other script, including object scripts?

 

I'm only asking this, because I don't want tons of fragmented scripts on objects in scenes when potentially a lot of this can be put into individual quest scripts.

 

Honestly, I'm just asking if Quest based scripts are reliable to run when stages are set (or conditions met) within a second or so. If they are reliable, regardless of what may be the 'norm', this is the way I would go for the sake of readability in potentially complex scenes.

 

(I should mention this is how I worked out some big scenes in Oblivion, just worked on lengthy quest scripts that were either called from quest content, or activated by either quest stages or variables - never by multitudes of individual scripts)

Edited by sornan
Link to comment
Share on other sites

You can have a script on your quest record with whatever functions and stuff that you might need. Your quest stages can call those functions as needed. You may still have a lot of little fragments but the major work would be on the quest script. There are no events that one can use to catch when a quest changes stages.

 

If that isn't what you are wanting to be able to do, perhaps a better explanation is needed.

Link to comment
Share on other sites

Thanks again IsharaMeradin

 

That answers a lot, the tutorial seemed to suggest that something in the quest scripts may not be reliable, or be delayed, regardless of how I interpreted things there, it sounds like it all is indeed reliable.

 

Honestly, having come from heavily modding Oblivion in the past, one thing I don't know, is where there is a 'generic' listing of quest scripts where you can create and add scripts, and furthermore how to directly call upon a newly created script from another script. The tutorial content, which I am reaching the end of, has not covered any such content of which I was used to in Oblivion.

 

Thanks again, I appreciate the help a lot (still a bit of a newby to Skyrim modding).

Link to comment
Share on other sites

Not familiar with Oblivion modding but as I understand it, take whatever you learned there and throw it out the window. Skyrim is handled differently.

 

You can look at the existing source scripts included in the scripts.rar / scripts.zip file provided with the Creation Kit. But aside from using some "default" scripts to replicate existing in-game stuff, most scripts will need to be written from scratch.

 

As far as calling properties or functions on one script from another, see here: https://www.creationkit.com/index.php?title=Function_Reference#Accessing_Functions_From_Other_Scripts

Link to comment
Share on other sites

Thanks a ton for all of the help, I will check out that link there.

Yea, it's been a slow learning process, seems I'm finally getting to the end of it, with some remaining questions that will be answered by just going forward and probably some trial and error.

 

Thanks again!

 

Take care out there :)

Link to comment
Share on other sites

I do have one remaining question, if anyone might be able to help -

 

In the tutorial, I am instructed to put down some 'hello' topics in, some of which are based upon the current quest being completed. I have not yet seen the 'hello' topics work that are dependent on the quest being finished. I am wondering, is the All of the quest content data (dialog, misc, scripts, ect) ended once that quest has indeed been completed? This is the only thing I can think of, that the quest is no longer running, so the 'hello' topics (within that quest) regarding the quest completion are no longer running either.

 

TIA :smile:

Edited by sornan
Link to comment
Share on other sites

If the quest governing the task being done has completed and told to stop then all dialogue and any other aspect associated with said quest is done and no longer active. This is why the base game has a series of "quests" that handle dialog. Conditions are used to check the status of other quests and allow or disallow dialog as necessary.

 

So... if you have NPCs that are sticking around after your quest has been completed and you want them to say certain things depending upon how that quest ended, you'll need a separate quest record to handle that dialog. You may need to utilize global variables set to specific values within the first quest so that you have something to use as conditions in the second quest.

Link to comment
Share on other sites

Hey thanks again IsharaMeradin

 

That is very helpful :)

 

Yea, the tutorial in general is great to have, but has some missing things along the way.

 

I believe Oblivion was like that as well, a lot of the dialog was handled in separate 'dialog' quests.

 

It certainly seems more readable to put most of the dialog pertaining to a current active in game quest in that quest, but yes, it leaves a gap between that quest and the next when related content is carried over. Ah, probably a small thing to adjust for, like you said, because the alternative is to go full-on with making a few 'dialog' quests for everything, and then one is back to jumping around to deal with that dialog pertaining to different active quests.

 

Thanks!

 

:)

Link to comment
Share on other sites

  • Recently Browsing   0 members

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