Better Triggers
A custom trigger editor for Warcraft III
What is this?
This is a custom, 3rd party trigger editor built from scratch.
Unlike plugins like Jass NewGen Pack 2 (JNGP), TESH and similar, this trigger editor is completely separate and works outside the World Editor. It expands with new features and aims to improve the user experience for both GUI users and scripters.
To support the new features this editor saves your trigger data in a project folder in your filesystem, keeping it separate from the World Editor's save format (.wtg). This also means the changes you make in Better Triggers aren't synced with the triggers in the World Editor.
However, if you decide that you no longer want to use Better Triggers, there is an option to move all the changes in Better Triggers back into the map. Of course, this is not possible if you use 'Better Trigger'-only features.
Feature Highlights
Source files outside your map
*This change required the removal of comments in the 'trigger explorer' because the World Editor allows comments with identical names; something a filesystem does not.*
Convert an existing map's triggers
If you are already working on a Warcraft 3 map and wish to port your triggers to this editor, you can. When creating a new project you can choose convert an already existing map's triggers. The editor will scan your map for triggers, variables, scripts etc. and converts them to source files readable by this editor.
*The illustrated image shows a converted project of mine.
Script live update
The editor automatically detects changes made to custom script files in your filesystem. This allows you to work directly in whatever text editor you want and removes the need to copy/paste from external source files into the editor.
Upgraded Script Editor
The built-in script editor has basic syntax highlighting and autocomplete for both Jass and Lua.
"StarCraft II"-inspired GUI
The GUI has been re-imagined and has the look and feel of Starcraft II's GUI. You no longer need to click multiple times on parameter links to get to the bottom of the parameter tree. All parameters are now individually clickable.
Local Variables in GUI
The GUI supports local variables.
Local variables can only be used in actions, hence why they are placed beneath conditions.
Keep in mind that locals like unit groups and player groups are created every time the trigger runs, so those are very prone to leaks.
2D Arrays
The GUI supports 2D arrays for global variables.
Action- Condition- and Function Definitions
The GUI has a feature borrowed from StarCraft II's trigger editor.
You can define your own actions, conditions and functions and re-use them in your triggers.
This allows for greater flexibility and cleanliness when working on large projects.
Frames in GUI
You can create custom UI with Frames in GUI.
Improved GUI to custom script conversion
You can convert a GUI trigger to custom script, but also convert it back to it's original GUI triggers if you regret it. Additionally, GUI to script conversion is also available for Lua mode.
Trigger/library Importer
The tool offers a way to import triggers from another map into your project.
You don't need to convert maps to Better Triggers' format before importing triggers into your project. This tool handles it for you.
Color Themes
Select between different editor color themes.
Map Export Options
Finally, the tool offers built-in map compression and protection.
This is also where you can choose to move all trigger changes from your Better Triggers project back into the map.
However, as illustrated in the image, this option is disabled when protection options are enabled.