JASS Submission Rules (Updated: November 18, 2012)
JASS Submissions Forum
Global site rules apply here. There are some exceptions, for example double-posting is allowed if you want to bring to attention that you have updated your resource. In this case it makes more sense than editing your last post like you would do in another forum.
All threads should contain the script's code in the original post itself, and not scattered across multiple posts.
Resources must function properly before they can be approved. Some resources have a rating which bears in mind efficiency, readability and usefulness.
All memory leaks should be cleaned. These include handle leaks, handle ID leaks and any hidden leaks the game's engine might surprise us with. Obviously it is not possible to destroy terrain deformations, trackables or events and many other things, but do your best to avoid creating too much chaos.
New threads represent new submissions. Do not make a post here unless it is a submission. 1 thread must contain 1 submission. No more, no less. 2 submissions can only be in the same thread if the purpose of one is to add an extra field to the other without making any radical changes to the core. (Add-ons)
Please do not include your signature in the submitted source. It is distracting and looks tacky.
Proper documentation must be included with all scripts. This includes, but is not limited to:
Library requirements. (This includes but is not limited to the name of the library, the author, and a link to the library's thread.)
A listing of the public API. (This includes functions, structs, modules, globals, struct members, function interfaces, and so on.)
Instructions on how to import the script into a map should it not be simply copy and paste.
A clear description on how and why the script should be used.
Scripts that are not properly documented will not be approved until such documentation is added.
Documentation is just as important as readability and efficiency.
Please do not submit an incomplete script. Incomplete submissions will be marked "Needs work". Please test your map for any foreseeable glitches or bad parameters.
Any submitted script must be written in either plain JASS, vJass, Zinc or LUA. cJass will not be accepted until it is working 100%.
Resources using the latest version of JassHelper by Cohadar may not compile while using Vexorian's version of JassHelper, but they will be approved because Cohadar's JassHelper fixes a lot of the issues that Vexorian's JassHelper had. It can be found here.
Important Note: We are temporarily working with Vexorian's JassHelper only because Cohadar's JassHelper contains a drastic bug. Cohadar has retired, and his application is in the public domain. It may never be updated.
If you wish to submit a resource that is not your own, credit must be given and you must have written permission from its author.
If your resource has not been reviewed or if you do not agree with the reasons a moderator has not approved your resource, feel free to PM another moderator addressing the issue.
A good resource is a resource that has a clear purpose and performs only that. The less things it does, the better. This may sound silly to you, but it's great to do so because modular design allows you to debug things far more quickly.
If your resource was moved to the Graveyard, check if the resource followed the above rules. If you would like to update it, feel free to resubmit it or PM a moderator about the situation if you feel that the graveyarding was in error.
There may come a time when you have the inspiration to create a timer system and you feel like it's going to be revolutionary. Please don't. There are many timer systems in existence and they cover everything already. Please consider investing your time and effort on bringing something innovative to the community.