Exit
Exit's branches inside of Choice, Condition, and Block.
WARNING
Novely does this automatically, so there's no need to use exit action.
Example
Look at examples below to understand where Exit
is used.
Choice
ts
engine.script({
start: [
engine.action.choice(
"What flavor do you like?",
[
"Cherry",
[
engine.action.say(
"buddy",
"Then I will buy you a cherry ice cream!"
),
engine.action.exit(),
],
],
[
"Vanilla",
[
engine.action.say("buddy", "Vanilla ice cream! Got it!"),
engine.action.exit(),
],
]
),
engine.action.say("buddy", "Hello! Can I get uhh..."),
],
});
Condition
ts
engine.script({
start: [
engine.action.condition(
() => Math.random() >= 0.5 ? 'true' : 'false',
{
'true': [
engine.action.say('baby', 'AAAAAAAAAAAAAAAAAAA')
engine.action.exit(),
],
'false': [
engine.action.say('baby', '*Snores*'),
engine.action.exit()
]
}
),
engine.action.text('Continue here 😼')
],
});
Combined
ts
engine.script({
start: [
engine.action.condition(
(state) => state.age >= 18 ? 'true' : 'false',
{
'true': [
engine.action.say('cashier', 'Ok'),
engine.action.choice(
'Select Right PIN Code',
[
'1337',
[
engine.action.say('cashier', 'Incorrect.'),
engine.action.say('you', 'Oh, damn. Then goodbye'),
engine.action.exit(),
]
],
[
'1984',
[
engine.action.say('cashier', 'Have a nice day'),
engine.action.say('you', 'You too, bye'),
engine.action.exit()
]
]
),
engine.action.exit(), // Note that first `exit` is inside choice, and then inside `condition`
],
'false': [
engine.action.say('cashier', 'Leave that store immediately!'),
engine.action.exit()
]
}
)
],
});