In this tutorial, I will discuss how to allow players to interact with NPC's using different approaches and how to customize how the NPC responds depending on what approach was used. I will use a "card game challenge" where the NPC will mention that she's a pretty strong card player and has been looking for a suitable opponent and then offer to play a game with you.
Background
The story takes place in a world where a card game is extremely popular. In addition to the usual adventures that you go on, you also have the opportunity to participate in card battles and competitions that are held throughout the world as you progress through the game. You may be able to challenge NPC's that you meet to a game, and the winner gets to take one of the loser's cards as a reward.
In a particular city, you find yourself doing some work with the leader of the local guild. She offers guidance and sends you on important quests, such as the one shown below

However, she's also an avid card player and is always looking for a challenge. Having won a number of tournaments in the past, she has collected a large number of rare cards that would be a great asset to your own card deck if you manage to defeat her.
When you approach her about the card game, she talks about her own skills

And then proceeds to offer you a match

Implementing the Event
If you choose to offer this type of mini-game where the player can challenge different NPC's, as a game developer, you have to make a lot of decisions how to implement this for players.
You have several different ways to approach this depending on how you want to do it.
Using an Item
Suppose you wanted to trigger a card challenge by using an item. Maybe the item is a deck of cards.
One way to do this is assign a common event to the item that will
With the script applied, the common event itself is straightforward: turn on the appropriate switch, then check for events. We assign the common event to the item we want to use.

The event will be set up so that if the switch is ON, it will run the card challenge commands. Otherwise, it will run the normal commands. We can use a two-page event for this: one of the pages is conditioned to activate only when the switch is ON. Because the purpose of the switch is simply to force the event to run a different page, the page should also remember to turn it off after it's done with it.

Now you will be able to interact with the event normally using a button press, as well as an item.
You can see a demonstration of the results in this video:
Want to see other solutions? Read the rest at HimeWorks!
Background
The story takes place in a world where a card game is extremely popular. In addition to the usual adventures that you go on, you also have the opportunity to participate in card battles and competitions that are held throughout the world as you progress through the game. You may be able to challenge NPC's that you meet to a game, and the winner gets to take one of the loser's cards as a reward.
In a particular city, you find yourself doing some work with the leader of the local guild. She offers guidance and sends you on important quests, such as the one shown below

However, she's also an avid card player and is always looking for a challenge. Having won a number of tournaments in the past, she has collected a large number of rare cards that would be a great asset to your own card deck if you manage to defeat her.
When you approach her about the card game, she talks about her own skills

And then proceeds to offer you a match

Implementing the Event
If you choose to offer this type of mini-game where the player can challenge different NPC's, as a game developer, you have to make a lot of decisions how to implement this for players.
You have several different ways to approach this depending on how you want to do it.
Using an Item
Suppose you wanted to trigger a card challenge by using an item. Maybe the item is a deck of cards.
One way to do this is assign a common event to the item that will
- Turn on a switch
- Check for any events in front of you that can be triggered
With the script applied, the common event itself is straightforward: turn on the appropriate switch, then check for events. We assign the common event to the item we want to use.

The event will be set up so that if the switch is ON, it will run the card challenge commands. Otherwise, it will run the normal commands. We can use a two-page event for this: one of the pages is conditioned to activate only when the switch is ON. Because the purpose of the switch is simply to force the event to run a different page, the page should also remember to turn it off after it's done with it.

Now you will be able to interact with the event normally using a button press, as well as an item.
You can see a demonstration of the results in this video:
Want to see other solutions? Read the rest at HimeWorks!
Last edited by a moderator:
