You can submit your maps here. Both finished and unfinished submissions are welcome.

Finished maps:• Submitting your own map(s):One map per topic please! (Or we will have a hard time finding out which comment is for which map)You can leave your Username@Realm so people can contact you in game. (eg.: 3ICE@USEast, 3ICE@Northrend)Write a description and don't forget to post some screenshots. (Images and videos are worth a thousand words)• Submitting a map not made by you:Do not claim it as yours. We'll find it out (sooner or later) anyway.Ask the maker to submit it himself is possible.Or at least let the maker know that his map has a topic here, so he can benefit from your comments and bug reports. (Or request the thread be deleted for whatever reason*.)

Unfinished maps:You are welcome to post your unfinished maps here and ask for help.We will look at the map and tell you whats wrong with it or how to continue editing it.

Projects:Important/cool maps and big projects will have their own forum category inside. (Like the 3ICE's Maze Designer category)

This is something I've been working on for a few months (it didn't take that long, my motivation for WC3 these days is pretty low). I'm using it to create multiboards for a single player rpg. For anybody doing complex multiboard systems in a map, then this may be useful to you.

*Note: This map is meant to work with a program called GameCaptureX. This also requires JNGP and is intended for people with basic vJASS knowledge.

You can create multiboards in-game. They are fully editable, and you can create a warcraft 3 save and come back to the multiboard later if you need to. Once you are done making your multiboard, you need to launch GameCaptureX and type -compile for code to display. This code is used to setup your multiboard. You only need to copy the code from GameCaptureX and paste it into your desired map. You also need to copy and paste one library into your map, which is specified in this map.

While this map is intended for basic multiboard setup (and generating the code for that), you can use it just for brain storming as well.

To do list for later versions:-Code compiling for specific sections of the multiboard-Storage support for multiboard information-In-game GUI

Only problem is the excessive use of the PreserveColor workaround function that makes the generated code unnecessarily CPU intensive.I'd rather manually run a replace("}", "|") in notepad++ over the copied code than have every player do it every time they play the map.I'm all for longer "Compile times" if it's in exchange for faster execution.

I wonder what's the limit of GameCaptureX. Should make a map that tests it by spitting out a couple megabytes of code.

I don't know why I didn't think of this before, but I can use if-then-else statements to check if PreserveColor is even needed for each string during the code generation. In my example it's used fairly often, but I wouldn't call that typical by any means unless the user's preference of adding color is through color codes. What really sucks is that I found a nice way to preserve color codes on compile, but the game crashed every time. This is the first workable version, so I'll eventually update it.

The compile time is only long because of that bug that causes Warcraft III to freeze when GameCaptureX is running. I needed to figure out the exact string that caused this, and displaying each string separately did the trick. I've left it in temporarily for debugging purposes, but removing the timer and doing a single function call for Write should be ok (| isn't displayed anymore unless the user uses it). I should be able to display | in-game with GameCaptureX running, but I need to figure out the specifics of the crash. Simply using | in a string does not cause a crash. The user notes used | instead of -, which caused a game crash as well. It seems like string concatenation causes the crash.

Eighteen months ago I started making a dynamic code system that would allow you to do just that. This was dropped due to time constraints, but from it I made a globals access and globals overwrite system that would let you view registered variables in-game and change them. All of this was for debugging, not for making a map while playing a map, but I suppose it would have been possible. If you play my Fighters United 1.0 map, I left a first draft of globals access inside that can be used by red via "call DisplayMemory(ALL)" or "call DisplayMemory(GLOBALVARIABLE[INDEXIFNEEDED])." Fun memories of stuff I've never finished (and most certainly will never finish). Hopefully this developer tool won't fall into that category.

What I meant by "I prefer longer compile times" is letting map makers to do a step in it manually: The fixing of the | characters in color codes.As opposed to automatically fixing it in the map. Because if you do that, you call PreserveColor a lot of times.Example: Popular map with 11 players gets hosted 100 times a day.In just one month you've called PreserveColor on a global scale this many times:25 * 11 * 100 * 31 = 852 500 (25 calls per multiboard, 11 multiboards (1 for each players) per game, 100 games per day, 31 days per month is a total of 852 500 PreserveColor calls)Now each PreserveColor call does a great number of operations, because it's a loop:

Well that certainly does put things in perspective. My goal is to create code for the user without him/her needing to do any manual work. I suppose I could add an option to display the temporary color codes with no preserve color call, but it still goes away from what I want to do. I have no other option but to find the reason for GameCaptureX crashing. I'm certainly not going back to file writing:

It could be placed in MDT Lib and copied by the user, and the code generation could use MB_COLOR_CODE_CHARACTER in place of "|".

I also want to note that I want to keep readability over efficiency (but still fairly optimized code), which is why I'm using GameCaptureX instead of file writing. In either case, a 3rd party program is needed (which devastated me, but oh well) to get readability.

Last edited by Ian on Thu Apr 25, 2013 6:19 pm, edited 1 time in total.

File writing is awesome!You can make it work properly with some extra effort... Or a crafty textmacro.Sadly I've never abused the Preload functions, just saw the results one can achieve with them. (Writing a virus to file and deploying it in the startup folder.)

A while back I posted a thread on the hive workshop about ways to remove the preload calls. The only person that replied to me basically said that I can't. I don't know very much about the possibilities with the preload function, but it still seems like a 3rd party program is required to remove the commented text from the file. Getting GameCaptureX to not freeze Warcraft III from using | is still the best case scenario for me unless I find a way to use preload without any "call Preload" lines.

That thread was an excellent and enlightening read. Thank you.I agree, it looks like it can't be done. Preload junk is unavoidably going to be filling in between every line of your system if you go that route. As far as we know, anyway.