Jump to content

Setting a Level requirement for a quest that starts through Courier.


Recommended Posts

Hello, so I am new to creating mods. I have most of my mod complete, I just want to know how to add a level requirement to start a quest. I have the quest setup to arrive via the courier. Any help would be appreciated, if you need more info please do ask.

Edited by ShiinaValkyria
Link to comment
Share on other sites

Nevermind I found out how to do it. For anyone else wondering;
Set your quest event (Quest Data Tab) to Change Location Event

Go to Global; Right Click New, Id Anything and set Value to the Level you want.

Then go into SM Event Node, Click on Change Location Event

Right Click top option, click new quest node.
Name it and Click Shares Event.

Add Conditions; Run on; Player, Function Name; Get Level, Comparison >=, click use global box then add the Global you created in the value box.
Add Conditions; Run on; Player, Function Name; GetEventData, parameters; 1) GetIsId, 2) New Location, 3) Example; WhiterunLocation (The areas you want the courier to arrive), Click OR box and then add as many of them as you want. Make sure your Get level is at top.
Right click your created node, click Add Quests, Select your quest and your good to go.

Link to comment
Share on other sites

  • 8 months later...

"Go to global"? Where is this?

Do you mean "Text Display Globals"?

 

They are referring to the Global subsection in the Object Window. A new global variable record needs to be created to use the method that they outlined.

 

However, in all honesty, there is no need to use a global variable for the OP's specific situation. In the condition simply set the value that the player's level needs to be at or above.

Link to comment
Share on other sites

 

"Go to global"? Where is this?

Do you mean "Text Display Globals"?

 

They are referring to the Global subsection in the Object Window. A new global variable record needs to be created to use the method that they outlined.

 

However, in all honesty, there is no need to use a global variable for the OP's specific situation. In the condition simply set the value that the player's level needs to be at or above.

 

Hi, thanks for the response. I want my courier to appear to the player on two (main) conditions as you can see in the following screenshot: https://gyazo.com/b9b16177db3948273ce198fa3a864fd8

 

But for some reason, the way that this is set up - the courier won't appear until I've fast travelled half a million times, or he just never appears. Any idea what could be causing this?

Link to comment
Share on other sites

Most courier quests that I have seen have used the Story Manager's Change Location Event. This would require some amount of travelling in order to trigger the event. If there are other events sharing the same entry point in the story manager, it is always possible that one of them runs instead. You will never get a courier to appear precisely at the exact location of the player when your conditions are met. Not without monitoring for those conditions and spawning a courier in at the right moment. All of which will take up papyrus script processing that would be better served doing other things.

 

Since one of your conditions is the player level, you could use the Story Manager's Increase Level event instead. May take some time before the courier appears as the earliest it could happen is the first level up after the other condition is also true. But it is an option that could be used.

Link to comment
Share on other sites

Most courier quests that I have seen have used the Story Manager's Change Location Event. This would require some amount of travelling in order to trigger the event. If there are other events sharing the same entry point in the story manager, it is always possible that one of them runs instead. You will never get a courier to appear precisely at the exact location of the player when your conditions are met. Not without monitoring for those conditions and spawning a courier in at the right moment. All of which will take up papyrus script processing that would be better served doing other things.

 

Since one of your conditions is the player level, you could use the Story Manager's Increase Level event instead. May take some time before the courier appears as the earliest it could happen is the first level up after the other condition is also true. But it is an option that could be used.

Ok I'll try doing that, thanks for the help!

Link to comment
Share on other sites

Ok ok, so I've managed to fix it. I made the conditions I wanted first (GetStageDone & GetLevel).

 

Make sure that you use the Global value as the OP suggested, it makes the courier appear more reliably and faster.

 

I then copied the GetEventData & GetInCurrentLoc conditions from the WICourier quest node.

 

Bam, courier should now work - hopefully this helps anybody who was having an issue where the courier just wasn't turning up.

 

Many thanks to everybody that helped out <3

Link to comment
Share on other sites

  • Recently Browsing   0 members

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