Quest 5.2 Beta
Alex
14 Apr 2012, 19:48Quest 5.2 Beta is now available!
You can download Quest 5.2 Beta for Windows or use the web version.
More details on the blog
You can download Quest 5.2 Beta for Windows or use the web version.
More details on the blog

Pertex
15 Apr 2012, 12:34Great work again!
One question about two-verb-commands. Is it correct, that scenery objects are displayed in the menu?
One question about two-verb-commands. Is it correct, that scenery objects are displayed in the menu?
Alex
15 Apr 2012, 12:37
guzmere
16 Apr 2012, 12:46Hi Alex exceptional work yet again, and oh! what bliss to see that you put the room description, objects and exits in whatever order we want. It certainly beats the round about way I have done it on each separate location. The one thing that has always puzzled me from the start is that when I write the room description on the text button page everything works fine, but when I tick on the text button to use the script page none of the object list or the exit list shows at all? The only reason I ask that sometimes a room can have different descriptions if something happens when you leave and come back to it. Have I missed something in the tutorial that will compensate for this? Once again many thanks from a grateful adventurer.






Pertex
16 Apr 2012, 14:32This is the same I thought about the description script.
And I changed the new coredescription.aslx again for my work. The problem is, that function ShowRoomDescription starts with
So if there is a description script it is executed and the function ends. I moved this code down into the for:
What do you think about it, Alex?

if (HasScript(player.parent, "description")) {
do (player.parent, "description")
}
So if there is a description script it is executed and the function ends. I moved this code down into the for:
if (i = game.autodescription_description) {
if (HasScript(player.parent, "description")) {
if (LengthOf(desc) > 0) {
msg (desc)
desc=""
}
do (player.parent, "description")
} else {
desc = AddDescriptionLine(desc, GetRoomDescription())
}
}
What do you think about it, Alex?

Pertex
16 Apr 2012, 14:43And back to the two-verb-command problem. I found 3 places in ASLX files where the menu is filled. I would like to change this that in the menu first all inventory items are displayed and then all other notheldnotscenery items. Is this ok?

guzmere
16 Apr 2012, 15:58Hi Pertex I looked at your reply and I placed your coding after the for: example
<function name="ShowRoomDescription"><![CDATA[
if (HasScript(player.parent, "description")) {
do (player.parent, "description")
}
else {
if (game.autodescription) {
desc = ""
for (i, 1, 4) {
if (i = game.autodescription_description) {
if (HasScript(player.parent, "description")) {
if (LengthOf(desc) > 0) {
msg (desc)
desc = ""
}
do (player.parent, "description")
}
else {
desc = AddDescriptionLine(desc, GetRoomDescription())
}
}
if (i = game.autodescription_youarein) {
if (game.autodescription_youarein_useprefix) {
youarein = player.parent.descprefix
desc = AddDescriptionLine (desc, youarein + " " + GetDisplayName(player.parent) + ".")
}
else {
desc = AddDescriptionLine (desc, "<b>" + CapFirst(GetDisplayName(player.parent)) + "</b>")
}
}
if (i = game.autodescription_youcansee) {
objects = FormatObjectList(player.parent.objectslistprefix, GetNonTransparentParent(player.parent), Template("And"), ".", false)
desc = AddDescriptionLine(desc, objects)
}
if (i = game.autodescription_youcango) {
exits = FormatExitList(player.parent.exitslistprefix, ScopeExits(), Template("Or"), ".")
desc = AddDescriptionLine(desc, exits)
}
if (i = game.autodescription_description) {
desc = AddDescriptionLine(desc, GetRoomDescription())
}
}
if (LengthOf(desc) > 0) {
msg (desc)
}
}
else {
fulldesc = GetRoomDescription()
if (LengthOf(fulldesc) > 0) {
msg (fulldesc)
}
}
}
]]></function>
</asl>
Is this the correct way to tackle this problem
Thanks

<function name="ShowRoomDescription"><![CDATA[
if (HasScript(player.parent, "description")) {
do (player.parent, "description")
}
else {
if (game.autodescription) {
desc = ""
for (i, 1, 4) {
if (i = game.autodescription_description) {
if (HasScript(player.parent, "description")) {
if (LengthOf(desc) > 0) {
msg (desc)
desc = ""
}
do (player.parent, "description")
}
else {
desc = AddDescriptionLine(desc, GetRoomDescription())
}
}
if (i = game.autodescription_youarein) {
if (game.autodescription_youarein_useprefix) {
youarein = player.parent.descprefix
desc = AddDescriptionLine (desc, youarein + " " + GetDisplayName(player.parent) + ".")
}
else {
desc = AddDescriptionLine (desc, "<b>" + CapFirst(GetDisplayName(player.parent)) + "</b>")
}
}
if (i = game.autodescription_youcansee) {
objects = FormatObjectList(player.parent.objectslistprefix, GetNonTransparentParent(player.parent), Template("And"), ".", false)
desc = AddDescriptionLine(desc, objects)
}
if (i = game.autodescription_youcango) {
exits = FormatExitList(player.parent.exitslistprefix, ScopeExits(), Template("Or"), ".")
desc = AddDescriptionLine(desc, exits)
}
if (i = game.autodescription_description) {
desc = AddDescriptionLine(desc, GetRoomDescription())
}
}
if (LengthOf(desc) > 0) {
msg (desc)
}
}
else {
fulldesc = GetRoomDescription()
if (LengthOf(fulldesc) > 0) {
msg (fulldesc)
}
}
}
]]></function>
</asl>
Is this the correct way to tackle this problem
Thanks





Pertex
16 Apr 2012, 18:36Not exactly

<function name="ShowRoomDescription">
<![CDATA[
if (game.autodescription) {
desc = ""
for (i, 1, 4) {
if (i = game.autodescription_youarein) {
if (game.autodescription_youarein_useprefix) {
youarein = player.parent.descprefix
desc = AddDescriptionLine (desc, youarein + " " + GetDisplayName(player.parent) + ".")
}
else {
desc = AddDescriptionLine (desc, "<b>" + CapFirst(GetDisplayName(player.parent)) + "</b>")
}
}
if (i = game.autodescription_youcansee) {
objects = FormatObjectList(player.parent.objectslistprefix, GetNonTransparentParent(player.parent), Template("And"), ".", false)
desc = AddDescriptionLine(desc, objects)
}
if (i = game.autodescription_youcango) {
exits = FormatExitList(player.parent.exitslistprefix, ScopeExits(), Template("Or"), ".")
desc = AddDescriptionLine(desc, exits)
}
if (i = game.autodescription_description) {
if (HasScript(player.parent, "description")) {
if (LengthOf(desc) > 0) {
msg (desc)
desc=""
}
do (player.parent, "description")
} else {
desc = AddDescriptionLine(desc, GetRoomDescription())
}
}
}
if (LengthOf(desc) > 0) {
msg (desc)
}
}
else {
fulldesc = GetRoomDescription()
if (LengthOf(fulldesc) > 0) {
msg (fulldesc)
}
}
]]>
</function>

guzmere
16 Apr 2012, 19:20Hi i've tried your script and the printout upon running the game is [error running script: error compiling expression `FormatThingList(1)`:FunctionCallElement: Could find not function `FormatThingList(Int32)`]
Please help, thanks

Please help, thanks





Pertex
17 Apr 2012, 06:29Ahh, yes, this is another function I added. OK, I changed the code above so it shouldwork now

guzmere
17 Apr 2012, 07:04Absolutely fan blooming tastic. Thank you sooooooooooooo much. Now with Alex's 5.2 and your great coding I will be able to do the game as I wanted to. Great stuff. And thanks for your time.
extra smiley coming up 





AvecPardon
17 Apr 2012, 19:22Ooh, love how the Ask/Tell function works perfectly now, but only on games made within 5.2. I tried opening a game that was created using 5.1 in 5.2 to edit and take advantage of the reworked Ask/Tell feature, then saved and ran it in the test play. Seems like the Ask/Tell fix doesn't work for files created in 5.1.
Just wanted to let you guys know; great update though! I was thinking of rewriting this particular game from scratch anyway. 5.2 looks like it can handle it much better.
Just wanted to let you guys know; great update though! I was thinking of rewriting this particular game from scratch anyway. 5.2 looks like it can handle it much better.

guzmere
18 Apr 2012, 06:32Yes I totally agree it is certainly is better and like you I have tried to convert a game that I started in 5.1 but to no avail. Still I am doing the same and restarting with new ideas upon an old frame. Thanks Alex it's great.
PS have you managed to work out the make visible objects yet?




Alex
20 Apr 2012, 09:54There should be no problem with editing a v5.1 game in v5.2, it will pick up the changes and bug fixes (except if you've made any manual changes to core library functions).
AvecPardon
01 May 2012, 03:27@guzmere
Oh, I just found a way to get around that Ask/Tell problem for Quest 5.1 games! Just open it in 5.2 and where the game options are, generate a new game ID. It'll believe it was made in 5.2 and pick up on all the new fixes. I tried this after making sure I hadn't edited the Core library (turns out I didn't) and the transition was flawless. Now all my previous work is still safe. Brill!
Oh, I just found a way to get around that Ask/Tell problem for Quest 5.1 games! Just open it in 5.2 and where the game options are, generate a new game ID. It'll believe it was made in 5.2 and pick up on all the new fixes. I tried this after making sure I hadn't edited the Core library (turns out I didn't) and the transition was flawless. Now all my previous work is still safe. Brill!