A Development Tutorial: Chapter 14
A Development Tutorial: Chapter 14 | |
---|---|
Get the developer tools and try building new content for this game! | |
Season | All Seasons |
Status | Progress Stopped |
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 Chapter 10 The Scripting Environment Understanding Quest Scripts Chapter 13 Dialogue: The "SAY" Menu Chapter 15 Lockpick Cooldown Repeatable Locations Floating FA Text Roulette Game Dialogues vs Scripts Simple Kill Quest Chapter 21 Mysterious Stranger Perk Perk Installation Black Jack Game Black Jack Installation Sound Effects Pro Tips |
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)