this link has some GUI~Editor guides in it:
http://quest5.net/wiki/How_toand specifically from the above link:
http://quest5.net/wiki/Ask_a_questionhttp://quest5.net/wiki/Pattern_Matchinghttp://quest5.net/wiki/Hs-addingquestion1http://quest5.net/wiki/Hs-asktellhttp://quest5.net/wiki/Conversationshttp://quest5.net/wiki/Dynamic_Menus_for_Conversationshttp://quest5.net/wiki/A_Hint_Systemhttp://quest5.net/wiki/Hs-casehttp://quest5.net/wiki/Hs-multiple-------------------
You can ask Pertex (a mod of this site), as he's german, and can help communicate better with you, as I'm an American, only knowing english, sighs. You know english much better than I know german, as I only know 1-2-3 in german (I hope ~ from an anime), lol. Ein, zwei, and drei ???
--------------------------
you can try changing the "asl version="540" code line in my game file to "asl version=550" (or whatever your version is), and seeing if that will work, otherwise, you'll have to look at the changes~differences between your version and the older version (540) that I used, and change the coding to match with the new changes of coding in your version.
------------------------
"GUI~Editor" mode~state = Graphical User Interface ~ Editor = this has all the buttons and windows to click on and use = for non-coders' use:
http://quest5.net/wiki/File:Blankgame.png"In-Code" mode~state = working with the code of quest:
<asl version="540">
<include ref="English.aslx"/>
<include ref="Core.aslx"/>
<game name="Testing Game Stuff">
<gameid>d67ec73f-f879-4911-9d88-c02ea527c534</gameid>
<version>1.0</version>
<firstpublished>2013</firstpublished>
</game>
<object name="room">
<inherit name="editor_room" />
<object name="player">
<inherit name="editor_object" />
<inherit name="editor_player" />
</object>
</object>
</asl>
----------------------------
some of the wiki (
http://quest5.net/wiki/Main_Page ) and especially its tutorial (
http://quest5.net/wiki/Tutorial ) helps in using quest (its GUI~Editor mode~state), and some threads~posts on the forum help too, but much is done in~via code, as it's faster and easier to help and work using the coding instead of the GUI~Editor. The tutorial is the main teaching means of the GUI~Editor, if you need help with understanding it (as it's in english), again maybe Pertex can help you out learning quest and its GUI~Editor.
--------------------------
you know more coding than I do, as I literally been using only quest's coding to learn coding, I've never yet taken any computer science, programming, and nor programming language (JS, Java, C+, HTML, and etc) classes. I am interested in doing so, lol.
--------------------------
I'm not too familiar with "Ask A Question" function nor with "Set" function, I'll have to research these a bit, to help you with how these work, as I'm not used them at all myself.
--------------------------
asl version="540" (5.40) of quest:
left side panel~window: the "tree of things"
(default new game)
Objects
-> game
->-> Verbs
->-> Commands
-> room
->-> player
Functions
Timers
Walkthrough
Advanced
-> Included Libraries
->-> English.aslx
->-> Core.aslx
-> Templates
-> Dynamic Templates
-> Object Types
-> Javascript
the right side panel~window:
detailed options~settings~configurations of the highlighted thing of the "tree of things"
-------
asl version="540" (5.40) of quest (hopefully, it's the same as your version ~ "it should be... hopefully", lol):
here's the steps of how to do this in the GUI~Editor
1. create~add a Function (either via at the top the menu bar or the left side panel's~window's "tree of things")
2. Name (ID): opulus_yes_no_isregexmatch_function
3. Return Type: (leave as none)
4. Parameters: (leave blank; don't add any parameters)
5. Add the function's scripts:
(make sure your "nesting"~indenting is correct, make sure you click on the correct buttons, to get the nesting correct!)
(only my far left side arrows, " -> " shows the proper nesting~indenting~buttons to press)
(my other arrows break up the steps or path that you do for each script)
Add a~new script -> Output -> Get input ->
-> Add a~new script -> Scripts -> If... -> [EXPRESSION] -> IsRegexMatch ("yes", LCase (result)) ->
-> then, ->
->-> Add a~new script -> Output -> Print a message -> [MESSAGE] -> Well, here it is ->
-> Add Else If -> [EXPRESSION] -> IsRegexMatch ("no", LCase (result)) ->
->-> Add a~new script -> Output -> Print a message -> [MESSAGE] -> Next time. ->
-> Add Else -> Add a~new script -> Output -> Print a message -> [MESSAGE] -> Please answer with "yes" or "no" ->
-> Add a~new script -> Scripts -> Call function -> call function (small box): opulus_yes_no_isregexmatch_function -> with Parameters (add box): (leave blank; don't add any parameters)
6. and, for an example of using~applying the function:
"farmer" Object -> Verb (Tab) -> Add -> make~name your own or use a default~already existing command~verb ->
-> Type (the small box that appears after you named or selected your Verb): Run a script ->
Add a~new script -> Output -> Print a message -> [MESSAGE] -> Are you male or female? (please type in "yes" or "no") ->
-> Add a~new script -> Scripts -> Call function -> call function (small box): opulus_yes_no_isregexmatch_function -> with Parameters (add box): (leave blank; don't add any parameters)
----------------
P.S.
as you can see, explaining things via using the GUI~Editor is a lot of work... compared to just copy'ing and paste'ing in code, thus allowing others to copy and paste your posted code (or jsut parts of your posted code) for themselves; their games, lol.
code is much quicker and easier to write than trying to explain the steps required in the GUI~Editor, that's why most people just post stuff in code, why much of the site uses code, and not a step by step guide with using the GUI~Editor.
----------------
P.S.S.
instead of the "isregexmatch", you can just do this...
the "get input" automatically sets this for you:
result = user's typed-in input
then, you just use the "If" scripts:
if (result="no"), then do... "this script 1"
else if (result="yes"), then do... "this script 2"
else, then do... "this script 3"
if you used a function for this, then you can use the "call upon" script to loop (repeat ~ do-over) the function
you can also then permanently set it as well, by doing this (an example only):
add a~new script -> output -> get input ->
-> add a~new script -> variable -> set a variable or attribute ->
game.choice_1 = result
player.choice_1 = result
game.pov.choice_1 = result
any_other_object.choice_1 = result
if (game.choice_1 = "yes"), then...
else if (game.choice_1 = "not"), then...
------------
conceptually, it is algebraic substitution:
read~start from the right to the left
100 <- player.strength = 100 <- player.strength = result <- result = user's input (automatically done for you via your usage of the "Get input" script) <- user types in: 100
Addition, conceptually:
player.strength (old) = 0
player.strength (new) = player.strength (old) + Value (100)
player.strength (new) = 0 + 100
player.strength (new) = 100
Must be matching Attribute Types of: "int" (integer: - ... , -100, -1, 0, 1, 100, ...) or "double" (1.901, 1.5, -0.0008, etc):
actual code syntax:
Addition
player.strength = player.strength + 100
Subtraction:
player.strength = player.strength - 25
Multiplication:
player.strength = player.strength * 75
Division:
player.strength = player.strength / 50
----------------
these two ("SUPER") scripts, used together, are uber powerful:
1. Run as~a script -> Add a~new script -> Scripts -> If...
2. Run as~a script -> Add a~new script -> Variables -> Set a variable or attribute
they can pretty much do practically EVERYTHING~ANYTHING that you can think of wanting to do with coding, hehe

---
"local~temporary~non-saved" (only works for the script it is set within) <-> variable <-> Variable=Value_or_Expression
"global~permanent~saved" (can be used in any script anywhere as it is attached to an Object ~ so long as the Object exists, lol) <-> attribute <-> Object.Attribute=Value_or_Expression
"result" is a default variable used by the "Get input", "Show menu", and etc functions, but you can create your own easily too.