Map Layout Question

Gryphbear
I've been playing with the Quest tutorials, and I saw a screenshot where the map (when enabled to be shown in game) showed the label titles of their rooms (Kitchen and Lounge). So far, I haven't figured out how to make them show up on my game, and I was wondering if it was an impossible goal, or if there is somehow a way to do it? I like the idea of being able to look at the map with a glance and go "Oh, that's the kitchen a few 'squares down' etc etc"

Any ideas? I've been scouring the forums trying to find a similar issue, but I don't think anyone's run into it? Maybe it was a photoshopped image to show text on the map.

http://quest5.net/wiki/Showing_a_map (The second screenshot is the one I was referring.)

Thanks for your time :)

-Drew

Entropic Pen
You can type the room label in an object's "Label" control in the "Map" tab, right between the "Light/Dark" and "Exits" tabs.

Gryphbear
Ah, I see where you mean. The Map & Grid Drawing feature is enabled, and the Label for Lounge is "Shabby Lounge", but for some reason, the text part on the map just simply isn't showing up.

I'm using Quest 5.5 Beta. I'm not sure if that's causing issues or not.

EDIT: I retro-installed Quest 5.4.1, and it now shows up. Definitely a bug in 5.5 Beta. Thanks for the help anyway :)

DUB
I"m seeing the same thing. I'm also using version 5.5. Any news on a fix for this?

jaynabonne
There is a bug, and unfortunately, it's in the middle of a big function. The corrected code is here:

  <function name="Grid_DrawRoom" parameters="room, redraw, playerobject">
<![CDATA[
if (room.grid_render) {
if (redraw or not Grid_GetRoomBooleanForPlayer(playerobject, room, "grid_isdrawn")) {

if (room.parent <> null) {
Grid_DrawRoom (room.parent, redraw, playerobject)
}

JS.Grid_DrawBox(Grid_GetGridCoordinateForPlayer(game.pov, room, "x"), Grid_GetGridCoordinateForPlayer(game.pov, room, "y"), Grid_GetGridCoordinateForPlayer(game.pov, room, "z"), room.grid_width, room.grid_length, room.grid_border, room.grid_borderwidth, room.grid_fill, room.grid_bordersides)

if (LengthOf(room.grid_label) > 0) {
label_x = Grid_GetGridCoordinateForPlayer(game.pov, room, "x") + room.grid_width/2.0
label_y = (Grid_GetGridCoordinateForPlayer(game.pov, room, "y") + room.grid_length/2.0) - 0.5
// Grid_DrawLabel(x, y, z, text)
JS.Grid_DrawLabel(label_x, label_y, Grid_GetGridCoordinateForPlayer(game.pov, room, "z"), room.grid_label)
}

foreach (exit, AllExits()) {
if (exit.grid_render and exit.parent = room and exit.grid_length > 0) {
Grid_DrawLine (Grid_GetGridCoordinateForPlayer(game.pov, exit, "x"), Grid_GetGridCoordinateForPlayer(game.pov, exit, "y"), Grid_GetGridCoordinateForPlayer(game.pov, exit, "end_x"), Grid_GetGridCoordinateForPlayer(game.pov, exit, "end_y"), "black", 1)
}
}

Grid_SetRoomBooleanForPlayer(playerobject, room, "grid_isdrawn", true)
}
}
]]>
</function>

To use this, switch to code view in your game, and then copy and paste the above text just above the closing </asl> tag in the file. (In other words, just above the bottom-most line).

If that's not workable as a way to edit the file, I can drop this into a library that will make it easier to integrate. Let me know.

This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums