Tutorial The Complete Guide to JASS, vJASS, and cJASS

Jesus4Lyf

Good Idea™
Reaction score
397
>I just did it the exact way I installed newGen. My installations has 0 problems too ^_^.
Irrelevant to the fact that the documentation explicitly says not to install it there.

>Now, I am looking for tips, but I am looking for them in the form of questions from beginners reading this guide.
You might find that hard considering that this is not approved, and JASS beginners typically neither exist nor read tutorials, but instead post a flurry of questions in JASS help. :p

You draw no distinction between vJass and cJass (I wouldn't read the first chapters), one of which is support on TheHelper as it stands and the other is not. This is pretty important, isn't it?
(Referring to printf in display text to player chapter.)
 

Nestharus

o-o
Reaction score
84
>I just did it the exact way I installed newGen. My installations has 0 problems too ^_^.
Irrelevant to the fact that the documentation explicitly says not to install it there.

And take a note that I did fix it as soon as someone mentioned it

>Now, I am looking for tips, but I am looking for them in the form of questions from beginners reading this guide.
You might find that hard considering that this is not approved, and JASS beginners typically neither exist nor read tutorials, but instead post a flurry of questions in JASS help.

And take a note that I have been looking for people, and the few I have found have had a total of 2 questions for me when reading this guide, which I answered and fixed to include in the guide ^_^. A total of 2 in over 20 chapters is a pretty good sign : p.

You draw no distinction between vJass and cJass (I wouldn't read the first chapters), one of which is support on TheHelper as it stands and the other is not. This is pretty important, isn't it?
(Referring to printf in display text to player chapter.)

I do draw distinctions between vJASS and cJASS (includes). But I didn't on the printf, you are right. I will draw that distinction if you like =).
 

Avaleirra

Is back. Probably.
Reaction score
128
I am completey new to programming and I found that this tutorial was an IMMENSE amount of help. I found it covered things better than other tutorials.

Just a bit of feedback:
• could you make a few example triggers that one might actually use in the WE
• I found you went at a good pace until chapter 11, then you started to fly and I got a bit lost
• a bit more examples and more explanation please


Otherwise it was amazing :) +rep
 

Nestharus

o-o
Reaction score
84
could you make a few example triggers that one might actually use in the WE

I will get into how to make your own Triggers, yes. Keep in mind that this tutorial isn't done ^_^.

I found you went at a good pace until chapter 11, then you started to fly and I got a bit lost

I'll cover chapter 11+ better =).

a bit more examples and more explanation please

Sure thing. I'll throw in some more nifty exercises too.

Chapters 11-14 so far are covered better, still working on 14+
 

Nestharus

o-o
Reaction score
84
An example that does absolutely nothing, but it uses a simple native =). Also a mistake with _ : p

Wasn't sure what native to use, Acos just popped up and I was like, that works =p.

Then again, that's a bad example since it retrieves the values from the natives o-o.

Oi oi.

Yea, i'll def change that example to something that takes a primitive parameter and returns nothing... and has a BJ form... hm... wonder what that could be ><.

I think I found our candidate-
JASS:
function ClearMapMusicBJ takes nothing returns nothing
    call ClearMapMusic()
endfunction
 

Avaleirra

Is back. Probably.
Reaction score
128
More feedback:

1. Explain the "takes nothing, returns nothing" better
2. In every aplicable section, include a simple trigger that might be used ingame.


E.g,

event
every X seconds
actions
create 1 footman for player red at wherever facing whatever
 

Nestharus

o-o
Reaction score
84
I'll go on triggers later =). People wouldn't understand any of the code I was writing for the trigger =P.

As for the nothing keyword, I'll explain it better : D
 

Avaleirra

Is back. Probably.
Reaction score
128
And don't forget explaing how triggers "take" and "return" I didn't quite get that :)
 

Nestharus

o-o
Reaction score
84
Triggers don't take, but a trigger evaluation returns a boolean

You can use vJASS with .evaluate and .execute to pass in values through globals tho.

This is the reason why I'm not showing any examples on triggers except for the Trigger Chapter =P.

Also, didn't write much on Friday =). I was working on a 4.0 of a system called Spawn >: D, my little baby ^_^.
 

Nestharus

o-o
Reaction score
84
f(x) = 3x + 3

That's a function in simple and plain mathematics

You plug something into the function to substitute in-

f(3) = 3*3+3

You can also do this-
f(x, y, z) = z(x+y) = zx+ zy

That would be takes explained in algebra

All functions in algebra always return something, and the type is always a real. The takes is always a real in algebra too ><.

The return would be the result-
3*3+3 = 12

f(3) = 12

There is only ever one single returned value in a function.

In programming, it's much the same except the takes and returns can be whatever type you want. Because it can be any type you want, you have to tell it what type it's going to be-

f(real x) = 3x+3 = real

or

function takes real x returns real
return 3x+3
endfunction

Functions in algebra are determined by their variables.

Functions in programming are determined by a name

function Name

And to finish it

function Name takes real x returns real
return 3x+3
endfunction

call Name(3)

that would be the algebra translated into JASS : |.

Now, how do I explain that in plain english for people who don't even know algebra?
 

Avaleirra

Is back. Probably.
Reaction score
128
Luckily, I just covered functions in school last year :), I'm sortof getting it now.....but not fully.
 

Nestharus

o-o
Reaction score
84
Yea, functions were also the hardest thing for me to grasp in programming : \. I figure that's the main crux of a guide, and that's what really makes or breaks a guide. The function chapter is probably the most important chapter, so it's really important that I write it correctly O-o and in plain english for everyone to understand.

But I must ask..

Did you click the link in the chapter and read the description on the link?? I thought that that site had a pretty darn good description ><.

If you didn't... then you should read it first -.-. Those links were there for a reason =P
 

Avaleirra

Is back. Probably.
Reaction score
128
Yea, functions were also the hardest thing for me to grasp in programming : \. I figure that's the main crux of a guide, and that's what really makes or breaks a guide. The function chapter is probably the most important chapter, so it's really important that I write it correctly O-o and in plain english for everyone to understand.

But I must ask..

Did you click the link in the chapter and read the description on the link?? I thought that that site had a pretty darn good description ><.

If you didn't... then you should read it first -.-. Those links were there for a reason =P


No, I didn't read them. I'll do that now :)
 

Nestharus

o-o
Reaction score
84
Uh.. no wonder you didn't get it then : P. You didn't read the entire guide, lol : D.

I didn't explain what a function was because I expected readers to read the links that did it ; O.
 

Jesus4Lyf

Good Idea™
Reaction score
397
In chapter 22 you say something odd:
"A boolean expression goes after the exitwhen. A then keyword isn't used."
JASS:
loop
    exitwhen boolexpr
endloop

Now you're actually right in what you say, but I'd at least make it not highlight "boolexpr". And note the diff between boolexprs and boolean expressions. <_<

Aside from that this honestly looks fairly approvable. Keep up the good work.
 

Nestharus

o-o
Reaction score
84
boolean expressions and boolexpr variables are covered in the previous chapter =). I will change it from boolexpr to boolean expression in the code example tho =).

And Jesus4Lyf, ty =). This isn't done yet though : O. I still got a million more chapters to write o-o.

The Complete Guide to JASS and vJASS

If only I had done

The Incomplete Guide to JASS and vJASS

instead ; o. lol : P
 

Romek

Super Moderator
Reaction score
963
I still stand by what I said previously in that this doesn't explain much at all, and what is explained is explained either in a pretty poor way, or by simply copying something from another website.
I don't think you're particularly gifted in the art of tutorial-writing. Stick to making actual code instead. :p

And I still find the tag abuse absolutely horrible.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    How can you tell the difference between real traffic and indexing or AI generation bots?
  • The Helper The Helper:
    The bots will show up as users online in the forum software but they do not show up in my stats tracking. I am sure there are bots in the stats but the way alot of the bots treat the site do not show up on the stats
  • Varine Varine:
    I want to build a filtration system for my 3d printer, and that shit is so much more complicated than I thought it would be
  • Varine Varine:
    Apparently ABS emits styrene particulates which can be like .2 micrometers, which idk if the VOC detectors I have can even catch that
  • Varine Varine:
    Anyway I need to get some of those sensors and two air pressure sensors installed before an after the filters, which I need to figure out how to calculate the necessary pressure for and I have yet to find anything that tells me how to actually do that, just the cfm ratings
  • Varine Varine:
    And then I have to set up an arduino board to read those sensors, which I also don't know very much about but I have a whole bunch of crash course things for that
  • Varine Varine:
    These sensors are also a lot more than I thought they would be. Like 5 to 10 each, idk why but I assumed they would be like 2 dollars
  • Varine Varine:
    Another issue I'm learning is that a lot of the air quality sensors don't work at very high ambient temperatures. I'm planning on heating this enclosure to like 60C or so, and that's the upper limit of their functionality
  • Varine Varine:
    Although I don't know if I need to actually actively heat it or just let the plate and hotend bring the ambient temp to whatever it will, but even then I need to figure out an exfiltration for hot air. I think I kind of know what to do but it's still fucking confusing
  • The Helper The Helper:
    Maybe you could find some of that information from AC tech - like how they detect freon and such
  • Varine Varine:
    That's mostly what I've been looking at
  • Varine Varine:
    I don't think I'm dealing with quite the same pressures though, at the very least its a significantly smaller system. For the time being I'm just going to put together a quick scrubby box though and hope it works good enough to not make my house toxic
  • Varine Varine:
    I mean I don't use this enough to pose any significant danger I don't think, but I would still rather not be throwing styrene all over the air
  • The Helper The Helper:
    New dessert added to recipes Southern Pecan Praline Cake https://www.thehelper.net/threads/recipe-southern-pecan-praline-cake.193555/
  • The Helper The Helper:
    Another bot invasion 493 members online most of them bots that do not show up on stats
  • Varine Varine:
    I'm looking at a solid 378 guests, but 3 members. Of which two are me and VSNES. The third is unlisted, which makes me think its a ghost.
    +1
  • The Helper The Helper:
    Some members choose invisibility mode
    +1
  • The Helper The Helper:
    I bitch about Xenforo sometimes but it really is full featured you just have to really know what you are doing to get the most out of it.
  • The Helper The Helper:
    It is just not easy to fix styles and customize but it definitely can be done
  • The Helper The Helper:
    I do know this - xenforo dropped the ball by not keeping the vbulletin reputation comments as a feature. The loss of the Reputation comments data when we switched to Xenforo really was the death knell for the site when it came to all the users that left. I know I missed it so much and I got way less interested in the site when that feature was gone and I run the site.
  • Blackveiled Blackveiled:
    People love rep, lol
    +1
  • The Helper The Helper:
    The recipe today is Sloppy Joe Casserole - one of my faves LOL https://www.thehelper.net/threads/sloppy-joe-casserole-with-manwich.193585/
  • The Helper The Helper:
    Decided to put up a healthier type recipe to mix it up - Honey Garlic Shrimp Stir-Fry https://www.thehelper.net/threads/recipe-honey-garlic-shrimp-stir-fry.193595/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top