well, actually the language is LUA based which is way closer to pascal and c than basic, furthermore, i wouldn't call a language that allows me to script a 3rd person camera in 7 lines "inefficient", but you are right when it comes to things like comparison, you have to temporarily store things in variables (objects/handlers, booleans, numbers...). but you do not necessarily have to create the variables in the GUI editor, "local" is the keyword just like c-script's "var". so "local myvar=5" might be a time saver, however, you wouldn't be able to call that var outside this very script (GUI-made vars can be called by this.myvar() inside the whole AI model). maybe that helps you a little.