ORK Framework Logo - RPG Editor for Unity
  • Features
  • Showcase
  • Guide
    • Documentation
    • Tutorials
    • API
  • ORK 2
    • Tutorials
    • Plugins
    • API
  • Support
  • Forum
  • Get ORK

2D RPG Quickstart

30
  • START 2D RPG Quickstart
  • 01 Initial Setup
  • 02 Player Setup
  • 03 Music & Scenes
  • 04 UI System Setup
  • 05 UI Boxes
  • 06 Flying Texts
  • 07 Status Values
  • 08 Status Effects
  • 09 First Abilities
  • 10 Fighter Setup
  • 11 First Enemies & Battle AI
  • 12 Battle System Setup
  • 13 Animating Battle Start and End
  • 14 Random Battles
  • 15 Animating Actions
  • 16 Player Battle HUD
  • 17 Elemental Attacks
  • 18 Animating More Actions
  • 19 Inventory & Loot
  • 20 Equipment
  • 21 Loot, Start Equipment & Viewers
  • 22 Magic Abilities
  • 23 Caster Setup
  • 24 More Enemies
  • 25 Start Menu & Save Games
  • 26 Menu Screens
  • 27 Interactions
  • 28 Item Collectors
  • END 2D RPG Quickstart

3D RPG Quickstart

30
  • START 3D RPG Quickstart
  • 01 Initial Setup
  • 02 Player Setup
  • 03 Music & Scenes
  • 04 UI System Setup
  • 05 UI Boxes
  • 06 Flying Texts
  • 07 Status Values
  • 08 Status Effects
  • 09 First Abilities
  • 10 Fighter Setup
  • 11 First Enemies & Battle AI
  • 12 Battle System Setup
  • 13 Animating Battle Start and End
  • 14 Random Battles
  • 15 Animating Actions
  • 16 Player Battle HUD
  • 17 Elemental Attacks
  • 18 Animating More Actions
  • 19 Inventory & Loot
  • 20 Equipment
  • 21 Loot, Start Equipment & Viewers
  • 22 Magic Abilities
  • 23 Caster Setup
  • 24 More Enemies
  • 25 Start Menu & Save Games
  • 26 Menu Screens
  • 27 Interactions
  • 28 Item Collectors
  • END 3D RPG Quickstart

Status System Setup

24
  • START Status System Setup
  • 01 Status Values
  • 02 Status Development
  • 03 Attack/Defence Modifiers
  • 04 Status Effects
  • 05 Formulas
  • 06 Ability & Item Types
  • 07 Abilities Part 1: Attacks
  • 08 Abilities Part 2: Support & Sabotage
  • 09 Abilities Part 3: Elemental Magic
  • 10 Items
  • 11 Equipment Part 1: Slots & Slot Set Templates
  • 12 Equipment Part 2: Weapons
  • 12.5 (Optional) Equipment Part 2.5: Weapons
  • 13 Equipment Part 3: Shields, Armor & Accessories
  • 13.5 (Optional) Equipment Part 3.5: Shields, Armor & Accessories
  • 14 Equipment Part 4: Available Equipment Templates
  • 15 Loot
  • 16 Battle AIs
  • 17 Combatants Part 1: General Settings
  • 18 Combatants Part 2: Players
  • 19 Combatants Part 3: Enemies
  • 20 Combatant Groups
  • END Status System Setup

3D RPG Playground

53
  • START 3D RPG Playground
  • 01 Player Setup
  • 02 Start Menu
  • 03 First Interaction
  • 04 Music
  • 05 Areas
  • 06 Collecting Items
  • 07 Displaying Equipment
  • 08 Combatant Prefabs, Icons & Portraits
  • 09 Combatant Animations
  • 10 Camera Positions
  • ANIM 01 Battle Start/End Schematics
  • ANIM 02 Use, Cast & Camera
  • ANIM 03 Abilities & Items
  • ANIM 04 Physical Attacks
  • ANIM 05 Special Actions
  • BATTLE 01 Battle Menu
  • BATTLE 02 Prepare for Battle
  • TURN 01 Turn Based Setup
  • TURN 02 Turn Order HUD
  • ATB 01 Active Time Setup
  • ATB 02 Cast Times
  • ATB 03 Timebar HUD
  • BATTLE 03 The First Battle
  • BATTLE 04 Hunting Move AI
  • BATTLE 05 Spawning Combatants
  • 11 Save Games
  • MENU 01 UI Boxes
  • MENU 02 Template HUDs
  • MENU 03 Overview Menu
  • MENU 04 Menu Screens
  • 12 Shop
  • BATTLE 06 Random Battles
  • DUNGEON 01 Enter the Dungeon
  • DUNGEON 02 The Trapdoor
  • DUNGEON 03 Enemies on Level 1 & 2
  • DUNGEON 04 Traps on Level 3
  • DUNGEON 05 Going Deeper
  • 13 Bestiary (+MENU+ANIM)
  • QUEST 01 Hunting Quests (+MENU)
  • QUEST 02 Guard NPC
  • QUEST 03 Forest Ruin Cheese
  • QUEST 04 Witch NPC with Cheese
  • QUEST 05 Quest Mark HUDs
  • 14 Research Trees (+MENU)
  • CRAFT 01 Crafting Materials
  • CRAFT 02 Crafting Recipes
  • CRAFT 03 Crafting Menu
  • CRAFT 04 Crafting Proficiency & Critical Crafting
  • CRAFT 05 Materials Loot
  • 15 Changing Choice Dialogue
  • 16 Follow Me!
  • BATTLE 07 Sequence Loot Dialogue

3D Action RPG

20
  • START 3D Action RPG
  • 01 Status System Setup
  • 02 Player Setup
  • 03 Player Weapon
  • 04 Player Attacks
  • 05 Enemy: Chomper
  • 06 Chomper Attack
  • 07 Hit & Death
  • 08 HUDs
  • 09 Rolling on the Floor
  • 10 Enemy: Spitter
  • 11 Spit Attack
  • 12 Potion
  • 13 Grenade
  • 14 Item HUD
  • 15 Enemy: Grenadier
  • 16 Grenadier Melee Attacks
  • 17 Grenadier Flamethrower
  • 18 Item Drops
  • END 3D Action RPG

2D Grid Battle RPG

17
  • START 2D Grid Battle RPG
  • 01 Player Setup
  • 02 Prefab & Music Setup
  • 03 Randomizing Combatants
  • 04 UI Setup
  • 05 Battle Start, End & Phase Schematics
  • 06 Battle System Setup
  • 07 Battle Grid Setup
  • 08 Grid Move
  • 09 Forest Battle Grid
  • 10 Battle AI
  • 11 Ability Ranges
  • 12 Death & Use Schematics
  • 13 Attack Schematic
  • 14 Shoot Schematics
  • 15 Battle Selection Interaction
  • END 2D Grid Battle RPG

Schematics

10
  • Simple Start Schematic
  • Battle Start Schematic
  • Battle End Schematic
  • Moving to Target and Back
  • Animating a Base Attack
  • Animating a Magic Ability
  • Animating Target Selection
  • Grid Movement
  • Open and Close UI Animations
  • Flying Text Mover

UI Setups

16
  • Unity UI: Initial Setup
  • Unity UI: TextMesh Pro Setup
  • Unity UI: UI Box
  • Unity UI: Flying Text
  • Unity UI: Dragging Notification
  • Unity UI: Canvas with Screen Space Camera
  • Unity UI: Interaction HUD
  • Unity UI: Simple Player HUD
  • Unity UI: Quest HUD
  • Unity UI: Battle Actions HUD
  • Unity UI: Shortcuts HUD
  • Unity UI: Currency HUD
  • Unity UI: Tooltip HUD
  • Unity UI: Control HUD
  • Unity UI: Attack Modifiers
  • Unity UI: Defence Modifiers

Gameplay Bits

13
  • 2.5D Setup
  • Body Part Weakpoint
  • Click Attack
  • Combining Input Origins
  • Combining Status Value Flying Texts
  • Fun With Flying Text
  • HUD Effects With Conditional Schematics
  • Inventory Containers
  • Local Multiplayer
  • Multi Interaction Controllers
  • Target Selection Lines
  • World Space HUD
  • World Space Dialogue
  • Home
  • Guide
  • Tutorials
  • 3D RPG Playground
  • 15 Changing Choice Dialogue
View Categories

15 Changing Choice Dialogue

In this tutorial we’ll add a dialogue with choices that changes each time we talk to the NPC.

We already had a little chat with an NPC – let’s add another one! This time, we’ll use a choice dialogue, i.e. let the player select how to proceed.

Additionally, we’ll cycle through different dialogues each time we talk with the NPC. This is done by using object variables on the NPC’s game object.

Changing Dialogue Schematic #

First, we’ll set up the schematic handling our dialogue. The changing dialogue will be handled by an int object variable on the NPC’s game object (key: counter).

Open the editor, navigate to Schematics and start with a new schematic.

Settings #

  • Block Player Control
    Enable this setting.
    We don’t want our player to run around while talking to the NPC.

Actors #

Dialogue speakers require actors, so let’s set them up.

Click on Add Actor.

  • Actor Type
    Select ORK Player.
    This’ll use the player’s combatant.

Click on Add Actor to add another actor.

  • Actor Type
    Select Machine Object.
    The Interaction Machine we’ll use to start the dialogue will be placed on the NPC, so the machine object will be the NPC’s game object.
  • Set Name
    Enable this setting.
    We’ll define a name here – alternatively, you can also set up a scene object and add it to the NPC’s game object.
  • Default Content
    Set to Concerned Citizen.

Variable Fork #

Add Node > Value > Variable > Variable Fork

This node works similar to the Check Variables node, but it checks a single variable for multiple values, each having it’s own Next slot.

We’ll cycle through 3 different dialogues, so we’ll need 3 conditions.

  • Variable Key
    Set to counter.
  • Variable Origin
    Select Object.
    This’ll use object variables attached to a game object (via an Object Variables component).
  • Object
    Select Machine Object.

There’s already a variable condition added for us, so let’s change Variable Condition 0 to our needs.

  • Type
    Select Int.
  • Check Type
    Select Is Equal.
  • Check Value
    Select Value > Value.
    Set the value to 0.
    0 is also the default value for any not yet set int variable (for bool variables it’d be false, for string an empty text, etc.).

Copy Variable Condition 0.

  • Check Value
    Select Value > Value.
    Set the value to 1.

Copy Variable Condition 1.

  • Check Value
    Select Value > Value.
    Set the value to 2.

Show Dialogue #

Add Node > UI > Dialogue > Show Dialogue

We’ll show a Choice dialogue.

This node is connected to the is Equal 0 slot of the Variable Fork node.

  • Dialogue Type
    Select Choice.
  • UI Box
    Select Beige Bottom Dialogue.

The Speaker Settings handle if a speaker is used, e.g. to display a name in the UI box’s title content.

  • Use Speaker
    Enable this setting.
  • Actor
    Select ORK Player.
  • Show Name
    Enable this setting.
  • Text (Message Content)
    Set to: Say …

Choice Settings #

Click on Add Choice.

  • Text (Choice 0)
    Set to: Why is your head so big?

Click on Add Choice.

  • Text (Choice 1)
    Set to: Never mind.

Show Dialogue #

Add Node > UI > Dialogue > Show Dialogue

We’ll show the NPC’s reply.

This node is connected to the Choice 0 slot of the previous Show Dialogue node.

  • Dialogue Type
    Select Message.
  • UI Box
    Select Beige Bottom Dialogue.

The Speaker Settings handle if a speaker is used, e.g. to display a name in the UI box’s title content.

  • Use Speaker
    Enable this setting.
  • Actor
    Select Concerned Citizen.
  • Show Name
    Enable this setting.
  • Text (Message Content)
    Set to: Why don’t you have eyes?

Show Dialogue #

Copy the second Show Dialogue node (i.e. the Message dialogue), we’ll now start the dialogue for the 2nd time we talk to the NPC.

This node is connected to the is Equal 1 slot of the Variable Fork node.

Change the following settings.

  • Text (Message Content)
    Set to: Can I help you?

Show Dialogue #

Copy the first Show Dialogue node (i.e. the Choice dialogue).

This node is connected to the previous Show Dialogue node’s Next slot.

  • Text (Message Content)
    Set to: Hmm …

Choice Settings > Choice 0 #

  • Text
    Set to: No one can.

Choice Settings > Choice 1 #

  • Text
    Set to: No, thanks.

Show Dialogue #

Copy the second Show Dialogue node (i.e. the Message dialogue) again.

This node is connected to the Choice 0 slot of the previous Show Dialogue node.

Change the following settings.

  • Text (Message Content)
    Set to: Ok … ?

Change Variables #

Add Node > Value > Variable > Change Variables

We’ll now increase the counter variable by 1.

This node is connected to the the unused Choice slots of the choice Show Dialogue nodes and the unused Next slots of the message Show Dialogue nodes.

Click on Add Variable.

  • Change Type
    Select Variable.
  • Variable Key
    Set to counter.
  • Variable Origin
    Select Object.
  • Object
    Select Machine Object.
  • Type
    Select Int.
  • Operator
    Select Add.
  • Float Value
    Select Value > Value.
    Set the value to 1.

Show Dialogue #

Copy the second Show Dialogue node (i.e. the Message dialogue) again, we’ll now start the 3rd time we talk to the NPC.

This node is connected to the is Equal 2 slot of the Variable Fork node.

Change the following settings.

  • Text (Message Content)
    Set to: Please go away …

Change Variables #

Copy the previous Change Variables node, we’ll now reset the counter to 0.

This node is connected to the previous Show Dialogue node’s Next slot and the Failed slot of the Variable Fork node.

  • Operator
    Select Set.
  • Float Value
    Select Value > Value.
    Set the value to 0.

And that’s it for the schematic – save it, e.g. as ChangingDialogue.

Adding the NPC #

Now, we’ll add the NPC to the town. Open the World scene (Assets/Scenes/) and add one of the NPC prefabs to the town area.

You can find the NPC prefabs in Assets/Tutorial Assets/Prefabs/NPCs/ – I’m using the Casual3_Male prefab and place it in front of the large bell tower.

Object Variables Component #

Add an Object Variables component to the NPC’s game object, either using the component menu or the Makinom scene wizard.

This component is used to bind object variables to a game object and allows the Object variable origin to find variables on a game object.

Object variables can either persist and be shared between multiple game objects by using the same Object ID to identiy them, or be used as local variables. We’ll use them as local variables, i.e. they’re only accessible for this game object, not shared and not saved with save games. Once the game object is destroyed (e.g. when we change scenes), they’ll be gone. That’s all we need for our changing dialogue.

  • Local Variables
    Enable this setting.

Interaction Machine #

Add an Interaction Machine component to the NPC’s game object, either using the component menu or the Makinom scene wizard.

Learn more about interaction machines in this Makinom documentation.

Start Settings #

  • Interact
    Enable this setting.
  • Mouse Up As Button
    Enable this setting in case you also want to start the interaction by clicking on the NPC.

Machine Execution Settings #

  • Schematic Asset
    Select the ChangingDialogue schematic you created.

Expand the Object Turn Settings, we’ll let the player and NPC face each other.

  • Turn Starting Object
    Enable this setting.
  • Turn Machine Object
    Enable this setting.

And that’s it – save the scene.

Testing #

Hit play, go to the NPC and annoy him a bit.

Success!

You can talk to the NPC multiple times, cycling through the different dialogues.

 

Next, we’ll spawn the player group in the field.

Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
Table of Contents
  • Changing Dialogue Schematic
    • Settings
      • Actors
    • Variable Fork
    • Show Dialogue
      • Choice Settings
    • Show Dialogue
    • Show Dialogue
    • Show Dialogue
      • Choice Settings > Choice 0
      • Choice Settings > Choice 1
    • Show Dialogue
    • Change Variables
    • Show Dialogue
    • Change Variables
  • Adding the NPC
    • Object Variables Component
    • Interaction Machine
      • Start Settings
      • Machine Execution Settings
  • Testing
Sitemap
  • Features
  • Showcase
  • Guide
    • Documentation
    • Tutorials
    • API
  • ORK 2 Hub
    • Tutorials
    • Plugins
    • API
  • Support
  • Forum
  • Get ORK
  • Contact
  • Blog
  • Makinom
  • gamingislove.com
Categories
  • News (69)
  • ORK 2 (137)
    • Tutorial (137)
      • Game tutorial (50)
      • Gameplay (32)
      • How-to (55)
  • Release (149)
Search

© 2015 Gaming is Love e.U.

Disclosure: This site may contain affiliate links, which means I may receive a commission if you click a link and purchase something that I have recommended. While clicking these links won’t cost you any money, they will help me fund my development projects while recommending great assets!