I've been looking at struct tutorials for a while now, both here and on wc3, and I just dont get them yet. I've read the Jasshelper manual from top to base. More than once.
The problem that I have (and maybe more people) is that most of the "tutorials" are written by programmers, and seem to be for programmers, hence it's difficult to understand it.
I don't want to clutter up their tutorial threads, with seemingly inane questions, but I (and maybe more people) really do need these most basic of questions answered. One of them was answered for me in one of the other threads (do we need the inittrig function when we make libraries. Answer was no. And yet I see Cohadar using them - and he seems to be knowledgeable about such things. )
Here's some examples of what I mean. The Jasshelper Manual states:
What is a scope? The Manual launches straight into "scoping" without giving a definition. Google define gives this: "In computer programming in general, a scope is an enclosing context. Scopes have contents which are associated with them. Various programming languages have various types of scopes. The type of scope determines what kind of entities it can contain and how it affects them. ..." Even that can be confusing. "Refers to the region within a program where a variable's value can be accessed." So does this mean things inside the scope can only be used inside the scope? Or can anything inside the library access the scope? Or is it more than that?
There are about 29 Struct/vJass threads on this forum. The others are just specific questions about specific maps/problems. There are 3 tutorials specifically on TheHelper. There are a few more on Wc3C but not many more and are mostly repeats.
The threads that do ask about structs/vJass problems (mostly at Gals starting point) very quickly disintegrate into an "elite" duel about this or that is better and why isn't he using this system or that inside the scopes/libraries.
Please. Can someone write a vJass tutorial that explains it from the ground up. If you want GUIers to start switching to Jass or vJass you need to give us some more help than talking in programming language. I know this is a programming language here, but surely you can talk about it in a simple way so that someone who knows nothing about it can start using it? Although Doomhammer does a little programming language, his post is like gold. Clearly explained and in depth.
The problem that I have (and maybe more people) is that most of the "tutorials" are written by programmers, and seem to be for programmers, hence it's difficult to understand it.
I don't want to clutter up their tutorial threads, with seemingly inane questions, but I (and maybe more people) really do need these most basic of questions answered. One of them was answered for me in one of the other threads (do we need the inittrig function when we make libraries. Answer was no. And yet I see Cohadar using them - and he seems to be knowledgeable about such things. )
Here's some examples of what I mean. The Jasshelper Manual states:
What does function packs mean? By using some brain power you can figure out that it means all the functions inside the library. But it isn't clear to a nonprogrammer.The library preprocessor allows you to keep your top functions in the top and being able to control where each one goes. It also has an smart requirement support so it will sort the function packs for you.
Scopes can be nested, don't confuse this statement with `libraries can be nested´, in fact, you cannot even place a library inside an scope definition. You can however, have scope inside either library or scope definitions.
What is a scope? The Manual launches straight into "scoping" without giving a definition. Google define gives this: "In computer programming in general, a scope is an enclosing context. Scopes have contents which are associated with them. Various programming languages have various types of scopes. The type of scope determines what kind of entities it can contain and how it affects them. ..." Even that can be confusing. "Refers to the region within a program where a variable's value can be accessed." So does this mean things inside the scope can only be used inside the scope? Or can anything inside the library access the scope? Or is it more than that?
@Uareanoob: Structs are not globals, they are globals + methods + create + onDestroy + ...
@chovynz: There are a lot of tutorials on the subject of structs no need to explain that in here.
...
Structs are NOT globals, they are parallel global arrays (synchronized with .this) + an internal array indexing capability.
STRUCTS ARE INTEGERS.
There are about 29 Struct/vJass threads on this forum. The others are just specific questions about specific maps/problems. There are 3 tutorials specifically on TheHelper. There are a few more on Wc3C but not many more and are mostly repeats.
The threads that do ask about structs/vJass problems (mostly at Gals starting point) very quickly disintegrate into an "elite" duel about this or that is better and why isn't he using this system or that inside the scopes/libraries.
Please. Can someone write a vJass tutorial that explains it from the ground up. If you want GUIers to start switching to Jass or vJass you need to give us some more help than talking in programming language. I know this is a programming language here, but surely you can talk about it in a simple way so that someone who knows nothing about it can start using it? Although Doomhammer does a little programming language, his post is like gold. Clearly explained and in depth.