-
Notifications
You must be signed in to change notification settings - Fork 2
Introduction
This program is for source games ONLY. Also, please note that captions will look different if you have a custom HUD or modified how captions are displayed.
In source, a voicecommand is a predefined call that displays in chat and sends an audible version.
A voicemenu is a selection of voicecommandss that appears generally to your left.
Like this:

An emulated voicemenu is a voicemenu that is simulated using captions and scripting.
Like this:

± - Negligable benefit/downside. ✓ Benefit. ❌ Downside.
| Criteria | Source Voicemeus | Emulated voicemenus |
|---|---|---|
| Quick to setup | ✓ | ❌ Requires scripting. |
| Localizable Strings | ± Users need your | ± Can be mimiced by cycling emuvoicemenus |
| Assignable gestures | ± | ± |
| Command whitelist | ❌ Only voicecommands. | ✓ Any command. |
| Maximum VMs usable | ❌ 9 | ✓ Infinite |
| Maximum Voicecommands per menu | ❌ 9 | ✓ Infinite |
| Formattable | ❌ No | ✓ Yes |
| Cooldown | ❌ Long cooldown | ✓ Only affected by chat cooldown. |
Valid with sv_pure? |
❌ No | ✓ Yes |
The voicemenu in Source games do work. However, not everyone is satisfied with them, so the general response is to modify it. Voicemenus are defined in a file called voicecommands.txt, and you can modify it.
Unfortunately however, voicecommands.txt is not in any sv_pure level. As a result, you can only remove voicecommands. There is another way though: We can use captions and scripting to emulate a voicemenu.
Emulated voicemenus have a number of advantages. They can be formatted, execute any command (not just voicemenu), and works in any sv_pure level. (It's technically possible to localize for other languages, just not automatically.)
One problem however, is that it can take a long time to actually make an emulated voicemenu from scratch. First it needs to be efficient and usable, which requires planning. Then you have to figure out how to make an emulated voicemenu. Next you have to write the cfg files neccessary. Finally you have to rigorously test it. This process can take a long time to complete depending on how complex your emulated voicemenu will be.
This is why this generator was made: To reduce wasted time on making emulated voicemenus, so that you only have to focus on the first step mentioned above. I originally made a remote respository for this program to function as a backup, but seeing as how it is public anyways, I decided to touch it up for end-users.