|
Axe Software Forums
Quest Developer Forum new suggestions/q's for QDK 3.1 BETA
|
Author | Topic: new suggestions/q's for QDK 3.1 BETA |
carlii |
posted 17-05-2002 12:20 BST
----qdk bugs/suggestions--- ----refers to "Quest Development Kit" version 3.1 Beta (build 3.1.57, ASL version: 310)---- ----written by Carlii Cortez, 17th May 2002---- ~SUGGESTIONS~ S1. When editing an object, in the 'TAKE' tab I suggest you make the 'Edit...' buttons in the 'gain' and 'lose' part grey (unable to be clicked) unless 'Takeable' is ticked. After all, if you add 'gain' and 'lose' actions without 'Takeable' being ticked, it gets removed once you exit the object properties window anyway. However, this raises another, more imporant suggestion/question for me - can you not gain an object without picking it up / taking it? What if the object is given to you at the start of the game - surely that means you are 'gaining' that object, so the 'gaining' script should perform? I've now found out that in QDK you cannot create 'gaining script' unless that object is "Takeable". I suggest we change it so 'gain' and 'lose' -ing scripting can be created without the 'takeable' box clicked. I realise this isn't really an issue though - most of the time making an object takeable isn't a problem if you will be introducing it later in the game from an unknown source or if it is in your made-up 'inventory' room. But what if an object is unable to be taken and will only be given to the player when you want it to happen? Still, that's a fine anyway, because you can still give-away untakeable objects...but what if you wanted something else to happen when the player has 'gained' that object - it cannot happen because the object must first be takeable! In this instance this tiny thing becomes annoying, because you still want the player to see/interact with that object in the game before he/she gets it. If you don't get me at the moment, let me give you an example. Let's say in a room in Quest there is an object called "magic potion". When the player first discovers the magic potion, you don't want he/she to pick it up, at least not yet...so you make it untakeable, simple enough isn't it? Your excuse to the player is maybe that "there is a magical force prohibiting you from picking it up" or something along those lines (ha-ha). You want the player to always have +10 'magic points' whenever the player this potion. You want to giveaway the magic potion when, uh, let's say when the player slays a dragon shall we? So in your script after the player has killed the dragon you specify - give the object "magic potion" to player...that's fine of course, but you want those extra 10 'magic points' to be given to the player whenever he/she has the potion in his/her hands! The best way to do this, you MUST agree, is to make those 10 extra points available (added on to the player's original points) whenever the player has the object (in other words whenever the object is 'gained') but you cannot make this happen because an object must be 'takeable' (as I've learned) to have 'gain'-ing script! And you don't want the magic potion to be takeable because then the player in the first place can just go ahead and pick it up at the start! Now do you understand this rare yet undenieably tad-bit annoying dilema? (Yes, of course there are ways around this but I want you to consider this suggestion because, after all, we are all trying to make QDK & QUEST better for the user.) In short, make 'gain' and 'lose' -ing script able to be created without the object being 'takeable' at the same time. If you do not think this suggestion should be introduced into QDK, at least make the 'gain' and 'lose' script buttons (in Object Properties > "Take" Tab) unclickable (grey) when 'takeable' is not clicked. This will prevent the user being confused when his/her gain or lose -ing script disappears when 'takeable' has not been clicked. S2. In Status Variables, can you make the value ('!') be expressed twice? If not, I think you should make the value be viewed more than once. For example, the display for a status variable could be: " you are currently holding 7000 grams of weight (maximum = #max#, #max#-! grams of free space) " (the '-' means minus) (see Q1. - I'm not sure how to peform calculations in the display of a status variable) ~QUESTIONS~ Q1. How do you perform calculations in the display of a status variable. Is that possible? See S2. for more info. |
Alex |
posted 17-05-2002 18:26 BST
S1 sounds like a bug to me. I'll look into it. S2 and Q1: if you want to put in a value twice, use the normal string or numeric variable notation. A display string for a numeric status variable "gold" could possibly say "You have #gold# pieces of gold, yes #gold# bits of gold you have". If you want to do a calculation within your display string, use a function, e.g. "Picked up #gold# gold pieces, $remaininggold$ gold pieces remain in the game". Then your "remaininggold" function could return the value #goldmax# - #gold# or whatever, if you wanted. |
carlii |
posted 18-05-2002 12:32 BST
Ummm how exactly do I edit functions in QDK? How do I just make it perform a calculation? and what is the difference between a function and a procedure? (i've always just used procs, not functs.) |
carlii |
posted 18-05-2002 14:18 BST
OK, scrap that question. I know how to do it now (in QDK guys!!!) but when I display it says : 12000 - 0 empty space, not just '0'. In the display for the status variable it says : currently holding ! grams of weight (maximum = #max#, $rweight$ empty space) It displays, however: currently holding 7000 grams of weight (maximum = 12000, 12000 - 0 empty space) |
carlii |
posted 18-05-2002 14:21 BST
OK, now I'm even more confused. When you edit a function in QDK I chose > Function returns "#max#-#weight#". Is that right? But the takeaway sign does not work!!! What is the takeaway sign in QDK? '-' ? Cuz that doesn't work. Or am I using the wrong operation sign or something? Or wrong action? |
Alex |
posted 18-05-2002 16:11 BST
Unfortunately you can't just return "#max#-#weight#" nice and neatly in one line - you have to put that in a numeric variable first, as it's only the ASL "set" command that knows the first thing about maths. So, in your function, set a numeric variable named "result" or whatever to "#max#-#weight#", and then return "%result%". |
Computer Whizz |
posted 18-05-2002 20:26 BST
Right, go here: and you should be able to look at the function code... It also uses a random number in var3 which is in startscript - that should help you with other questions. Alex: Computer Whizz |
Computer Whizz |
posted 18-05-2002 20:27 BST
I forgot to say: type "Test 1, 2" at the prompt (or any number where I've put 1 and 2 - it MUST have the ,!!!) to have it work properly. Computer Whizz |