Designing a certain kind of game in Quest, without scripting

Orinks
Hi all,
So, I want to create either a regular text adventure or a Gamebook. I started on a gamebook, however if it is possible to do what I want to do in an adventure setting I'll do so.
If I were to create an adventure, can I trigger events, which would be referred to as scenes in my game, to trigger when I enter a room? What I want to be able to do is say if the player reaches a number in this stat, regardless of the means by which it was accomplished, going to Room A makes one event occurs, while going to Room B makes this other event occurs. I also want to make a dialogue system similar to those found in a visual novel, just without the pictures and will be inserting music throughout the game instead for specific scenes. So, rather than attempting to make various puzzles for the player to solve, the effort will be focused on the player getting a certain number in certain stats, talking to the right people at the right time, making the right choices in the story when presented About the dialogue, is there a way i could make a scroll type system so that each line of dialogue advances either by an auto function or by pressing enter for the scene to advance manually?
If not, I suppose I'll just write regular prose like the "he said or "he" insert verb here".
I want to be able to do the same thing with a gamebook, just without the VN elements. Is there a way I can make certain stats that will be added to or subtracted from depending on the choices that was made, AKA what page that choice links to?
Thanks. If quest can't do this kind of thing maybe I'll just make the usual gamebook, but then it'll be linior as heck...
P.S. Ugg, if I have to use Windows to create stats because the web editor doesn't have this functionality yet I suppose I will.

HegemonKhan
I don't use the online~web version so I don't know what functionality it has and doesn't have, nor have I used the Gamebook version, and don't know anything about it. I also don't work much with the GUI~Editor anymore (I work with it's coding~scripting mostly now), so I'm not of too much help for you, but I'll try to be of some help if I can...

quest can certainly do all of what you want, though you'll have to learn how to do the scripting and etc stuff in the GUI~Editor (unless you want to learn to work with the code, hehe), so that you can do the stuff that you want. Don't worry, the GUI~Editor should make it relatively easy for you, once you learn it decently.

all of below, is for using text adventure version, as I never used the gamebook version yet.

------

1. stat -> event -> goto room

you'll have to decide where~how the scripting for this is activated (globally: it's constantly checked, within specific rooms, or whatever)

for an example way of doing it globally:

click on the upper-left most 'object' in the left pane's~side's 'tree of stuff' so that it is highlighted, then at the top of the screen is a horizontal bar, click on the 'add' button on it, then choose 'turnscript' from its drop-down list of choices.

now we need to add the scripts (example only, with just a little code writing needed, hehe):

// outside of this turnscript scripting:
//
// you'll also need to create (add) a 'strength' attribute to your 'player' Object and create a way of increasing it. Ask me about this and I can help you with how to do it, if you need help with it.
//
// to add a 'strength' attribute to your 'player' object:
//
// 'player' (Object) -> Attributes (Tab) -> Attributes -> Add -> Attribute Name: strength -> Attribute Type: int (integer) -> Attribute Value: 0 (or whatever value you want your 'player' Object to start at.
//
// then, you'll need a means of increasing that 'strength' attribute, there's many ways to do this... you'll need to decide how you want it done...

add a script -> scripts -> if -> [EXPRESSION] -> player.strength >= 10
-> then, -> add a script -> output -> print a message -> [MESSAGE] -> type in whatever event message stuff you want to say
-> // you may want~need to add in some more scripts, if you want the game player's to make a decision, which will determine what room he~she is moved to below
-> add a script -> objects -> MoveObject -> (set it up, move your 'player' Object to either 'roomA' or 'roomB') // this will need to be changed if you want the game player to make a choice that effects what room they're moved to. Ask me and I'll hlp you do this, as it can be a bit confusing for a new person to understand how to do this

HK Edit: oops, I didn't read your post closely, as you wanted to choice what room to go to, which then gives you a different event depending on the room you chose to go to, as I mistaken thought it was the reverse, lol, my bad. Ask, and I can help with doing it correctly as you want it done, lol, if you can't figure out how do it yourself (just do the 'MoveObject' script, not the 'msg' scripts, instead you can click on that room object, and under one of its tabs, type in your event in the 'first on enter room' or the 'on enter room' text boxes).

2. dialogue can be very simple or very complex, and that means in how it's done~created~crafted~made too... You'll need to decide on how you want your dialogue to work and where, as that determines how to do~create~craft~make your dialogue within your game via using the GUI~Editor (or coding, hehe).

3. scrolling... can be done via using the 'timers' (add timer, set it's time interval, add the 'msg' scripts for your dialogue lines), but until the next quest version, timer usage is buggy, especially online.

see this thread: viewtopic.php?f=10&t=4339

or, if you want via a manual key press, then find the 'wait for key press' Script (add a script -> ??? -> wait for key press), as this requires you to hit enter before the below and indented (nested) script (such as your next 'msg' script dialogue lines) is activated.

4. stats (more about them)

A. for scripting: for stat usage, changing~latering, and~or creation:

add a script -> variables -> set a variable or attribute -> (see below)

left of equal sign: Object_name.Attribute_name
right of equal sign: your value or expression

Object_name.Attribute_name = Value_or_Expression

examples below:

player.strength = 50
HK.strength = 100
orc.strength = 25
orinks.strength = 75
player.damage = player.weapon_damage + player.weapon_damage * player.strength / 100

B. for scripting: for stat creation, usage, and~or changing~altering:

add a script -> ??? -> set attribute -> (set it up) // actually this might only exist as a coding line, it may not be available via using the GUI~Editor's scripts (add a script).

C. non-scripting creation of stats:

'player' (Object) -> Attributes (Tab) -> Attributes -> Add -> (see below, an example only)

(Object: player)
Attribute Name: strength
Attribute Type: int // (or double)
Attribute Value: 0

int -> integer -> ..., -100, -1, 0, 1, 100, ... (whole numbers, negative and posistve, no decimals)

double -> decimal numbers (I haven't worked with this type of attribute, so I'm not sure how it works)

D. basic computational stat scripting:

add a script -> variables -> set a variable or attribute -> (see below, examples only)

Addition:

player.strength = player.strength + 50

Subtraction:

player.strength = player.strength - 100

Multiplication:

player.strength = player.strength * 3

Division:

player.strength = player.strength / 2

---------

conceptually how it works (using addition as the example):

Old (initial): player.strength = 0

player.strength (new) = player.strength (old) + 50
player.strength (new) = player.strength (0) + 50
player.strength (new) = 0 + 50

New: player.strength = 50

Old: player.strength = 50

player.strength (new) = player.strength (old) + 50
player.strength (new) = player.strength (50) + 50
player.strength (new) = 50 + 50

New: player.strength = 100

Old: player.strength = 100
etc etc etc

--------

a bit more complex usage too:

player.race_bonus_damage_modifier = 2
player.damage = 5

player.damage = player.damage * player.race_bonus_damage_modifier

New: player.damage = 10
New: player.damage = 20
New: player.damage = 40
New: player.damage = 80
etc etc etc

and even more advanced, anything you can do in~with math, you can do in quest too, using static attributes (Values) or dynamic attributes (Expressions).

jaynabonne
For stats in Gamebook mode, you can have pages of type "script + text". Then the script can set the variables you like. You can also have pages just of type "script" if you want to do something scripty and then move on from there to another page (e.g. if you have two choices, where you wish each choice to set a different stat, but you'd like it to end up on the same next page).

This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums