request (request name, string parameter)

Raises a UI request. The request name must be specified directly - it is not a string expression. For example:

request(UpdateLocation, "The Kitchen")

The request script command is really a throw-back to the original Quest 5.0 interface, which, while it did use HTML, was not a fully-fledged browser. As of 5.3, the interface is a version of Chrome embedded in the software, and all interaction between the game world and the interface is done with JavaScript. Since then request has become increasingly obsolete, and it is recommended that the alternative is used. It is just possible request will be taken out of Quest at some date.

Valid request names and parameters (and alternatives):


Quits the game. Parameter is ignored. Use finish instead.


Updates the location bar at the top of the screen with the parameter text. Use JS instead:

JS.updateLocation("The kitchen")


Sets the name of the game. Do this instead:

JS.setGameName("My Cool Game")


(Obsolete as of Quest 5.4) Sets the font name. Use SetFontName instead.


(Obsolete as of Quest 5.4) Sets the font size. Use SetFontSize instead.


Sets the background to the specified HTML colour. Use SetBackgroundColour instead.


Sets the foreground to the specified HTML colour. Use SetForegroundColour instead.


Sets the link foreground to the specified HTML colour. As of 5.7.2, use SetLinkForegroundColour instead.


Runs the specified JavaScript function. A far better way is to use the JS object, which can be used to access any built-in JavaScript function or any you add yourself.

JS.myCustomFunction(15, "some string)


Sets the text for the status area on the right of the screen (under “Inventory”). If blank, the status area is removed. This is best done using status attributes.


Clears the screen. Parameter is ignored. Use ClearScreen instead.


Sets whether the panes on the right of the screen are displayed. Valid values are “on” and “off” (toggling whether panes are shown), and “disabled” (turns panes off and removes the button which would let the player turn them back on - this button appears to no longer be available). Instead use:



Shows the specified picture file from the game directory. Use picture instead.


Turns on an interface element. Valid elements are “Panes”, “Location” and “Command”. Instead use JS.uiShow.


You can also selectively hide or show one pane (if games panes are shown). Note that each pane has two components, so to hide the compass:


For the inventory, do #inventoryLabel and #inventoryAccordion; for the places and objects pane, #placesObjectsLabel and #placesObjectsAccordion. For the custom status pane and the custom command pane, use #custonStatusPane and #commandPane respectively (these have only one part).


Turns off an interface element. Valid elements are “Panes”, “Location” and “Command”. Use JS.uiHide(element) instead (see above for details).


Takes a semi-colon separated list of compass direction names and assigns them to the compass buttons. As of Quest 5.7.2, use JS instead, for example:


These names will also then not appear as exits in the “Places and Objects” list. The default is as shown in the example. The compass directions must be specified in the same order and there must be the same number of elements in the list. The exit in the compass rose will only be active if the alias of the exit matches the text you set here.


(Obsolete as of Quest 5.5) Pauses the game for the specified number of milliseconds.


Waits for the player to press a key. The parameter is ignored. Deprecated as of Quest 5.1 and unsupported as of Quest 5.4 - use the wait script command instead.


Takes a parameter of the form “ElementName=Value”, to set the text in the user interface. Do this instead:

JS.setInterfaceString("PlacesObjectsLabel", "You can see:")

Either way, valid element names are:


Requests the UI to save the game - this may bring up a “Save As” dialog if the user has not yet saved their progress. Parameter is ignored. As of Quest 5.8, use:



Sets the static panel HTML contents. Use SetFramePicture and ClearFramePicture instead.


(New in Quest 5.3) Log the specified text. Use Log instead.


(New in Quest 5.4) Output text to speech synthesizer if enabled. As of Quest 5.8, use requestspeak instead:

RequestSpeak("Hello World")