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

GUI, vJass, Jass?

Status
Not open for further replies.
I cant explain them clearly but I do know that GUI is like the normal trigger you are making where you can see the Action, Condition, and Event.

JASS is like GUI but the triggers are written in codes. VJASS, I think is an advance version of JASS.

you pretty much said them perfectly only a few things to note.

GUI is the normal trigger editor that u see. GUI stands for graphical user interface. which means that it is appealing to the eyes of a new user.

Jass is what gui is compiled into when it save. u can also write in jass which is the codes. everything is typed by hand although there are tools to help u with the functions (actions in gui) like TESH. jass is faster to do than GUI.

vJass is an extension of jass. it gives a lot more flexibility and is easier to use than jass. this requires u to download JNGP ( jass newgen pack). which can be found on here. the main things is that vJass allows for libraries and scopes which are kind of like folders on ur pc. it lets u sort everything easier and to easily manage things. think of this if u have to files names the same on ur pc u cant put them in the same folder. well this is the same for trigger names and global variables. but if u have a separate folder then the names can stay the same. vJass also allows for private variables. which are private to only that scope / library. and constant values which means that it wont let u set that variable to something else.
 
Level 30
Joined
Nov 29, 2012
Messages
6,637
you pretty much said them perfectly only a few things to note.

GUI is the normal trigger editor that u see. GUI stands for graphical user interface. which means that it is appealing to the eyes of a new user.

Jass is what gui is compiled into when it save. u can also write in jass which is the codes. everything is typed by hand although there are tools to help u with the functions (actions in gui) like TESH. jass is faster to do than GUI.

vJass is an extension of jass. it gives a lot more flexibility and is easier to use than jass. this requires u to download JNGP ( jass newgen pack). which can be found on here.

Oh, thanks.
 
GUI is the basic coding. Simply like this:
  • Hello
    • Events
    • Conditions
    • Actions
JASS is the script coding used by Blizzard for WE. JASS consists of two main code base: common.j and blizzard.j. common.j is the root of JASS syntax,while blizzard.j is for GUI.
JASS has also a common.ai script,use to generate Melee ais.

vJASS is a highly advanced JASS. the main vJASS we are using is by Vexorian. Simply, vJASS is very easy,its just that it added so many features so that coding JASS will be very simple and quick. vJASS also has a counterpart called Zinc also made by Vexorian,but has a C-like syntax.

cJASS is just like Zinc,though much more C-like than Zinc,but does not work if matched with vJASS.

LUA/Grimext is a highly advanced language made by grim001, some of its scripts allows you to create objects,customize objects, import scripts easily by typing. Imagine creating 1000 different abilities with just CnPing the script. Though the bad news is that LUA doesn't work on Microsoft's new patch.
 
RobinValentine, while you're still new, I suggest you either read deathismyfriend's tutorial on GUI triggering, or read tutorials on JASS and vJASS to master the two.

I would recommend that you read deathismyfriend's cool tutorial on the things a GUI user should know.

if u want to the link is in my sig. ( at the end of the message)

i would suggest u learn GUI to begin then move onto jass then vJass if u want to.
 
Level 16
Joined
Mar 27, 2011
Messages
1,349
Every game needs to be coded by a certain language. Warcraft 3 uses a programming language called "Jass." So jass looks like lines and lines of code.

GUI stands for "Graphical User Interface". It is a way for people with less programming skills to write programs. So your World Editor is a big GUI program for Warcraft 3 maps. So there are pictures, dropdown boxes, etc. The user of the GUI has little interaction with the actual code.

The problem with coding in GUI (Warcraft 3's GUI) is it isn't as effecient as coding directly in Jass. This is why some people prefer to learn and use Jass instead of using an inefficient GUI system.

As for vjass, I don't know...lol.
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
Here is my explanation (I know some of this has been said before in this thread already but I want to have a go at it just to clarify things):

GUI stands for Graphical User Interface which is the opposite of CLI which stands for Command Line Interface.
In some applications (including the world editor) the users are given a graphical approach to programming.
Eventually these graphical imagery are converted to the programming language that's behind it.

If you want to have more control over what you're doing then learning the underneath programming language that is used by the GUI is a good idea.
You will have a different interface called Command Line Interface. Here there are no images but highlighted text that you must write yourself.
Whenever you type out the correct words they are displayed with Syntax Highlighting.

Jass is the programming language for warcraft 3 which the world editor's GUI converts to.
Learning it causes you to learn more about what GUI actually does and also helps oversee problems you couldn't find in GUI.
The first step is to learn what function calls are. It's basically what tells warcraft 3 to do. Almost each action in GUI eventually ends up in function calls.

vJass stands for EDIT: very Jass.
It was created because Jass's original compiler had some annoyances.
Jass also wasn't a object oriented programming language.
vJass would extend the capability's of the community by bringing a near-OOP environment to work with.

JassHelper is the compiler made for the vJass language extension which includes structs, libraries, textmacros and more.
It was originally written by vexorian.

A more concise explanation can be found in the JassHelper Manual
The vJass language give mapmakers more control over their code and creations then regular Jass does.
There are more Jass extended languages such as pJass and cJass, but Jass and vJass are the standards that are being used by the community and is being approved of when submitted as resource.

Because of JassHelper (the compiler), vJass syntax eventually compiles to regular Jass syntax.
The extended language makes it possible to use encapsulated syntax which converts to underscores in front of the encapsulated name of the library/scope/struct/whatever.
You can see what it is converted to by creating a syntax error and then looking at the map header code that the compiler spits out.
You can also look at the map header code by extracting it from the mpq archive of your map using a MPQ editor.
Extract war3map.j in that case so you can open it with any text editor you like.

I hope this clarify's a thing or two for you.
 
Last edited:
Level 20
Joined
Jul 6, 2009
Messages
1,885
vJass stands for vanilla Jass.
Very unlikely. v in vJASS either means Vexorian or Very.
Vanilla would be the default JASS, with no addons.
cJASS is just like Zinc,though much more C-like than Zinc,but does not work if matched with vJASS.
cJASS does, in fact, work with vJASS. cJASS is an addition to JNGP.
LUA/Grimext is a highly advanced language made by grim001
Lua is not made by grim001, it is a commonly used language that is included with Grimext which is an extension pack.
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
lol, thanks guys for correcting me 3 times.
I think it's clear now that I've made a mistake...
No harm done though. I'm happy about the community here on hive always helping out :)
 
Status
Not open for further replies.
Top