Welcome. Here is the place where making your favorite games can be possible, with the support of a cordial and warm community. Here you will find resources that will help you develop your projects in an effective and agile way. In addition, you can show your projects, share your ideas or simply contribute with resources to establish links with a growing community, forming in the process the network of fanatic users to do Modding and mapping of the games of the Blizzard franchise.
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
//The main tooltip of the added unit will always ignore color tags so the text will always appear to be white. Color tags should be parsed the same as all unit tooltips.
With each of call of this function, the minimap is modified in a bugged way :
The positions of units and the fog of war are modified to fit to the new camera bound but not the terrain, nor the destructables.
The minimap is compressed (vertically) according to the current camera's rotation. With a rotation of 90°, there is no compression. With a rotation of 227.40, the minimap is fully compressed. Between 227.5 and 312.6, the game crashes.
Moreover, the camera bounds will also be adjusted according to the rotation of the current camera. The camera bounds created will be a rectangle going trough the 4 points given and whose sides will be parallel to the camera.
nativeSetCameraBoundstakesreal x1, real y1, real x2, real y2, real x3, real y3, real x4, real y4 returnsnothing
Destroy all bound triggeraction objects.
Currently it only destroys all bound events, triggercondition and the trigger itself leaving all triggeraction objects to leak unless explicitly destroyed before.
Also destroy all currently scheduled trigger threads from that trigger.
Currently destroying a trigger with scheduled trigger threads can cause handle stack corruption which has a high chance to cause Warcraft III to crash.
//This BJ function is currently not net safe. Details explained: https://www.hiveworkshop.com/threads/fixing-smartcamerapanbj-desync.243334/
constantnativeGetEventDamagetakesnothingreturnsreal//Return the amount of life damage taken through an imperfect mana shield. Currently returns 0 or negative only even if the unit takes life damage through the shield.
News!! #2 I know... I know, I've promised a monthly news, but real life has been rude with me
Ok, right now the main reason of this news is to show up to the jassers community the new Theme of WC3jass.com. Probably the main question is: what's wrong with the other theme?? The issue was it implied a lot of load in the server because it made some excessive calls to the server, and it's very likely people noticed it took 3-5 seconds to load... plain text.
This theme is based in the native one, which is faster. Now you should notice more speed in the load time but keeping the feeling as similar as possible like the previous theme.
If you find any bug with the theme, please report it here.