Welcome to the community where modding your favorite game can be possible, and supported by a nice and warm community. Here you will find resources which will help you to develop your projects faster. Additionally you can show your projects and share with a growing community, even be part of the Blizzard Modding Network, which aims to gather all the projects and clans around this game.
I wish to send you a huge wishes and expecting that your projects in the upcoming 2017 will be successful. I hope the best to happen in your life for all of you.
This year in Warcraft III has been a little bit odd, more or less good for us. Appearing a new patch (2 times) in this year is proving that Blizzard Entertainment is thinking in the WC3 community and it has been a great push to continue or advance in new map projects. The big change in the possibility to play larger maps in file size (~128MB) opens possibilities to new ideas.
But the latest patch (1.27b) put us into a new challenge in terms of advanced modding using JNGP, because now the update comes with new features in the editor, something not seen since a long time. I'm working in overcoming this, with the risk of changing the way JNGP always has worked on. It's probably we have to lose some features (USMWE) temporally in order to adapt it into the new conditions offered in the game.
I'll do a last update of JNGP in order to make it functional with the latest patch, but a harder work is being done in order to adapt the current techniques into a more efficient and flexible tool than JNGP itself. Please just stay tuned.
This snippet is a replacement to the BJ function GetRandomSubGroup with the advantage of being able to directly enumerate random number of units in a group instead of creating another subgroup of an already existing group. Notice that this is not the same as GroupEnumUnitsInRangeCounted in which case the enumerated units are not random but is based on which units are picked first.
Useful system especially in making an MUI spell which uses timers. Instead of saving the spell data in a hashtable with the handleid of the timer as the parent key, you can just use normal arrays with the timerid as the index. This also allows you to pass custom data (integer) to timers.
Indexed timers (Array safe, 1-8190 but can also be customized to be 8190+) NEW
Timer custom data (integer) attachment [NEW]
Timer double free protection
Automatic timer replacement (Useful safety feature which automatically replaces timers belonging to this system with a timer of the same timerid and handleid when destroyed)
debugcall Debug("Total number of timers created: " + I2S(i))
debugcall Debug("Timer stock count is complete")
privatestruct S extendsarray
v1.2 - Added more functionalities such as attaching custom timer data, now the system comprises all but is not limited to the main functionalities of Vexorian's TimerUtils - Optimized the code especially in the part in updating the timer stack - Fixed some bugs
v1.1 - Added the possibility for users to configure the timer stock size above 8190 - Some fixes