I don't know GameBook that well, but I'll chime in anyways, as I always do, laughs.
I think the GameBook has most of the same scripting functionality as the TextAdventure, so I think you'll be able to do everything that you stated. So, you can use the much more numerous TextAdventure resources to learn how to do the stuff you want, except that functionality is just accessed differently in a GameBook compared to how its accessed in TextAdventure.
As Jay stated, the way (or only way) to access that scripting Functionality, through the GUI~Editor, is:
for individual Pages, via selecting the:
[SCRIPT] or [SCRIPT+TEXT], options for the 'Page Type' drop down box for your specific pages where you want/need sripting to be done.
These options allow you to use your Pages for doing (or adding) that scripting functionality into/for/with that Page.
'whatever' Page Object -> 'Page' Tab -> Page Type -> [SCRIPT] or [SCRIPT+Text] -> (see below)
add new script -> (choose your scripts and set them up)
and, there's also the:
'game' Game Object -> 'Script' Tab -> add new script -> (choose your scripts and set them up)
which, unlike in the TextAdventure, I believe, is to just run those added/created scripts first everytime you switch Pages.
(In the TextAdventure, the scripts added in this similar area in it: 'start' Script of the 'Scripts' Tab of the 'game' Game Object, will be the first things done/run at the start of playing the game, which for example, is often used for 'character creation' if making a RPG type of game)
To have scripts run as the first thing upon starting a GameBook game, you'll simply set up your starting Page with your desired scripts, via again just by choosing the [SCRIPT] or [SCRIPT+TEXT], and adding the desired scripts and setting them up)
----------
all of the above, is basically how the scripting is done in GameBook, so now it's just a matter of learning scripting (mainly the 'if' Script) and Attributes, unless you already know a bit about them and/or coding.
if you don't know how to do/use Scripting and Attributes, there's a lot of resources on them for the TextAdventure, and there's mostly no difference. The Attribute usage and scripting is mostly the exact same between GameBook and TextAdventures, with only the main difference in that the GameBook only has the 'game' Game Object, the 'player' Player Object, and the 'whatever' Page Objects, to apply/add those Attributes to for using in/for/with the Scripting, whereas the TextAdventure has many more types of Objects that can be used.
these are two super scripts that let you do 90% of everything that you want to do in your game:
1. Attribute Creation-Setting/Manipulating-Changing-Resetting/Usage:
'whatever' Page Object -> Page Type -> [Script] or [Script+Text] -> (see below)
add new script -> (section/category: variables) -> 'set a variable or attribute' Script -> (I don't know the GUI~Editor's options as I just code my games directly - I don't use the GUI~Editor much, so I chose the [EXPRESSION] option as this lets me code in what I want it to do, so I'll show below this way of doing it - otherwise you can just figure out what option to choose instead of [EXPRESSION] and set it up) -> [Expression] -> (see below)
set variable __________ = [Expression] ___________
Attribute Scripting Syntax has this general form (in code):
Object_name.Attribute_name = Value_or_Expression
Attribute Scripting Syntax has this general form (in GUI~Editor):
set variable Object_name.Attribute_name = Value_or_Expression
some examples (in code):
// Object Names: player
// Attribute Names: strength, weapon_damage, damage
player.strength = 100
player.weapon_damage = 10
player.damage = player.weapon_damage + player.weapon_damage * player.strength / 100
// player.damage = 10 + 10 * 100 / 100 = 20
some examples (using the GUI~Editor's form):
// Object Names: player
// Attribute Names: strength, weapon_damage, damage
set variable player.strength = [Expression] 100
set variable player.weapon_damage = [Expresison] 10
set variable player.damage = [Expression] player.weapon_damage + player.weapon_damage * player.strength / 100
// player.damage = 10 + 10 * 100 / 100 = 20
2. and then here's the 'if' Script:
'whatever' Page Object -> Page Type -> [Script] or [Script+Text] -> (see below)
add new script -> (section/cateogery: scripts) -> 'if' Script -> (I don't know the GUI~Editor's options as I just code my games directly - I don't use the GUI~Editor much, so I chose the [EXPRESSION] option as this lets me code in what I want it to do, so I'll show below this way of doing it - otherwise you can just figure out what option to choose instead of [EXPRESSION] and set it up) -> [Expression] -> (see below)
if [EXPRESSION] Object_name.Attribute_name OPERATOR Value_or_Expression
an example:
if [EXPRESSION] player.test_score >= 90
-> then, add new script -> (section/category: variables) -> 'set a variable or attribute' Script -> [EXPRESSION] -> player.test_grade = [EXPRESSION] "A"
add else if -> [EXPRESSION]-> if [EXPRESSION] player.test_score >= 80
> then, add new script -> (section/category: variables) -> 'set a variable or attribute' Script -> [EXPRESSION] -> player.test_grade = [EXPRESSION] "B"
add else if -> [EXPRESSION]-> if [EXPRESSION] player.test_score >= 70
> then, add new script -> (section/category: variables) -> 'set a variable or attribute' Script -> [EXPRESSION] -> player.test_grade = [EXPRESSION] "C"
add else if -> [EXPRESSION]-> if [EXPRESSION] player.test_score >= 60
> then, add new script -> (section/category: variables) -> 'set a variable or attribute' Script -> [EXPRESSION] -> player.test_grade = [EXPRESSION] "D"
add else -> add new script -> (section/category: variables) -> 'set a variable or attribute' Script -> [EXPRESSION] -> player.test_grade = [EXPRESSION] "F"
---------------
here's some resources for Scripting and Attribute learning:
http://docs.textadventures.co.uk/quest/http://docs.textadventures.co.uk/quest/tutorial/http://docs.textadventures.co.uk/quest/guides/http://docs.textadventures.co.uk/quest/ ... ation.html (this is a good guide on how to get and do stuff, from input from the person playing the game. Again, just access the scripting via setting your Pages' Page Type as [SCRIPT] or [SCRIPT + TEXT])
my guide at trying to explain Attributes and 'if' Script usage:
viewtopic.php?f=18&t=5559 (though it was done for the Text Adventure, so some of the explanation stuff doesn't apply and/or its structure is/would_be different for GameBook, than how it is for the Text Adaventure)