Questions and suggestions (a lot of them)

Joubarbe
08 Aug 2010, 09:38
Hi,

First, thank you for this software, I bought Quest Pro two days ago and I spend all my days on it :)

I have some questions :

A/ After reading the tutorial, functions and action scripts don't seem to be very useful to me. If someone has some examples to show the real utility of these commands, I'll take it !
B/ How could I implement random events ?
C/ Is there a way to see all existing variables ?
D/ Can we set up hyperlinks, to give a player the choice to click directly into the description of a room instead of typing commands ?
E/ What is you best choice to make a dialog tree ?
F/ Is there a way to put a menu directly into the game window ?
G/ I'd like to highlight (with a color) some special words in ALL the game as they are typed in a "print" message. Is there a way to do that ?
H/ Is there a variable that stocks the real time ? It'd be to make a game changes everytime the player load a savegame.
I/ Can we add more colors at text formatting ? (Love orange, purple and grey :) )

And some suggestions, please consider them :)

1/ Add a copy/paste option for menus and for menus items. And a way to edit menus items titles (frustrating when we work on a lot of menus), and maybe a color options :)
2/ I've translated (in french) the english.ldf file (I'll send it to you Alex if you are interested) but as far as I know, some elements can't be translated :
- The default command prompt when the player click either "look at", "speak" or "take" with the right panel buttons.
- Default gender, article and object in the QDK.
- The "please choose" title in a menu window.
3/ I was very happy to found an object-oriented-like command that let me do variables like that : Reputation.Bob ; Reputation.Marla ; Reputation.Stan etc. To do this, I created a "Reputation" object and edit it with some properties. Sadly, the "Value" of a property is a string and AFAIK, there is no way to make some kind of array, assuming we'd like the reputation to be a numeric variable. Is there a way to make a property increment-able ?
4/ A little GOTO / Label command could be great to make easy non-repeatable procedures. (it'd be cleaner that doing all into conditions, and no need to use a variable or a flag)

Ok, if you answer all of that, I'm sure to make great games ! :)
Thank you.

Alex
10 Aug 2010, 17:01
To answer your questions...

A. Functions are useful if you want to re-use the same script in multiple places, or maybe just split your scripts up so they are smaller, more self-contained and therefore easier to edit. Actions are useful if you want different script for different objects. For example, when the player eats an apple, a different thing happens to when the player eats poison. You can create "eat" actions for the apple and the poison, and call these actions from an "eat" command.

B. I presume you mean events that happen at random intervals? You can create a timer, and in the timer script use the $rand$ function in an "if" to determine if anything happens.

C. Do you mean in the Quest runner or in QDK? You can see all variables in the Quest runner from the Debug menu. In QDK, a list of all variables appears as a drop-down wherever you type in a variable name.

D. Quest 4 does not support hyperlinks, but Quest 5 does - this is currently a work in progress (and won't be complete for at least a year).

E. You can create menus, and then have the menu items open further menus.

F. Click "Game" on the tree in QDK, then choose the "Display" tab. The "Window menu" section at the bottom lets you add a menu to the Quest window.

G. Not automatically - you'd have to set up the formatting manually.

H. There's no way of accessing the system time in Quest 4, but it's a planned feature for Quest 5 (in fact even in the current Technical Preview version, you could do some Javascript magic to get the system time, not that I've tried)

I. The formatting options are limited in Quest 4, but you can always use script commands to give you a full range of colours - in the "Print" category, the "Change the background/foreground colour" commands let you use RRGGBB values.

Alex
10 Aug 2010, 17:07
And to respond to your suggestions...

1. In the editor for Quest 5, cut/copy/paste will work on all elements.

2. Thanks for the LDF file, I've now added it to the translations page: http://www.axeuk.com/quest/developer/translations.htm - I'll take a look into the limitations you mention and see if any of them need fixing for v4.1.3.

3. You can't use arrays in properties in Quest 4, but this may be possible in Quest 5 (if it will support arrays at all... I'm not sure yet, as I think the list functionality I've already added should be sufficient, and you can already use lists as properties in Quest 5). You can't use the "increment" command on properties, but you can use the "Modify/Property" command to do this. You can use curly brackets { } to embed an expression, so you can do this:

Modify/Property:
- Object or Room name: myobject
- Property data: somevalue = { #myobject:somevalue# + 1 }

4. Goto? No thanks! :) What are you trying to do? There's probably a much neater way.

Joubarbe
10 Aug 2010, 17:23
Ok so all I need will be in Quest 5, grrr :) I hope you'll release updates for Quest 4 before a year (to have more colors, for example ^^).

3/ So in your example, if I set myobject:somevalue to 25, it will show 26 ? A string becomes a numeric just like that ?

F. My question was about Quest menus, the same as I should create if I want to make a dialog tree. (the one you're talking in E)

Joubarbe
11 Aug 2010, 06:48
And...

E. The problem is that we are very limited in a menu item. A sentence can only be very short, otherwise it's oversized. And "|n" doesn't work. Is there a way to make it work ?

Joubarbe
12 Aug 2010, 08:19
Alex is a busy man :)

Alex
12 Aug 2010, 15:52
3. Yes, Quest will parse the string so you can safely use strings within an expression. After all an expression in Quest 4 is a string.

F. Ah, well in that case you probably want to create your own menu system that prints out the choices and waits for the user to input a number. This is fairly straightforward using the script command "Other\Enter next command into string variable".

E. Unfortunately the menu window is a fixed size in Quest 4. But if you use the suggestion above to manually print a menu to the game window, then this won't be a problem any more...

Joubarbe
13 Aug 2010, 15:26
Could you fix the problem of the text format ? I mean, when I select a text to make it bold, it won't stay bold if I click again on the "print message" command.

EDIT : a menu with long item's names could be great... Just a |n to make a new line ?