Jump to content

[LE] Basic Quest Papyrus Help


lnodiv

Recommended Posts

I'm trying to make a quest that updates whenever the player collects dragon souls as long as they are a member of a specific race (I'm editing a Custom-Race mod for personal use to align with how Imperious handles races).


I've never done scripting before today. I looked through a lot of Enai's source scripts from Imperious, but I have absolutely no idea what I'm doing so I'm kind of just staring at the scripts like an idiot child.


Here are the two variations I tried to create. Neither of these will advance the quest when I absorb souls, even if I've manually started the quest itself beforehand via the console. I'm sure the problem is obvious, but I have absolutely no idea what I'm doing.





Link to comment
Share on other sites

You have a function called 'SomeFunction' which you use to do your registrations but no where do you call that function and have it run. Thus your registrations never get registered and the rest of the script never gets accessed.

 

You probably pulled that from an example on the wiki. Its just an example.

 

If you were to change it to the OnInit() event it would be guaranteed to run when your quest is started. Whether or not that is the right time for you, is up to you to decide.

Link to comment
Share on other sites

You have a function called 'SomeFunction' which you use to do your registrations but no where do you call that function and have it run. Thus your registrations never get registered and the rest of the script never gets accessed.

 

You probably pulled that from an example on the wiki. Its just an example.

 

If you were to change it to the OnInit() event it would be guaranteed to run when your quest is started. Whether or not that is the right time for you, is up to you to decide.

 

Thanks for the assist!

 

So I replaced that function entirely with

 

Event OnInit() ; This event will run when the script is initialized

RegisterForUpdate(30.0) ; Before we can use OnUpdate() we must register.
EndEvent
The idea being that by registering as soon as the script was initialized, the rest of the script would hopefully work as designed. Unfortunately, it did not - absorbing dragon souls still doesn't advance quest stages.
Link to comment
Share on other sites

Make sure you test on a fresh game. Either a save that has not seen your mod or a completely new game.

 

Also, add some notification statements so you can see in-game how the script is progressing. You can always remove them after. Also make sure that you are assigning data to your properties. Failure to do so will cause the script to not function as it won't know what to do with empty values. If you have papyrus logging turned on you can check the log to see if there are any errors printed in relation to your script.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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