| 03-30-2006, 06:20 PM | #1 |
I am posting this as I didn't manage to find any information on this on the forum. Basically, Jass (and maps using only GUI) will fail horribly if there are EDIT: too many large arrays defined. Try starting a new map. Define two Array variables of size 8192. This map have now reached a variable limit. Try adding the trigger: Trigger: The message will NOT be displayed. So, if you ever happen to have some huge arrays and wonder why on earth your triggers suddenly don't seem to work, I suggest reducing the size of the arrays and see if it helps. Alternatively, set the array size to 1 and initialize them yourself using on trigger/ExecuteFunc/whatever per array. |
| 03-30-2006, 06:28 PM | #2 |
I don't think there is a limit like that, especially not since strings gets recycled, so it would just use the same, empty string all those times. It is rather caused by the initialization thread crashing, because of too many actions in there (== setting variables over 16000 times). |
| 03-30-2006, 06:37 PM | #3 |
@Blade.dk: Yes, that is obviously the reason. It was in fact the first thing I considered, but then I said to myself "I can not believe for half a second that blizzard would let it's own variable initialization routine time out like that." But I tested it out now, and having a couple of huge arrays of any type causes triggers to stop working, indicating that the entire map initialization dies horribly. |
| 03-30-2006, 11:45 PM | #4 |
With strings, you don't need to set the Array size to anything other than 1. The one and only benefit I know if with defining the actual size of a string array is that it allows you to query if a given string variable in the array is equal to <empty string>. Therefore, By setting the size to 1, you can USE all the variables up to 8191, and even though the strings will default to empty you can't automatically use <empty string> in an argument. You can of course create your own trigger after map initialization that sets the variable to this, if you really, really need to. The only array variables i've run into that absolutely will not work without first being properly defined into the variable editor are Timers. |
| 03-31-2006, 03:13 AM | #5 |
timer arrays work with any size if you use JASS ' CreateTimer to assign them |
