The way it should work is that all triggers are processed in a Continue() "chain" before any actions. So you can SetGlobal("A","GLOBAL",1) Continue(), but be aware that for any triggers checked while the script is Continue()ing, the global won't be set yet.IF
Global("MyVar","GLOBAL",0)
THEN
RESPONSE #100
DisplayStringHead(Myself,1)
SetGlobal("MyVar","GLOBAL",1)
Continue()
END
IF
Global("MyVar","GLOBAL",1)
THEN
RESPONSE #100
DisplayStringHead(Myself,2)
SetGlobal("MyVar","GLOBAL",2)
END
IF
!Global("MyVar","GLOBAL",2)
THEN
RESPONSE #100
DisplayStringHead(Myself,3)
SetGlobal("MyVar","GLOBAL",2)
END
With that code, the expected behavior is that you see String 1 followed by String 3. You shouldn't ever see String 2 (when that trigger is first checked -- because of the Continue() -- MyVar is still 0).