A Development Tutorial: Chapter 14: Difference between revisions
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
| image = AWikiEditor.gif | | image = AWikiEditor.gif | ||
| description = Get the developer tools and try building new content for this game! | | description = Get the developer tools and try building new content for this game! | ||
| status = | | status = Progress Stopped | ||
| complete = 75% | | complete = 75% | ||
| authors = Slowhand | | authors = Slowhand | ||
| chapter = 14: Dialogue: The "SAY" Menu | | chapter = 14: Dialogue: The "SAY" Menu | ||
| chapters = [[A Development Tutorial|Title Page]]<br>[[A Development Tutorial: Chapter 01|Development Kit Setup]]<br>[[A Development Tutorial: Chapter 02|Making Maps]]<br>[[A Development Tutorial: Chapter 03|The World Map Editor]]<br>[[A Development Tutorial: Chapter 04|NPC Dialogues]]<br>[[A Development Tutorial: Chapter 05|Create a 2-Map Zone]]<br>[[A Development Tutorial: Chapter 06|Monsters, Loot, and Scripts]]<br>[[A Development Tutorial: Chapter 07|Tracking Quest Progress]]<br>[[A Development Tutorial: Chapter 08|Scenery Scripts]]<br>[[A Development Tutorial: Chapter 09|Dialogue-to-Quest Location]]<br> | | chapters = [[A Development Tutorial|Title Page]]<br>[[A Development Tutorial: Chapter 01|Development Kit Setup]]<br>[[A Development Tutorial: Chapter 02|Making Maps]]<br>[[A Development Tutorial: Chapter 03|The World Map Editor]]<br>[[A Development Tutorial: Chapter 04|NPC Dialogues]]<br>[[A Development Tutorial: Chapter 05|Create a 2-Map Zone]]<br>[[A Development Tutorial: Chapter 06|Monsters, Loot, and Scripts]]<br>[[A Development Tutorial: Chapter 07|Tracking Quest Progress]]<br>[[A Development Tutorial: Chapter 08|Scenery Scripts]]<br>[[A Development Tutorial: Chapter 09|Dialogue-to-Quest Location]]<br>Chapter 10<br>[[A Development Tutorial: Chapter 11|The Scripting Environment]]<br>[[A Development Tutorial: Chapter 12|Understanding Quest Scripts]]<br>Chapter 13<br>'''Dialogue: The "SAY" Menu'''<br>Chapter 15<br>[[A Development Tutorial: Chapter 15.01|Lockpick Cooldown]] | ||
}} | }} | ||
Revision as of 03:06, 21 January 2017
| A Development Tutorial: Chapter 14 | |
|---|---|
| |
| Get the developer tools and try building new content for this game! | |
| Season | {{{season}}} |
| 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 |
| 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)
