• 🏆 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!

I want to learn JASS but I don't know where to start :(

Status
Not open for further replies.
Level 4
Joined
Jul 29, 2014
Messages
65
I have browsed a lot of forums and articles here and all over the internet.
They all look much complex to me and confusing. Some give me a specific code that only focuses on "passive" abilities.

but what I really need is some kind of basics :(
I can't just start coding on a specific spell without know the functions and the 'get get' things that it says ... uhhh...

I want to learn JASS (as somebody told me to use it in making skills and abilities because all my custom abilities failed to work)
but I do not know where to start from in studying JASS.

Please help me..
I can't go on with my project without this ... T.T
 
Level 15
Joined
Oct 29, 2012
Messages
1,474
I never watched a tutorial for jass, I never followed a tutorial or a guide and I always considered JASS as my big problem in World Editor career

But I finally learned its basics , you know how ? By converting GUI to JASS

How I've done that, is that I take a random GUI trigger from a random map, and I convert it to JASS ( Just right click and then convert to custom script ), and after I convert back form JASS to GUI and I see if it fits, I analyze the JASS trigger, and I see what lines fit the GUI lines, I understood the syntax, I knew that events are below conditions and conditions are below actions.

This helped me a lot to remaster and remake maps

Sincerely wish you the best luck
 

Deleted member 219079

D

Deleted member 219079

100% quaranteed to learn JASS:

1. Learn GUI ( you have to do this )
2. Have basic knowledge of programming languages ( if you know html only / not even it, it's gonna be hard for you )
3. To make it easy, do not use normal wc3 editor, use jassnewgenpack ( I can find a link if you can't find it anywhere )
4. Go for a quick run and take a quick breakfast before starting any session with jass at the beginning
5. Try my tutorial ( I'm not trying to advertise or anything... ) and say where you dropped off so I can improve it
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
yea html is soo gonna help >.< dafuq?

And no, you dont have to learn GUI. In fact the control flow in GUI and Jass are different because "triggers" are used differently (as GUI does not have functions, you use trigger objects for everything), this confuses lots of people who switch from GUI to Jass. On the other side the GUI Actions and Jass Natives/BJs are similar (obviously..) so some experience in GUI helps you by giving you an idea which Jass functions there are. There are quite a lot and it takes time to get an insight on this, but learning GUI and getting a proper overview takes time too.
 

Deleted member 219079

D

Deleted member 219079

so he knows the philosophy behind it

but html doesn't help at all otherwise, since it doesn't have functions, objects or stuff..

well it includes ghetto objects as divs can be classes
 
Level 15
Joined
Oct 29, 2012
Messages
1,474
I never understood any programming language before JASS, I just know JASS, I didn't have to know LUA syntax or C++, damn it, this will make it even harder :D and will take much time

But I still approve the 'Getting a fast breakfast before taking any jass tutorial session' idea :D

JASS is the gateway to understanding other languages, and Vice-Versa !!!
 

Bannar

Code Reviewer
Level 26
Joined
Mar 19, 2008
Messages
3,140
Jass is hardly "a gateway" in understanding some real languages, especially since it's rather poor in features with a lot of limitations and basically no support.
Features you learn in jass environment merely cover basics of typical programming language.

Extension in form of e.g vJass adds some dynamics, yet it's still not enough.
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
Jass is hardly "a gateway" in understanding some real languages, especially since it's rather poor in features with a lot of limitations and basically no support.
Features you learn in jass environment merely cover basics of typical programming language.

Extension in form of e.g vJass adds some dynamics, yet it's still not enough.

What? Of course jass helps, its a pretty standard imperative programming language. The syntax might be unusual, but the syntax differs between all languages. vJass might not be the perfect way to learn oop programming and the "exitwhen"-loops are rather exotic, but everything else is handled just like in all the mainstream imperative languages.

"JASS is the gateway to understanding other languages, and Vice-Versa !!!", just as jonhysone said.
 
Level 4
Joined
Jul 29, 2014
Messages
65
Now I'm stuck at GUI's creating basic spells ...( T.T ) *sobs* *sob*
Guess I'll spend too much time of learning jass stuff

Can I make a cool spell without using Jass??? (alternately while I'm learning) I wanna finish my project earlier as possible?
 
Last edited by a moderator:
You can either />
Use the spells already made in the spells section here on hive.
Use GUI to create your own (easier to use as a newb in coding believe me).
Or try and create some out of the default spells in the object editor in the world editor.

Creating wonderful things in the world editor usually takes a lot of time and dedication so don't expect yourself to make a large project that has great/decent quality early.

Planning ahead is something that helps a lot instead of just jumping in and expecting to do it.
(By planning I don't mean writing all the details but having a general outline, but if I remember right you've already done that.)
 
Last edited:
Level 4
Joined
Jul 29, 2014
Messages
65
My friend got me a full novel already. Tells me the ideas and quest, infos.
All my job and contribution to the project is to put beauty in it.

Well, if that is so, the project will be taking too much time to finish. That's okay.
I don't want to see my project sucking up and lack of quality. :)
I am willing to develop the project even for years haha (i wish would it not be years), so that it will be so... beautiful :)

Got a good news! I made a brand new spell (using GUI and basic turfs), it's very plain I guess. A skill that kills a non-hero unit instantly disregarding how much its hitpoints. I think it's okay? HAHAHA (I'm so newbie ya know!)
 
Last edited by a moderator:
Level 21
Joined
Mar 27, 2012
Messages
3,232
I still have my first spell. Looking back, it seems strange what kind of mistakes I made.
  • Init
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to (==) Channelling
    • Actions
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Items\VampiricPotion\VampPotionCaster.mdl
      • Wait 2.00 game-time seconds
      • Special Effect - Destroy (Last created special effect)
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 300.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Wait 0.05 game-time seconds
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 320.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Wait 0.05 game-time seconds
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 340.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Wait 0.05 game-time seconds
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 360.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Wait 0.05 game-time seconds
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 380.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Wait 0.05 game-time seconds
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 400.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Wait 0.05 game-time seconds
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 420.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Wait 0.05 game-time seconds
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 440.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Wait 0.05 game-time seconds
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 460.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Wait 0.05 game-time seconds
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 480.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Wait 0.05 game-time seconds
      • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius 500.00 at (Position of (Triggering unit)), dealing 100.00 damage of attack type Spells and damage type Normal
      • Special Effect - Destroy (Last created special effect)
 
^Lol looks like the triggers I used to make in GUI when I first tried to make something actual good.
Some where a lot longer with multi if - then - else functions spammed alot with single line and multiple ones.

And believe me there was a lot of lines. XD

That was back in late 2010 and now I'm trying to make my code in pretty, efficient, compact, complex and readable vJass.
 

Deleted member 219079

D

Deleted member 219079

If you need assistance ask nestharus or DSG, both are experts in overcomplicating all sorts of things.
Some people seem to make code unreadable to others. For example you could spend couple of minutes of adding what you're doing with each textmacro call. At least don't post that kind of stuff here in hive just to piss off mods who have to review it >.>

But this babbling doesn't help the OP,

Deadly Nightshade did you try my tips? How did it go?


edit: his last posts have been about gui, wasn't he trying to learn jass? *confused*
 

Deleted member 219079

D

Deleted member 219079

So the OP abandoned this thread without telling any progress he's had..

Now why did he want to learn JASS before GUI to begin with? :/
 

Deleted member 219079

D

Deleted member 219079

In case somoene feels difficulties trying to learn JASS without GUI, he should master GUI frist
 
Level 4
Joined
Jul 29, 2014
Messages
65
I'm now learning a little about the GUI.
But I get too much efforts that dont work when I test my custom abilities.
Is it learning by trial and error? (Of course I have modified a skill of mine about 30 times but it failed workin in game. though it's GUI) pretty sucks bad to me sometimes.
 
Level 4
Joined
Jul 29, 2014
Messages
65
I would need to sleep right now or maybe a little few minutes after .
Preliminary exams really tire me up. :) Cake master, you would be my mentor when I am to step to that "jass learning' or some help zones. Aye?
 
Level 29
Joined
Oct 24, 2012
Messages
6,543

Deleted member 219079

D

Deleted member 219079

^you learn jass that way.

i recommend doing as i did and learning vjass straight away

i learned by malhorne's tutorial (and 6-month question harassment)

edit:
also deathismyfriend it is really immature to recommend your own tutorials here.

instead OP, you could check out my 2014 JASS tutorial for beginners! :)
 
Status
Not open for further replies.
Top