Introduction

Better Triggers

A custom trigger editor for Warcraft III


no image

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


As part of the reworked format all triggers, scripts, variables and categories are no longer saved with your map, but are now located in a project directory as individual files and folders.

*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.*

no image










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.

no image










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.

no image










Upgraded Script Editor


The built-in script editor has basic syntax highlighting and autocomplete for both Jass and Lua.

no image










"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.

no image










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.

no image










2D Arrays


The GUI supports 2D arrays for global variables.

no image










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.

no image










Frames in GUI


You can create custom UI with Frames in GUI.

no image










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.

no image










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.

no image










Color Themes


Select between different editor color themes.

no image










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.

no image