Welcome Guest [Log In] [Register]
Welcome to Chaos Realm!!!

You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.

Join our community!

If you're already a member please log in to your account to access all of our features:

Username:   Password:
Multiquote Multiquote
Add Reply
Jass Tutorial help; need a good tutorial for Jass
Topic Started: Aug 6 2017, 03:36 PM (1,422 Views)
Member Avatar
[ * ]
I want to learn Jass, but there are only shitty tutorials (my personal opinion) that just dont explain so many important things, and I just cant get what they want to tell me. I really need a tutorial that explains how everything works, without letting things out and saying its so easy at the beginning of they're thread ._. . I only get to understand a few things here and there but I doubt that I will ever be able to learn it this way, if theres not a tutorial that can start from 1. All i get is stuff like this :

After "takes" is where you define what the function will "take in" when it's called. Anything taken in by a function can be used as a local variable (which will be explained later) inside of the function. To define what the function takes, put <type> <name> after "takes ". Example: ......

function meh takes unit u returns nothing

what I get from this is that, after "takes" I can define what it will take in when its called??? what is that supposed to mean?. I know I can create codes and call them later on to "activate" them in other functions and stuff (As I said I get a bit of what they are trying to teach) but what is with "takes "unit" " its supposed to be a type, but what are these types?. Also what is this unit u?. No explanation on the returns,nothing how it works or all these other small things that would help alot to understand what iam actually doing. Maybe it would even help if someone could tell me how he/she learned Jass and how I could learn it more efficient.

Offline Profile Quote Post
Member Avatar

Those tutorials are for people that at least have a basic concept how coding works, in your case it is not going to work out, and there are a lot of much simpler guides, the thing is, that you don't really need them if you at least understand the concept.

I learnt coding myself, without any guide, thru trials and mistakes, by constantly changing bit by bit and checking what changed.

The point is, that with your attitude you won't learn it, no matter how great of a guide there will be, because you simply don't even understand the simplest things. For example:

unit u, u is a variable that extends agent unit (read common.j for that). That variable can now become anything, it will either take in a value of a unit like: set u = HeroArthas, or become a unit itself like: set u = CreateUnit(p, 'H00A', -400, 6000, 270), etc...

Every one has his own way how he learnt different things, their methods will not always work for you, just as mine might not work on you.

P.S. takes unit means that it needs to receive the unit from somewhere in order to be able to get the data from it, example:

Posted Image

This is the function that will handle the "tasked" action, for which it needs to "take" a unit. In order to take the unit it needs to be sent from somewhere, thus we "send" it like this:

P.S.S I also just found a small mistake in my function, I need to change GetTriggerUnit() with hero, as they are essentially doing the same thing.

Posted Image

Meaning, hero, who is GetTriggerUnit() or in our case "hero" is sent to CountItemsOfTypeFromUnitRW, thus it is being "taken", then it is "converted" to WhichUnit that CountItemsOfTypeFromUnitRW uses in its function...

Attached to this post:
Attachments: Example1.png (11.2 KB)
Attachments: Example2.png (13.89 KB)
Edited by Unryze, Aug 6 2017, 04:33 PM.
My Map Topic:http://chaosrealm.info/topic/10567032/
Official Map Site::http://vendew.info
Skype: Unryze
Garena: Unryze
Anime Character Fight and BvO Another Map Maker
Offline Profile Quote Post
Member Avatar
Deus ex Machina
[ *  *  *  * ]
I want to state there is no definitive guide on everything Jass, since it is an open-ended scripting language where there are new scripts being made. The tutorials are basically keys that help you unlock aspects, so calling them shitty is unfair since you should be looking at them as a group and not individually.

There are plenty of ways to learn, I don't think you know where to look or have the attitude to sit down and "master" it. Still, I'll give you a chance to prove me wrong:

1. Introduction to JASS
2. JASS Beginner Guide
3. Unofficial Jass Manual
4. Wc3Jass forum is where new scripts are posted and where you can talk in a community dealing with Jass.

Like Unryze said:

I learnt coding myself, without any guide, thru trials and mistakes, by constantly changing bit by bit and checking what changed.

Every one has his own way how he learnt different things, their methods will not always work for you, just as mine might not work on you.

You are going to have to learn a lot and do just as much on your own. Besides the guides, you should find maps that have similar aspects to what you want to do and study their scripts. Nothing in life worth doing is easy, expecting it to be is a recipe for failure. Anybody that can truly create things, that'll work in-game, didn't get that way over night. They took the time to learn.
Edited by Marek, Aug 7 2017, 12:56 PM.
Posted Image
Offline Profile Quote Post
1 user reading this topic (1 Guest and 0 Anonymous)
« Previous Topic · Triggering Requests · Next Topic »
Add Reply

War3 Modding

Blizzard Modding

Other Games


Models & Skins
Ongoing Contests
Hosted Projects
World of Warcraft
Starcraft 2
Diablo III
Heroes of the Storm
Dota 2
League of Legends

Copyright © 2011-2015 Chaos Realm. A project initiated by Bogdan Radu.