• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

How to get started with JASS

Status
Not open for further replies.
Level 2
Joined
Dec 9, 2018
Messages
6
Hi everyone, I wasn't sure where to post this so apologizes if here is not the appropriate place. I'm an experienced programmer who got really interested with JASS but I'm having a hard time figuring out where to write JASS and how to add it to warcraft 3. I've seen a VSCode extension so I assume people just write their code there and copy paste it into world editor by making triggers and converting them to text? Also where can I see documentation for JASS? I feel really lost not knowing any functions and not knowing what I can and can't do. I'd really like to get started but I'm not sure how to.
 
There are 3 built in sources of jass code common.j, blizzard.j and common.ai JASS Manual: API Browser - API Browser: Functions contains them. But it lacks new stuff from 1.27+. There are also some examples for jass on that webpage.
JASS Manual


common.j contains native functions and constants.
blizzard.j is mostly filled with variables/functions for GUI and melee.
common.ai is mostly for ai script normaly one can not use it outside of bot ai.

you gain a copy of common.j and blizzard.j after you saved an map, with jasshelper enabled, in user\Documents\Warcraft III\JassHelper, this happens in up to date warcraft 3.
 
Level 45
Joined
Feb 27, 2007
Messages
5,578
There is now an OOP extension to JASS that has been integrated into the 1.30+ world editor (or you can use a 3rd party editor like WEX which supports vJASS). Here is some out-of-date documentation that shows most of the things it can do: JassHelper 0.A.0.0
one can not use it outside of bot ai.
This is not explicitly true. Any natives from common.ai may be used within your map as long as they are redeclared properly:
JASS:
//can be declared anywhere in the map script, afai:
native UnitAlive            takes unit id                               returns boolean

function foo takes unit u returns boolean
  return UnitAlive(u) //works
endfunction[/trigger]
 
Status
Not open for further replies.
Top