Hi,
Here are two different suggestions:
1. Use quest entries. In the screenshot below, I defined two quest entries. If the player gets the quest by talking to the NPC, activate Entry 1. If the player gets the quest by finding the item, activate Entry 2.
(Remember to set the quest's main state to active, too.)
Only active and success/failure quest entries will be shown in the quest log window and quest tracker HUD.
In your conversation, you can use the Conditions field to check which quest entry is active. In the screenshot below, the Conditions are configured to check if Entry 2 is active -- that is, if the player got the quest by finding the item.
2. Or, if you don't want to use quest entries, at runtime store the text of how the quest started in a variable or a custom field in the quest itself.
The screenshot below shows an example of using a variable and the [var=
varName]
markup tag inside the Description text.
The screenshot below shows an example of defining a custom field named "Origin" and using the [lua(
code)] tag inside the Description text.
Variables are always saved in saved games. If you use a custom field in your quest instead, tick the Dialogue Manager's Persistent Data Settings > Include All Item & Quest Data checkbox to include the field in saved games.