I'm looking for a 'prettier' way to have the interaction with objects displayed on screen.
Instead of the little list box that pops up on the corner of the selected word, I'd like the options to appear underneath on their own line.
Something like this (assuming chest has been clicked):
Room description, bla de bla de bla... There's a chest lying in the centre of the room. examine / open / take
Then the player clicks examine and we get:
Room description, bla de bla de bla... There's a chest lying in the centre of the room. examine / open / take It's a large treasure chest with a hinged lid.
Then they click open and we get:
Room description, bla de bla de bla... There's a chest lying in the centre of the room. examine / open / take It's locked.
Where it's locked has replaced It's a large treasure chest with a hinged lid.
Ideally, clicking chest would toggle the three options on and off.
I think you will need to do this yourself somehow. The code that pops up the menu is fairly deep in the Quest code, and not easily hook-able. (Not impossible mind you. You could override "jjmenu_popup"...)
What would probably be easier would be to implement your own sort of link. Instead of using an object link, it would have to be a link that does what you want. I'm not sure of the cleanest approach to that yet. Let me ponder it a bit. :)
I suppose one way would be to make the object link to another room/exit in which the three options are included, and then give each of those options its own room/exit too, but that's a very long-winded process and it would just result in the page scrolling as normal, rather that allow the player to 'stay' in the room while they investigate their options.
I don't know if that's the kind of thing you were suggesting.
Well it's a development of that, I suppose. I'm just trying to look how I might make things practical from a scripting point of view.
Ideally all the interactivity (aside from moving around as that would be done by clicking the links) would be in a fixed footer, but I don't know how doable that would be.
As for going beyond the basic examining/opening/taking of objects, I think I would just have to look at a way in which other interactive elements aren't required. In all the games I've made to date, objects have only ever used those options. Let's use a key as an example. The key can be looked at taken, and if the player has the key then the door will open when they type 'open'. I very rarely employ the 'use object on object' functionality.
As for open, then I suppose open would return a message describing the contents and the whole 'examine/take' process would run again.
The more I think about it, the more difficult I see it being. I may just let you get on with development on your own demo, and then nick stuff from it :)