The script will still be compiled (and can be properly decompiled), but the game will ignore the trigger/action that uses the global.
The following script block uses a global which name is exactly 32 characters long. The creatures appear in the game normally.
CODE
IF
Global("BW05_TGC1","GLOBAL",7)
Global("BW05_CreatureSummonedinMagicTrap","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("BW05_CreatureSummonedinMagicTrap","GLOBAL",1)
CreateCreature("BW05MOLD",[510.349],0)
CreateCreature("BW05HERT",[412.456],3)
END
In this block the variable's name is longer than 32 characters. The creatures start to appear in the game in an infinite loop.
CODE
IF
Global("BW05_TGC1","GLOBAL",7)
Global("BW05_CreaturesSummonedinMagicTrap","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("BW05_CreaturesSummonedinMagicTrap","GLOBAL",1)
CreateCreature("BW05MOLD",[510.349],0)
CreateCreature("BW05HERT",[412.456],3)
END
This was with 33 characters, and my tests proved that the same happens with more characters as well.
Normally it's pointless to use so long variable names, but I think it is important to know that there is such limit.
As I've said, I'm not sure if this has been already known or not.
Additionally, I am wondering if the same variable length limit applies for BG2 / other IE games...