Custom Pane in Interface View?

What I Want (short version): To code an extra pane that works the same as the Inventory pane.

What I Want (long version): So I'm making a murder mystery text adventure, and I would like two Inventory-esque panes. One is for the basic inventory (keys, items, etc) and the other is the Case File. As the player progresses through the game, "objects" (such as Autopsy Report and Witness Statement) will be added to the second inventory (the Case File). I would like this Case File separate as to not clog up the actual inventory.

I'm Not Sure If I'm Making Sense, So Here's Me Explaining It Like A Child: So as of right now, I can have one Inventory pane. By a certain point in the game as I could do it now, the inventory would contain: ID Card; Cell Phone; Case File Folder; Office Key; Autopsy Report; Victim's Ring; Boyfriend's Statement; Witness Statement. However, I would like at this point to have two Inventory panes, with one containing ID Card; Cell Phone; Office Key; Victim's Ring and the other one containing Case File Folder; Autopsy Report; Boyfriend's Statement; Witness Statement.

What I Have Now & My Understanding Of Code: I don't have anything for this right now, but I suspect I use the Interface tab in the game setup. This is my first time using Quest, but I do have knowledge in HTML, CSS, and Ruby coding, so if you give me the code itself or explain what I should do I'll probably understand or at least be able to figure it out. For example, if you tell me to set up a variable labeled X, I can do that, but if you tell me to add a command you might need to explain what coding goes into that one.

Other Things I Don't Know If Mentioning Could Be Useful: It's a text adventure, not a gamebook. I am not using display verbs that are visible within the inventory. I do not have items listed as droppable - if the item gets removed later on I'll manually remove it with the Remove Object option, but I do not players to drop objects on their own.

Thank you in advance, and sorry for the long layout!


Making an extra pane can involve a pretty big chunk of code, because all the javascript is geared around having two panes (and also the messed-up multiopenaccordion plugin that Quest uses doesn't allow new panes to be added after it's been initialised. So there's a few things you will need to do. I'll list them off first, but don't have time to write everything now (I'm being shouted for dinner), so will try to remember to come back and add details later.

  1. Add the HTML elements for the new pane
  2. Add javascript to update the pane
  3. Change Quest code to send stuff to the right pane.

Some of this will depend where the objects are. If they're actually in the inventory but you want them to be displayed in a separate pane, it should be simpler. If they're stored in a list or container somewhere, it might be a bit more complex. Which one are you using? And do you want the verb buttons on the new pane to be the standard displayverbs or inventoryverbs buttons, or to use a list from somewhere else?


They aren't "useable" inventory objects, it's just a list that will have the "lookat" verb. This second pane is more of a reference sheet so the player can look back on the clues they already have at any time, but the clues are obtainable throughout the game, if that makes sense.


That shouldn't be too hard to sort out. I don't know if I'll have time to finish this now, but I'll come back later and finish. the first thing you'll need to do is make a new pane. So you'll want to put some code in the User Interface Initialisation script (on the game's "Advanced Scripts" tab).

msg ("<h3 id=\"caseFileLabel\"><span class=\"accordion-header-text\">Case File</span></h3><div id=\"caseFileAccordion\"><div id=\"caseFileWrapper\" class=\"elementListWrapper\"><ol id=\"lstCaseFile\" class=\"elementList\"></ol></div><div class=\"verbButtons\"><button id=\"cmdCaseFile1\" type=\"button\" onclick=\"paneButtonClick('#lstCaseFile',$(this));\" style=\"display:none\"></button></div></div>")
JS.eval("$('#caseFileLabel,#caseFileAccordian').appendTo('#gamePanesRunning');")

Looks like I have to put my computer off now, I'll be back with the rest later.

  • Making the accordion work
  • Adding elements to the new list
  • Making the verb button work

I'm sure there is a damn good tutorial in the website about hadling a secondary inventory. Honestly, I never used it bfore myself, but I remember reading it and finding it very clear. I believe it is under the "How to" section of the tutorials and hints. Adding the secondary inventory is quite easy. The trick falls on creating categories for the objects for the game know what must go where. Its really worth checking.


Log in to post a reply.

Support

Forums