You can also use KS Ex. There you can have any number of variables, but you'll work with them differently.
Also, something I noticed: if I have a flag warp set to flag 11, the warp will always happen, as if flag 11 was always on. Is that supposed to be like that?
You mean with Lua, right?
function x1000y1000() function events.ShiftA() vars.SomeFlag = true -- replace 'true' with 'false' or 'nil' to reset the flag endend
function events.global.Warp() if Game.MapX == 1001 and Game.MapY == 1000 and vars.SomeFlag then Game.MapX = 1002 endend
function x1001y1000() if vars.SomeFlag then Game.MapX = 1002 endend