Hey! I am learning JASS and I already learned all the basics (loops, ITE's, function and etc.). It's quite nice, but it's not quite enough. Right now I have trouble finding tutorials about vJASS. I am very eager to learn structs as they seem quite good for MUI.
As an add on to what Azeroc said, just make it so none of normal heros can be summoned from Human, Undead, Night Elf, and Orc. This will ultimately stop people from crashing using these heros. Instead, we can put in custom heros, using the same models, but take away their abilities. It'll work the same way, just someone can't type spawn 01 illidan/evilillidan.
# Remove Metamorph from evil illidan (Mirror image + Metamorphed evil illidan = crash)
# Remove Call To Arms from peasant (Paladin loaded into peasant and then when peasant uses "Call to arms" Paladin will disappear and if you click on it you crash yourself and later whole game)
#There is also way how make crash or immense lag by overdoing height fielding aka making map holes using height command. I don't know how to fix it tho, luckily there is this "height on/off" command.
# Sometimes people spam mass throne doodads on one place, thrones are put on each other making very tall human throne tower and if it goes out of map = crash.
Only little about. I know everything about GUI and sometimes use some JASS scripts with GUI to make some stuff. I've been thinking to continue some tutorials of JASS and then vJASS but I don't see big point in that since Starcraft 2 will be soon released. When it will be released gonna learn GALAXY (SC2 scripting language).