This is an example of when programming can be enjoyable. You've got a problem you need to solve which, in this case, is that manually browsing for data you need to place into your scripts is time consuming. With code construction, much of this manual browsing for data is effectively removed.
Take the following screenshot:
Here, if we CTRL+P inside our editor, we bring up the following window:
In this window, we have five buttons at the bottom, marked Conditional, Execute, Advanced, Submit and Cancel. Cancel, of course, cancels the operation and submit translates everything we have in our simple view into code that is entered into the editor we previously pressed CTRL+P in.
We also have Conditional and Execute. We have a lot of options available, but only two are currently implemented. Let's have a look:
These are the options available for conditional functions, that is, functions that return a Boolean value. Clicking on the one highlighted gives us the following:
This allows us to select our parameters as if it were a normal function, except we don't have to go off and find our ID values ourselves, removing a lot of tedium.
Clicking OK on this populates our Simple view:
This is merely a list box, and we can double click on each item to edit the parameters of these functions if we need to.
We also have the advanced view, which is basically a script editor allowing us to declare variables, perform loops, and other more programming-esque features we wouldn't otherwise be able to do in the previous view.
Doing so initially translates our simple functions into actual code we can now modify. But what if I want to edit one of these function calls? It's simple.
All we have do is place our text cursor within the range of a function and hit F6.
Here, we can modify our parameters and update our function. Let's modify the attitude to Angry.
As you can see, it does not matter which view we are in, we can edit our function calls when we need to, as long as it is a function our editor can find and modify.
There's probably more screenshots here than in any other article, but the demonstrations were needed. Especially that last one. I was amazed I got that working without too much effort.
There are a lot of functions to implement between now and the next feature on the list, but in the next article we will be discussing the implementation of the conversation system. That, I'm sure, will be a long article, so be prepared.