• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] What did I do? No trigger firing.

Status
Not open for further replies.
Level 3
Joined
Jul 7, 2007
Messages
22
Been map editing for about 11 years and never had this happen... My map is entirely triggered in GUI except for some JASS on gui snippets. Just chugging along doing some bugfixes and now no trigger works. Nothing. Not even map initialization. Start the map and literally everything is disabled.

I can't figure it out. I backtracked and even reverting my changes did nothing. Is the savefile for this map fucked? I've tried debugging by setting basic triggers such as Elapsed Game Time: 0 and send a message to player etc.

Anyone have experience with this?

EDIT: I will leave this thread up so others can see this. By setting a unit group array maximum array size to 8192 I somehow disabled triggers. Cheers.
 
Level 3
Joined
Jul 7, 2007
Messages
22
Fascinating! Thanks. This explains so many things I have been stumped by in the past. Kind of eye opening. Interesting that opcode even affects preinitialization stuff like variable creation and array settings.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
Interesting that opcode even affects preinitialization stuff like variable creation and array settings.
They do not affect variable creation. Variables are declared and possibly created during script parsing when the global block is parsed.

However they do affect variable initialization. This is because initialization is done by setting the variable within an initialization function called as part of map initialization. Since variable initialization is called before trigger initialization then hitting the op limit in variable initialization will prevent all triggers from working.

Arrays are automatically initialized upon first access to zeroed/null state. This means that initializing them is only required if a non-default value is needed.

Non-array variables must be initialized before access. Trying to access a non-initialized non-array variable will cause a thread crash. This applies to both local and global variables.
 
Status
Not open for further replies.
Top