Custom Verbs - Help System

I have wrestled with the ‘hints’ and ‘goals’ pieces of tads and so far have had no luck (copying example code verbatim - but entering “hint” does nothing still etc). I am trying to develop my game for people who don’t play IF games, who may not know verbiage that we might take for granted. To accomplish this without irritating experienced players I have been adding navigation text to every room description so the player can be reminded of the compass directions etc. But I would also like to have a help system so players can easily get basic usage help.

I was thinking to do this I could do something like custom verbs, but that don’t pertain to any specific object etc. Is there a way to define a verb that simply spits out descriptive text, no matter where the player is etc? In this way they could type “help” and some static text would be shown, no matter where they are in the game.


The built-in hint system does work … but if you want to roll your own, it’s easy:

DefineSystemAction(Help) execAction () { "Your text goes here. "; } ; VerbRule(Help) 'help' : HelpAction verbPhrase = 'help/helping the player' ;

Thank you for this! I know my struggles with the hint system are all me, not tads - but this will allow me to put some basic help text in there until I can uncover what I’m doing wrong.


There’s a good discussion on p. 298 of “Learning T3.” The only thing you need to do is remove one of the + signs before each of the objects. That’s a mistake in the book.

Thanks for the reference! I have copied the corrected code into my game so I have a TopHintMenu and some sample sub menus. Is there code I need to add to my game to display the hints? When I compile and type ‘hint’ or ‘hints’ etc I get a ‘there are no hints’ message. Do I need to add that menu to my GameMainDef? If so, what is that syntax for hint menus - I have my hints in a separate file.

Thank you so much!

If it’s still not working, I would have to speculate about why. You don’t need to add anything to GameMainDef. (a) Have you added your hints.t file (or whatever it’s called to your Project? If so, then … oh, I’ll bet I know. By default, goals are not open. To each Goal object within a HintMenu, you need to add:

openWhenTrue = true

This will cause the Hint menu to display. Try it and let us know if it doesn’t work. The conditions for when a Goal is open or closed can be made sensitive to the game conditions, but the line above will make the Goal always available.

That was exactly it! Thanks! I think I will still use the custom help command, just to show some tips on general IF syntax etc - because I don’t want players to have to deal with the hints warning etc when they are looking for general help as opposed to hints… and I’ll just basically have one help message for them.

Thank you so much, I have a feeling at least one of my puzzles may cause a hint to be useful, we’ll see.