there's also the 'firsttime~otherwise' Function~Script:
http://docs.textadventures.co.uk/quest/ ... ttime.html ~~~ but for additional conditional branchings, you're going to need 'if' Scripts and Attributes.
------
as to keeping your design, to further what Lightwriter mentioned:
in quest, there's this terminology:
VARIABLES
-> Variables
-> Attributes
-> Parameters
Variables are local, which means that they're limited to the script block that you've created (and are using them) within. This means that once the script block is done, those Variables that you created are destroyed, which is why you're getting the error that your 'triedtowakeleslie' Variable doesn't exist.
examples of commonly used Variable names~labels (notice that there's no: Object_name.Variable_name syntax):
// triedtowakeleslie: this is an exception, yours is not common, lol.
handled
result (built-in Variable used automatically by quest for the 'get input' and 'show menu' Scripts~Functions)
value
etc etc etc
WHEREAS, Attributes are global, you can use them anywhere, so long as the Object that they're contained within (or attached to) exists, of course (notice that Attributes are 'attached', the use of the dot~period, to the Object that contains them, in code, that is):
game.triedtowakeleslie = true
game.triedtowakeleslie = false
player.strength = 50
monster.strength = 25
HK.strength = 100
HK.favorite_color = "black"
orc.dead = false
orc.dead = true
player.right_hand = sword
HK.favorite_colors = split ("black;red", ";")
etc etc etc
if (student.score > 90) {
student.grade = "A"
} else if (student.score > 80) {
student.grade = "B"
} else if (student.score > 70) {
student.grade = "C"
} else if (student.score > 60) {
student.grade = "D"
} else {
student.grade = "F"
}
if (game.state = 0) {
orc.life = 10
} else if (game.state = 100) {
orc.life = 10000000000000000
}
etc etc etc etc
------
Parameters deal with Commands and Functions, if you know coding basics, these shouldn't need explanation. If you don't know coding basics, Parameters, Functions, and Commands, take some time to understand, not easy stuff to get when this stuff is new to someone.
--------------
in general, using Attributes makes everything easy, but if you know some coding~programming, then you can save resources by using Variables, as you already understand how they work, and can build Functions~Commands that use local variables when they can, as opposed to creating new Attributes.