• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

How to get started with JASS

Status
Not open for further replies.
Level 2
Joined
Dec 9, 2018
Messages
4
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 39
Joined
Feb 27, 2007
Messages
5,012
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