How to Start a Quest Using Script Event in the Story Manager (Skyrim Creation Kit)
Starting a quest via the Story Manager using Script Events and Keywords is a powerful but poorly documented feature in Skyrim’s Creation Kit (CK). This guide explains how to start a quest (Quest B) from another quest (Quest A) using a Story Manager Script Event and Keywords.
Example Setup:
- Quest A = DA01 (The Black Star)
- Quest B = AZU_Quest_Main (Your custom Azura Star quest)
Step 1: Create a Keyword for the Story Event
- In Creation Kit, go to Miscellaneous → Keywords.
- Right-click and select New.
- Name it AzuStarTriggerKeyword.
- Click OK to save.
This keyword acts as the trigger that the Story Manager will recognize when starting the quest.
Step 2: Modify DA01 to Send the Story Event
- Open DA01 in the Quest Editor.
- Go to Quest Stages and select Stage 100 (Azura’s Star) and Stage 110 (Black Star).
- Add the following Papyrus Fragment to each stage
- Send the Story Event using AzuStarTriggerKeyword
- Send the Story Event using AzuStarTriggerKeyword
The Story Event is sent to the Story Manager, which will then start AZU_Quest_Main.
Step 3: Set Up the Story Manager (SM Event Node)
- Open Story Manager by navigating to Character → SM Event Node.
- Create a New Event Node
- Right-click "Script Event" → Select "New Stacked Event Node"
- Right-click the new node → Select "New Quest Node"
- Select AZU_Quest_Main as the quest
- Set Conditions for the Node
- Target: E (Event Data)
- Function Name: GetEventData
- Function Info: GetIsID, Keyword, Keyword: 'AzuStarTriggerKeyword'
- Comparison: ==
- Value: 1.0
This ensures that AZU_Quest_Main only starts when AzuStarTriggerKeyword is received. It also prevents the quest from running at the wrong time.
Step 4: Verify AZU_Quest_Main Settings
- Open AZU_Quest_Main in the Quest Editor.
- In the Quest Data tab, set the following options
- Event Type: Script Event
- Start Game Enabled: Unchecked (Story Manager will start it)
- Run Once: Checked (if you want it to run only once)
This prevents the quest from starting on game load. The Story Manager will now control when it starts.
Step 5: Debugging & Testing
Check if DA01 Sends the Event
- Run this in the console
SetStage DA01 100 - Add this debug line to DA01’s fragment
Debug.Notification("Story Event Sent!")
If you see "Story Event Sent!", the event fired.
- After setting DA01’s stage to 100 or 110, run
sqv AZU_Quest_Main
If it is running, the Story Manager worked. If not, check the SM Event Node conditions.
- Create Keyword: AzuStarTriggerKeyword
- Modify DA01 Stages
- Call AzuStarTriggerKeyword.SendStoryEvent()
- Call AzuStarTriggerKeyword.SendStoryEvent()
- Set Up Story Manager (SM Event Node)
- Create SM Event Node → Script Event → Add Quest Node
- Condition: GetEventData -> GetIsID -> Keyword: 'AzuStarTriggerKeyword' (== 1.0)
- AZU_Quest_Main Settings
- Event Type: Script Event
- Start Game Enabled: Unchecked
- Test
- SetStage DA01 100
- sqv AZU_Quest_Main
Done! Quest now starts automatically via Story Manager!
1 comment
AFAIK the only way to do it without touching vanilla records or scripts is to use Papyrus Extender.
https://github.com/powerof3/PapyrusExtenderSSE/wiki/Form#quest-startstop