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

[General] First step to mod triggers in WC3 Editor

Status
Not open for further replies.
Level 8
Joined
Oct 2, 2013
Messages
288
Hello everyone!
I've recently joined the forum and I'm going to take my warcraft-editing to the next step.

I've had years of experience with the regular editor, creating triggers and such. But now I wanna start using jass. Or do I?

I'd like to know what I should approach first, because I noticed there's a lot of different jass mods as well as other mods not even called something with jass.

Please let me know how I approach this the best way, what should I download and tryout first? What differences should I be aware of compared to regular triggering? I appreciate anything worth to know :)

Also, I realize there might be a thread about this but I've had troubling finding my way in here :/
 
Level 15
Joined
Oct 29, 2012
Messages
1,474
JASS = Just another scripting system/syntax

Well jass has mods : vJass , cJass , pJass ...

To start with jass , You should learn what Globals ,Natives , Constants , How actions are made , How loops are made , How events and conditions are made , Look at tutorials, But I probably have noticed most important things that you should search for .
YOU SHOULD KNOW ALSO Gui = JASS
Jass is better than GUI
JASS is more efficient than GUI
GUI is slow
Jass is fast
:)
 

Rheiko

Spell Reviewer
Level 25
Joined
Aug 27, 2013
Messages
4,121
JASS = Just another scripting system/syntax

Well jass has mods : vJass , cJass , pJass ...

To start with jass , You should learn what Globals ,Natives , Constants , How actions are made , How loops are made , How events and conditions are made , Look at tutorials, But I probably have noticed most important things that you should search for .
YOU SHOULD KNOW ALSO Gui = JASS
Jass is better than GUI
JASS is more efficient than GUI
GUI is slow
Jass is fast
:)
short, learn the syntax
 
Level 8
Joined
Oct 2, 2013
Messages
288
Very well. Thanks a lot for the fast and informative replies :)
One last thing: Is there a specific download link you can recommend? Or is it okay to go with whatever jass program they've listed here on the Hiveworkshop?
 
Level 16
Joined
Jul 31, 2012
Messages
2,217
1. JNGP is a must-have to start easily with JASS since some functions used in JASS are automatically suggested in the JNGP
2. to really have a great beginning at JASS you MUST first try your own GUI triggers, convert them to custom script and analyze each and every line that appear, by frequently doing this, you will get used to JASS easily
3. After training on convertings, you can upload your triggers at Triggers & Scripts so that people can help you to make your triggers better or even if you made a spell in JASS, upload it to the Spell Section you will surely get replies like :
Reply one said:
You do this wrong
Reply two said:
You should go back to GUI
if you were really a beginner, but don't worry, many people will enjoy helping you at HIVE

~~Inspired by my own experience
 
Level 26
Joined
Aug 18, 2009
Messages
4,097
YOU SHOULD KNOW ALSO Gui = JASS
Jass is better than GUI
JASS is more efficient than GUI
GUI is slow
Jass is fast
:)

Yes, no need to learn jass, just know that is ultimately super duper superior to infantile GUI.[/sarcasm]
Using jass does not automatically mean you write efficient code.

Triggers you create in GUI are actually converted to jass when the map is compiled. The wc3 game only understands jass as map script. The normal editor does allow you to inject jass parts. That is, you can insert single lines via the Custom Script action (3rd from top) in GUI or convert a page >Edit >Convert to custom text.

You should still download the JNGP because the normal editor crashes on some syntax errors, does not provide an overview of the API (what functions and constants you can use within jass), only grants limited access to the jass output and has some other benefits. JNGP also comes with a compiler for the artificial extension of the jass language called vJass. It was designed by modders and holds formal advantages to jass (it transforms to jass when saving). You can still use normal jass.

I agree with Hera_ that it's good starting practice to convert some triggers you know from GUI and for yourself interpret some pattern into it.
 
The difference between Plain Jass and GUI is one thing string. /Sarcasm

Well, Jass is really superior to GUI, but there's no need for everyone to master Jass [I rarely uses Full Jass Trigger, only in Custom Script, and mostly they're just leak cleaning or activating additional function to my triggers].

YOU SHOULD KNOW ALSO GUI = JASS
Jass is better than GUI
JASS is more efficient than GUI
GUI is slow
Jass is fast

:)
I couldn't disagree more with the bolded part, why? As WaterKnight said :
Using jass does not automatically mean you write efficient code.
It's possible for people who are Jass Newbies to have their codes more inefficient than GUI Masters who only uses GUI.
Mass is more efficient if the user really manage their codes well.

Also, what DIMF said, check http://www.hiveworkshop.com/forums/...80/converting-gui-into-efficient-jass-233227/ as it contains a lot of info for starters.
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
The problem with converting GUI triggers is that they are often very confusing. Its a good way to find jass natives, but for learning jass from scratch id say you should just find a tutorial (there is one around somewhere on the hive, i tihnk daelin wrote it).

And you should use the old JNGP (jassnewgenpack5d) simply because its still the default for wc3 scripting. Its quite stable and everyone uses it, subsequently the support is very good.
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
I originally reached a very high level at GUI. I understood most of the logic behind it and this simplified moving to JASS.

At first I tried using tutorials, but failed miserably. They simply explained the wrong things and/or in a very confusing way.

Eventually the breakthrough came from taking some very very simple GUI triggers and converting them to JASS.

I made a simple trigger that only contains 1 event.
Then I converted it to JASS and looked how it was formatted.
I understood that triggers are set up once at the start of the game(usually) and that this was pretty much all the code that I had in front of me.

Then I used undo to change the trigger back to GUI.
I added a single action(create unit(s) at location)
Then I converted it to JASS again and saw, that the action was made with just one line(since the function existed earlier). Furthermore, I saw that it took the exact same information in when creating the unit, just in a different format.

Then I repeated similar steps with many actions, conditions, events.
Very soon I moved onto vJASS(partially, cos I still find most of it pointless)
I understood what a library actually does(moves some code to the top of the map script, so that the functions it has could be used elsewhere)
I understood quite fast what a globals block is, it was pretty much like creating local variables, except that they don't have the local keyword.
I also understood that a globals block is pretty much like the variable editor in GUI, just easier to use in most cases.

I hope I was helpful.
 
Level 22
Joined
Sep 24, 2005
Messages
4,821
@Jad, I don't jump on people, I hunt them, I swear this in the name of Barry, the avatar of the almighty Malhorne.
I just mentioned that the JNGP I downloaded 2 years (2011) ago from wc3c.net has hashtable support.
 
I originally reached a very high level at GUI. I understood most of the logic behind it and this simplified moving to JASS.

At first I tried using tutorials, but failed miserably. They simply explained the wrong things and/or in a very confusing way.

Eventually the breakthrough came from taking some very very simple GUI triggers and converting them to JASS.

I made a simple trigger that only contains 1 event.
Then I converted it to JASS and looked how it was formatted.
I understood that triggers are set up once at the start of the game(usually) and that this was pretty much all the code that I had in front of me.

Same with me, but for me I stopped converting them and just.. stopped. Then I saw some JASS post. Then I understood.
 
Status
Not open for further replies.
Top