# Stage 1

Alright, let's focus on the first stage.

Recalling the story we wrote at the start of this guide, we can see that the first stage is

```
== Stage 1 ==

Julian - Hi there, I have an issue and I need some logs, would you mind getting them for me?
* Option 1: Sorry, I'm kind of busy right now.
* Option 2: Sure, I'd love to!

[Option 1]
    Julian - I see, maybe I can find someone else to help me.
[Option 2]
    Julian - Great! I need 5 Oak Logs!
    {Continue Check}
        {Start Quest}
        {Send Message "Quest Started: ${this.name}.\n[Written by Username]"}
```

## Building the stage

In the quest block, let's focus on the `New Stage: 1` block as this is our first stage.

To build the first dialog with options, drag a [`Option Dialog`](https://docs.discorddungeons.me/quest-editor/quest-blocks/optiondialog) block from the `Quest` tab of the toolbox and attach it to the stage block.

![Stage 1 Options Empty](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vAMVeBj7J7QG4q%2Fstage-1-option-empty.jpg?generation=1538401782558392\&alt=media)

### Setting the NPC Dialog

To set the NPCs dialog, edit the `Dialog Text` variable with our dialog which in this case is `Hi there, I have an issue and I need some logs, would you mind getting them for me?`

![Stage 1 Options Dialog Filled](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vCTsQTxg6K_Ryp%2Fstage-1-option-dialog-filled.jpg?generation=1538401782244411\&alt=media)

### Setting the Options

To set the options, drag a [`Create List Block`](https://github.com/DiscordDungeons/quest-editor-docs/tree/8bc7e240cfe6459ad7bcd192b0b02a20e602e622/blocks/list/create_list.md) from the `Lists` tab of the toolbox.

Since we have two options, we only need two items in our list, to do this, click the cogwheel icon of the list block, and drag one of the `item` blocks into the gray area to delete it. When this has been done, click the cogwheel icon again to close it.

Then, drag two [`Text`](https://github.com/DiscordDungeons/quest-editor-docs/tree/8bc7e240cfe6459ad7bcd192b0b02a20e602e622/blocks/text/text.md) blocks from the `Text` tab of the toolbox and attach them to the list block.

![List block text empty](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vEdfI0b8dFtA26%2Flist-block-text-empty.jpg?generation=1538401781071794\&alt=media)

After this, we need to fill in our options, `Sorry, I'm kind of busy right now.` and `Sure, I'd love to!`.

![List block with text](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vGEPS8kck7rMR9%2Flist-block-with-text.jpg?generation=1538401782105025\&alt=media)

When we've done this, we need to drag the list block with the options filled in into the `Options` input of the `Option Dialog` block.

![Option dialog filled in](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vI-CyX7z0Xhbrx%2Foption-dialog-filled-in.jpg?generation=1538401781320111\&alt=media)

### Continuing the options

Next, drag a [`Promise Block`](https://docs.discorddungeons.me/quest-editor/quest-blocks/promise) from the `Quest` tab into the workspace and attach it to the `Option Dialog` block.

![Stage 1 outline](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vKOz83TG3PVb7g%2Fquest-block-with-promise.jpg?generation=1538401782532127\&alt=media)

Then, change the `returns` to `option`

![Returns Option](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vM9ku_bQj1MKq4%2Fpromise-option.jpg?generation=1538401780994660\&alt=media)

Next up, drag an [`if block`](https://docs.discorddungeons.me/quest-editor/logic-blocks/if) from the `Logic` tab and an [`Option Block`](https://docs.discorddungeons.me/quest-editor/quest-blocks/option) from the `Quest` tab into the workspace.

Set the `option` variable of the `Option` block to `0`.

Attach the `Option` block to the `if` statement of the `if` block and attach the `if` block to the inside of the `Promise` block we created earlier.

![Promise with if block](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vOA-dMN1Jg7n6q%2Fpromise-option-0.jpg?generation=1538401781413107\&alt=media)

When this is done, drag a [`Dialog Block`](https://docs.discorddungeons.me/quest-editor/quest-blocks/dialog) from the `Quest` tab and attach it to the `do` variable of the `if` block and then set the `Dialog Text` to `I see, maybe I can find someone else to help me.`

![Promise with Dialog](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vQYHdD14UbjJsu%2Fpromise-with-dialog-0.jpg?generation=1538401783885515\&alt=media)

### Second option

Alright, now that we have the first option done, the second one should be pretty straight-forward.

Click the cogwheel of the `if` block and drag an `else if` block from the gray area and attach it to the `if` block and then close it by clicking the cogwheel again.

![Else if configuration](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vSNSFGDUcFz_ZI%2Felse-if.jpg?generation=1538401781401289\&alt=media)

Then, attach another `Option` block to the `else if` variable, setting the `option` to `1`.

![Else if with Option](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vUwWaeFgQSBBjb%2Felse-if-option.jpg?generation=1538401782083932\&alt=media)

Now drag a dialog block from the `Quest` tab and attach it to the `do` of the `else if` section of the `if` block, setting the `Dialog Text` to `Great! I need 5 Oak Logs!`.

After this, attach a `Promise` block to the `Dialog` block and set the `returns` variable to `msg`.

Then, drag a [`Continue Check Block`](https://docs.discorddungeons.me/quest-editor/quest-blocks/continuecheck) from the `Quest` tab and attach it to the inside of the `Promise` block.

![Dialog with a proimise and a continue check block](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vWl3H9L0iec1HI%2Fpromise-continue-check.jpg?generation=1538401781060067\&alt=media)

### Almost done

Drag two `Promise` blocks to the workspace and attach them to the bottom of the one we just created with a `Continue Check` block.

In the first one, add a [`Start Quest Block`](https://docs.discorddungeons.me/quest-editor/quest-blocks/start_quest) from the `Quest` tab.

In the second one, add a [`Send Message Block`](https://docs.discorddungeons.me/quest-editor/quest-blocks/send_message) from the `Quest` tab and set the `Message` variable to `` `Quest Started: ${this.name}.\n[Written by Username]` `` , replacing `Username` with your Discord Username and Discriminator (The Four numbers at the end of your name), which in my case is `Mackan#7196`

![Completed First Stage](https://602309350-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNeYKoJ5VTmJdlF1rx1%2F-LNjt21Je9K2dVS2qH-8%2F-LNjt2vYpDMNQO6GnweF%2Fstage-1-complete.jpg?generation=1538401781793669\&alt=media)

### Completed

Alright! We've completed the first stage, let's continue to stage 2!
