lnodiv Posted February 19, 2018 Share Posted February 19, 2018 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. https://pastebin.com/3bKT9aNZ https://pastebin.com/ajSYZNz7 Link to comment Share on other sites More sharing options...
IsharaMeradin Posted February 19, 2018 Share Posted February 19, 2018 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 More sharing options...
lnodiv Posted February 19, 2018 Author Share Posted February 19, 2018 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 More sharing options...
IsharaMeradin Posted February 19, 2018 Share Posted February 19, 2018 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 More sharing options...
Recommended Posts