Warcraft 3 documentation
vJASS & Zinc Documentation
For the latest documentation about how it works vJASS and Zinc language layers for Warcraft III, please follow these links:
Jasshelper documentation - Zinc documentation - WC3 Optimizer documentation

[Jass 101] - Introduction No New Posts Jass Tutorials

Started by

0 Members and 1 Guest are viewing this topic.

[Jass 101] - Introduction
on: October 21, 2012, 11:51:18 AM

JASS 101 - Introduction

Welcome to the first chapter of JASS 101. Before we start, we should set some concepts clear.

What's JASS??
According to Wikipedia:
JASS or JASS2 (sometimes said to stand for Just Another Scripting Syntax) is an event driven scripting language used in Blizzard Entertainment's Warcraft III game and its expansion pack The Frozen Throne. Map creators can use it in the World Editor to create scripts for triggers and AI (artificial intelligence) in custom maps and campaigns.

With jass, you can extend the functionality of a Warcraft III game using triggers, you can control many aspects of the game though this language. JASS is the script behind the GUI, which is a simplest form of coding using predefined blocks of objects.

How much control I can get with JASS?

You can do many things with JASS, but is healthy to emphasize that JASS is not the solution for everything. JASS can't change abilities in game or allow full control in some aspects of the units like the unit model path for instance. JASS must be used in conjunction with other game sections like the Object Editor. In fact, some of the most well developed triggers are the ones which take full advantage of an ability behavior.

In conclusion: Doing everything in jass is not a good idea, use it wisely, mix it properly with object editor and you'll get a very stable game.

What is a good use of JASS?

Jass is very good to:
  • Create nice spells based on actual spells
  • Can create modify and delete units/destructables/items
  • Create specific situation in the game based on events
  • Create systems that controls a general aspect like unit respawns, damage detection, etc.
  • Can be used to generate AI behaviors (*.ai files) or triggered AI so neutral and/or computer players react properly according to specific circumstances, etc...
  • And much more...

What do I need to code in JASS?

Jass can be managed directly in World Editor, but it very uncomfortable and from time to time the Editor freezes and don't save stuff. For that reason it was developed PJASS and JassCraft and they made the things a little bit faster ans safer. Later with the arrival of Grimoire (a tool that inject code in WE), wc3modders were able to add new features to World Editor and the final result of this work is Jass New Gen Pack (JNGP) which the latest version can be found here: https://wc3modding.info/4263/the-jass-newgen-pack-jngp-2-0/

With this you can code in Jass in a very comfortable way and do more advanced stuff in one and only one application. For that reason this tutorial will require in a mandatory way this tool so we can take FULL advantage of this language. To learn about how to install and configure JNGP please follow this quick tutorial.

Too much talk!!! :D
Let's start this tutorial right now. Check the bar below to move in the tutorial.

« Last Edit: December 23, 2017, 06:59:48 PM by moyack »

[Jass 101] - Introduction
Reply #1 on: February 10, 2013, 12:01:24 PM

Small update :)


Started by moyack

Replies: 2
Views: 6324
WC3 Editing Tools

Started by moyack

Replies: 3
Views: 4325

Started by moyack

Replies: 225
Views: 318185
WC3 Editing Tools

Started by nestharus

Replies: 0
Views: 2405
Jass Tutorials

Started by moyack

Replies: 1
Views: 8153
Vivir aprendiendo.co - A place for learning stuff, in Spanish   Chaos Realm - The world of Game modders and wc3 addicts   Diplo, a gaming community   Power of Corruption, an altered melee featuring Naga and Demon. Play it now!!!   WC3JASS.com - The JASS Vault + vJASS and Zinc   Jetcraft - A Starcraft II mod   WormTastic Clan (wTc)   Warcraft RESOURCES Reforged: Modelos, mapas, proyectos y mas...