• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • ✅ Time to vote for the top 3 models! The POLL for Hive's 6th HD Modeling Contest: Mechanical is now open! 📅 Poll close on July 16, 2024! 🔗 Cast your vote now!
  • ✅ The POLL for Hive's Texturing Contest #33 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!

Setting up NewGen WE and Intro to Trigger Editor

Level 31
Jul 10, 2007
This tutorial will get NewGen WE up and running on a machine and will introduce the Trigger Editor.

This tutorial was written quite a long time ago, so the version numbers for NewGen Pack and JassHelper in the pictures probably won't be the same as the latest version numbers. Just follow the links and ignore the version numbers in the screenshots.

Chapter 1- The Basics

The World Editor
The World Editor is a program used to create maps for Warcraft 3. The program has seven primary tools for map making:

1. The Object Editor (units, items, destructables, doodads, abilities, buffs/effects, upgrades)

2. The Sound Editor

3. The Campaign Editor

4. AI Editor

5. Object Manager

6. Import Manager

7. Terrain Editor

8. Trigger Editor

It also includes advanced tools for modifying gameplay constants and the interface under the advanced drop down menu.

The purpose of this guide is to only explain the Trigger Editor and the languages used for it: JASS and vJASS.
Installing the necessary Tools
First, let's install the necessary components for you to take full advantage of World Editor.

vJASS installation should take place first.

Download and open up the attached zip file.

You should see a single folder in there. Click the folder once to select it and then rename it to jassnewgenpack. Click extract and put it into your Warcraft 3 directory.

Default Paths:
32 Bit- C:\Program Files\Warcraft III
64 Bit- C:\Program Files (x86)\Warcraft III

Jass Helper (Required)
Download and open Jass Helper. The file is in .7z format.


First click the jasshelper folder in the file.


Jass Helper should be extracted to the Jass Helper Folder of your Warcraft 3 directory

Default Paths:
32 Bit- C:\Program Files\Warcraft III\jassnewgenpack\jasshelper
64 Bit- C:\Program Files (x86)\Warcraft III\jassnewgenpack\jasshelper


Now move the executable folder in jasshelper. First open up explorer by right clicking the start menu in the bottom left corner of your computer screen and then clicking explore.


Navigate to your Warcraft 3 Jasshelper directory.

Default Paths:
32 Bit- C:\Program Files\Warcraft III\jassnewgenpack\jasshelper\executable
64 Bit- C:\Program Files (x86)\Warcraft III\jassnewgenpack\jasshelper\executable

Double click the executable folder to go inside. Hold CTRL + A to select all of its contents. CTRL + X.


Hit backspace. Hit CTRL + V. If it prompts you about move and replace, hit move and replace.

Congratulations, you have just installed vJASS and updated it to the latest version.

cJASS Manual

Download the Installer

Run it.

Hit next, and then hit next again. You will see a path. Paste in your Warcraft 3 JassNewGen directory

Default Paths:
32 Bit- C:\Program Files\Warcraft III\jassnewgenpack
64 Bit- C:\Program Files (x86)\Warcraft III\jassnewgenpack


Then hit install.

cJASS is dead, so you will not have to update it again. The JassNewGen Pack (vJASS) and JassHelper will have to be downloaded again on new versions. JassNewGen pack isn't always updated to the latest JassHelper, so that is why both should be downloaded. Always be sure to check for new versions of those.

Getting to NewGen World Editor
To enable vJASS, you will have to use the NewGen World Editor. It can be found in your Wacraft 3 directory.

Navigate to your Warcraft 3 Jass NewGen directory and find an exe named NewGen WE (or similar). Right click it and click Create Short Cut.


Hit CTRL + X and then hit WINDOWS KEY + D.

You should now be at your desktop. Hit CTRL + V and you should see the shortcut you made appear on the desktop.

To make a new map-

Then just hit ok

To run the map-
First CTRL + S or hit the save icon

Then CTRL + F9 or hit the Test Map Icon

To the upper right, you will see the cJASS drop down menu. Click on it and make sure Enable AdicParser and EnableAutoUpdate are not checked. Make sure Enable AdicOptimizer is not checked and Compile for Game Version 1.24+ is checked. Click them to check/uncheck them.

In Reinventing the Craft, make sure all items are disabled.

In Grimoire, make sure the second section of items are all checked.

In UMSWE, check items 1, 3, and 4.

In Extensions, make sure none of them are checked.

In Window, make sure Brush List isn't checked (will speed up WE if you had it checked).

Be sure to run NewGen WE as administrator or you will get an error when trying to open it.

Be sure to always save before hitting test map.

Don't bother with the Syntax Checker button as it doesn't work.

[13-47-05] Nestharus: Chapter 1 will also get your environment set up properly, like disable brush list etc
[13-47-24] Nestharus: and, be sure to run NewGen WE as Administrator if you are on Windows 7 or w/e!!
[13-47-30] Nestharus: otherwise you will get crazy errors

Chapter 2- Exploring the Trigger Editor

The Trigger Editor is used to write script for maps. Most aspects of Map Creation take place in the Trigger Editor.

How To Get To It
There are two ways to open up the trigger editor. The first way is by hitting F4.

The second way is by clicking the Trigger Editor icon (which looks like an a).

Trigger Editor Overview
When initially entering the trigger editor, you will see this-

The area on the left is where the code areas, or more commonly referred to as triggers, go.

Melee Initialization would be a trigger. When clicking on a trigger, the code area on the right displays what's inside of the trigger.

This trigger is in what is called GUI Format. GUI stands for Graphical User Interface.

Also, if you look above the trigger, you will see a comment area.

The comment area is limited in its capacity, but is great for quick notes. Do not use these areas for documentation.

The folder called Initialization is a category, which can be used to organize the code. Categories can be expanded and contracted by double clicking them.

Teaching Map.w3m would be the custom map script, which is really pointless to use and has a few bugs. It was originally there for plain JASS. Click Teaching Map.w3m (or whatever your map name is) to see what the custom code area looks like.

Right clicking on Teaching Map.w3m will allow you to create new categories.
Right clicking on a category will allow you to create new categories and triggers.
Right clicking on a trigger will allow you to create new categories, triggers, or trigger comments.

To delete triggers, trigger comments, and categories, simply select them and hit the delete key.

GUI Variables can be accessed by hitting CTRL + G. You can also access them by clicking the GUI Variables Icon.

Trigger Comments
Trigger comments are normally used for writing documentation. I suggest you never use these and instead use what are called comments. Trigger comments can't be used in Vanilla Warcraft 3 (the default Blizzard Wc3). The reason is because they will automatically turn the map they are inside of into a TFT Map (The Frozen Throne Expansion Pack), which lowers its accessibility. There are still many ROC (Reign of Chaos, or regular Warcraft 3) users out there.

Try making a new trigger comment

Trigger comments are pretty much like notepad (start -> run -> notepad), except that you can't use the tab key in them.

GUI In A Nutshell
GUI is like going through a series of menus. It's time consuming, it's slower than plain JASS, and reading it can be a serious chore.

There are three parts of a Trigger.

Events- what makes the trigger run. An event might be something like a unit casts a spell.

Conditions- what must be true for the event to fire. Let's say the spell has to be Life Drain.

Actions- what is done when the trigger is fired if all the conditions are true. Let's say that a spell was cast and it was indeed Life Drain.

To add new events, conditions, or actions, right click the trigger, events, conditions, actions, or any item.

Right clicking trigger

Right clicking an item

To copy text like this-
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Melee Game - Use melee time of day (for all players)
      • Melee Game - Limit Heroes to 1 per Hero-type (for all players)
      • Melee Game - Give trained Heroes a Scroll of Town Portal (for all players)
      • Melee Game - Set starting resources (for all players)
      • Melee Game - Remove creeps and critters from used start locations (for all players)
      • Melee Game - Create starting units (for all players)
      • Melee Game - Run melee AI scripts (for computer players)
      • Melee Game - Enforce victory/defeat conditions (for all players)
right click and hit copy as text.

Trigger Copy As Text- Copies entire trigger like above
Event Copy As Text- Copies all events
Condition Copy As Text- Copies all conditions
Action Copy As Text- Copies all actions
Item Copy As Text- Copies Item

*item copy as text output*
  • Melee Game - Remove creeps and critters from used start locations (for all players)
To create and view GUI variables, open the Variable List. Any variable made there will be accessible by GUI.

Converting a Trigger to JASS
To convert a trigger to JASS, click the trigger, click on edit, and then click Convert to Custom Text


The Melee Map trigger should now look like this


Last edited:
Ok, but do I have to extract it inside my WC3 folder?, maybe that's the reason why my JNGP cant save a map?...

Other reasons maybe I overwrite ALL files in JASSHelper with the new jasshelper version, that's different than what you stated above, coz you only ctrl-x 3 files, plus I didnt know about the cJAss setup issue...gonna try it latter...meanwhile have a +rep...


Still error...
Last edited:
I always run as admin and I disabled my anti virus since I got JNGP...

The strange thing is, It's OK before, but since I experimented on this code...

private integer CASTERU = S2I("Caster"), in this thread >>> http://www.hiveworkshop.com/forums/world-editor-help-zone-98/jngp-error-193738/

Now my JNGP is 'ALWAYS' giving that error...idk maybe it's my OS that's corrupt...I guess Ima try to re-install it again...
Level 5
Aug 16, 2010
I've recently been encountering this error whenever I use and External ObjectMerger call to create an ability. For example when DamageModifiers wants to create the Life Bonus ability, I get an error (I've attached a picture of it). How to solve this? It's really annoying.


  • Image 3.jpg
    Image 3.jpg
    27.2 KB · Views: 350