A Development Tutorial: Chapter 14
A Development Tutorial: Chapter 14 | |
---|---|
Get the developer tools and try building new content for this game! | |
Season | {{{season}}} |
Status | wip |
Completion | 75% |
Authors | Slowhand |
This Chapter | 14: Dialogue: The "SAY" Menu |
More Chapters | Title Page Development Kit Setup Making Maps The World Map Editor NPC Dialogues Create a 2-Map Zone Monsters, Loot, and Scripts Tracking Quest Progress Scenery Scripts Dialogue-to-Quest Location Locations: Public to Private The Scripting Environment Understanding Quest Scripts A Simple Quest Dialogue: The "SAY" Menu Basic Mechanics |
Notes | {{{notes}}} |
Using the "Say" menu from dialogues. (Riddle mini quest.)
It is quite simple actually, all you need to do, is at a dialogue you created, link the function to call at the dialogue, instead of results or demands like before. The signature will change to the following: uint dlg_Name(Critter& player, Critter@ npc, string@ say).
When the client accesses the node which you linked the say-script, it will run the script immediately, will not wait for the client to press "Say", so the first line of the code needs to be something that checks if the user entered something using say. (check code example for it)
The return value of the script function will tell which dialogue node to access next. 0 stands for the same dialogue node, running the script again, -1 stands for exiting the dialogue, and different positive values will try to find and access a dialogue node with that number. In our example, that was the 4.
Here is the code, using the previous tutorials, try to install it, do not forget to add the script to the script lists, the dialogue you created to the dialogue scripts and linking the NPC dialog ID to the ID's you gave to your dialogue at _dialogs.fos.
- Script file: tut_say_dialogue.fos
- Dialogue file: tut_say_dialogue.fodlg
This is how my dialogue file looks like, showing where to add/edit the script functions called (left click on node 3):
(image soon)