hippoRENT Map Table
The hippoRENT Map Table is a clever gadget that allows you to easily see where all of your hippoRENT rental boxes are in a given sim. Once the Map Table is connected to your rental boxes, it will display a map of the sim (or a texture of your choice) and automatically rez little indicator prims, displaying the location of each rental box. Depending on the status of the rental box in question, the indicator will be a different colour. You can also configure the Map Table so that you, your managers, tenants or visitors can easily teleport to a rental box by simply clicking an indicator prim. Whether you use the Map Table as a teleport hub, an easy-at-a-glance-guide to your rentals, a help for visitors, or just for fun, it’s a great addition to your hippoRENT system.
This document describes four things ...
- Getting Started Quickly
- Using Your Map Table’s Menus
- Customizing your Map Table Via the Configuration Notecard
- Advanced Tricks With the PLUGIN Script
1. Getting Started Quickly
To make the Map Table work, you’ll need to begin by adding the “PLUGIN_mapper” script, included in your hippoRENT Map Table folder in your inventory, to each rental box that you wish to appear on your map. (Remember, the Map Table will only show boxes in the same sim as it is, although you can copy your Map Table and rez one in each sim you own, or have rentals in.)
- Right-click your hippoRENT Rental Box (ideally you should be using version 5.0, although version 4.5 is also fine).
- Choose “Edit” (and then “More>>>” if only the mini-build window appears) and then click on the Content tab.
- Drag the ‘PLUGIN_mapper’ script from your inventory to the list of rental box contents you just revealed. The rental box should chat "Rental Mapper plugin loaded and running ok."
- Double click on the ‘PLUGIN_mapper’ script in the rental box’s inventory to edit it.
- Change line 5 of the script by picking a new "channel" number for Second Life to use to communicate between box and Map Table. A large, negative number is always good - so, for example:
integer gMapperChannel = -625000;
- Change line 10 of the script and pick your own secret passphrase. For example:
string gPassphrase = "hamstersdonotlikecricket";
* Important! Don’t delete the semi-colons or quotemarks and don’t change anything else in the script.
* Useful Tip: Make a note of your channel and passphrase, as you’ll need them in a moment.
- Hit the “Save” button and if everything is well, the script will again report “Rental Mapper plugin loaded and running ok.” Close the script window.
- Now rez your hippoRENT Map Table. Open its contents, similarly to how you did for the rental box in step 1b above and double-click on the ‘_config’ notecard to open it.
- Change the following lines of the notecard so they match what you entered into the PLUGIN script. For example ...
NETWORK CHANNEL: -625000
NETWORK PASSPHRASE: hamstersdonotlikecricket
- Close and save the “_config” notecard. Then click the Map Table and choose "Reset". It will load the changes and shortly display two map indicator balls ... one representing its own position and the other representing your rental box. (It should also display a map of the sim, if it’s able to fetch this information otherwise you’ll need to use a custom texture, described below). Provided the rental box is less than 300m away, you can right-click the map indicator ball and choose ‘Teleport’ to teleport to the box’s location.
Congratulations! That’s the hardest part of setting the Map Table up. You can now repeat the steps 1a to 1g for each rental box in the sim. Now your Map Table is rezzed, whenever you add a new ‘PLUGIN_mapper’ script to a rental box, it will appear on your Map Table a few seconds later. (If you delete a rental box, simply click your Map Table and choose ‘Update’ to refresh its list of known rental boxes).
* Useful Information ... Each Map Table can show up to 99 rental boxes (or 100, if you choose not to show the Map Table’s location as well; more on this below).
2. Using Your Map Table’s Menus
If you click your Map Table, it will display a blue menu, offering various buttons to click. Their function is simple and straightforward ....
|Turn Off || |
Turns off your Map Table and removes any map indicator balls it had rezzed. You should use this option before rotating, moving, resizing or deleting a Map Table, so you don’t leave a trail of disembodied map balls littered around!
Useful Tip ... After rotating or resizing a Map Table, use the “Reset” menu command so it makes proper note of its new size or angle before starting up again.
|Turn On ||If the Map Table is turned off, turns it back on again. |
|Show Text ||Tells each map indicator ball to briefly display a hovertext caption giving more information about that rental box. (You can get the information on just one particular indicator ball by briefly clicking on it). |
|Update ||Deletes all the map indicator balls and asks each rental box to send its information afresh. You should only have to use this option after deleting or moving a rental box; whenever a box is rented, vacated, locked, reserved, or its configuration changed, it will send its new information to the Map Table. |
Useful Tip ... You can configure your Map Table to automatically run this command at a time interval of your choice. See below for more information.
|Status ||Reports on the Map Table’s status (memory free, number of indicator balls rezzed etc.) |
|Reset ||Resets the Map Table and reloads its configuration from its ‘_config’ notecard. Use this after making any changes to the notecard, to apply the changes you’ve made. |
|Help ||Gives you a copy this user guide in notecard form. |
That’s all the Map Table menu commands. You can also get a menu by pointing at any map indicator ball and holding down your left button for about three seconds. That will give you a different set of options ..
|Kill Me ||Deletes this particular map indicator ball. |
|Kill All ||Deletes every map indicator ball the Map Table has rezzed. |
These options are useful if you forget to turn off your Map Table before deleting it and end up with a lot of free floating map indicator balls that you need to delete!
3. Customizing your Map Table Via the Configuration Notecard
You’ll recall in steps 1h - 1j at the beginning of this notecard you edited the ‘_config’ notecard that resides inside your Map Table, in order to network it with your rental box. You may have noticed lots of other interesting looking settings in the ‘_config’ notecard ... this section of the user guide describes each setting you can alter, allowing you to customize your Map Table’s behaviour in lots of ways. Remember to click your rental box and choose “Reset” after making any changes to the ‘_config’ notecard to load and apply them.
AUTO REGION MAP: <Yes/No>
e.g. AUTO REGION MAP: Yes
- If set to ‘Yes’, then the Map Table will attempt to automatically load the map of the sim (and refresh it every 24 hours). If it can’t find it for your sim, or you use AUTO REGION MAP: No, then the Map Table will use the first texture it finds (not including the ‘Offline’ texture) in its inventory; so you can easily add a custom texture of your own.
SHOW MY LOCATION: <Yes/No>
e.g. SHOW MY LOCATION: Yes
- If set to ‘Yes’, the Map Table will rez a map indicator ball to indicate its own position in the sim.
MY LOCATION COLOUR: <Colour Name or Vector>
e.g. MY LOCATION COLOUR: Yellow
- Specifies what colour the map indicator ball indicating the Map Table’s position should be. It knows the colour names "red", "blue", "green", "yellow", "pink", "white", "black", and "orange" ... or you can use a colour vector if you understand those, e.g. MY LOCATION COLOUR: <0.2, 0.5, 0.6>
MY LOCATION TEXT: <text>
e.g. MY LOCATION TEXT: MY_NAME\nYou Are Here\nMY_LOCATION
- Provides the hovertext that will appear over the map indicator ball representing the Map Table when clicked. Note that \n represents a line break and there are also some key phrases you can use: MY_NAME will be replaced with the Map Table’s object name (renameable using the standard Second Life build window) and MY_LOCATION will be replaced with the sim coordinates of the Map Table.
The next four commands control the colour of the map indicator balls that represent rental boxes. You can set a colour differently depending on a box’s status ... In each case, you can use the colour names "red", "blue", "green", "yellow", "pink", "white", "black", and "orange" or you can use a colour vector if you understand those, e.g. AVAILABLE COLOUR: <0.2, 0.5, 0.6>
AVAILABLE COLOUR: <Colour Name or Vector>
- The colour of a map indicator ball for a vacant rental box.
RENTED COLOUR: <Colour Name or Vector>
- The colour of a map indicator ball for a rented rental box.
LOCKED COLOUR: <Colour Name or Vector>
- The colour of a map indicator ball for a locked rental box.
RESERVED COLOUR: <Colour Name or Vector>
- The colour of a map indicator ball for a reserved rental box.
REZ OFFSET: <height>
e.g. REZ OFFSET: 0.05
- Sets how far above the surface of the Map Table a map indicator ball will be rezzed.
ALWAYS SHOW MAP POINTER HOVERTEXT: <Yes/No>
e.g. ALWAYS SHOW MAP POINTER HOVERTEXT: No
- If you set this to "Yes", then the floating hovertext will *always* be show over map indicator balls, not just when they are clicked.
HOVERTEXT DISPLAY TIME: <time in seconds>
eg. HOVERTEXT DISPLAY TIME: 6
- How long should the hovertext appear over a map indicator prim when it’s touched?
HOVERTEXT FORMAT: <text>
e.g. HOVERTEXT FORMAT: NAME\nLOCATION\nRENTAL_INFO\nEXTRA_TEXT
- Defines the "format" of the hovertext over a regular map indicator prim. Note that \n will be replaced with a line break. There are also some key phrases: NAME will be replaced with the rental box name (as set in its configuration); RENTAL_INFO with the tenant name if the box is rented or the reservee if reserved; LOCATION will be replaced with the box location; EXTRA_TEXT with any text you’ve set in the gExtraText variable in the PLUGIN script for that box (see section 4 below).
OTHER MANAGERS: <names separated by ,>
e.g. OTHER MANAGERS: Tom Wright, Ben Witherington, Ed Sanders
- Anybody you list here will be able to use the Map Table’s menus. Names are not case sensitive, so "wilma flintstone" is considered to be the same as "Wilma Flintstone".
RIGHT CLICK TELEPORT WHEN AVAILABLE: <Yes/No>
e.g. RIGHT CLICK TELEPORT WHEN AVAILABLE: Yes
- If set to yes, anybody can right click a map indicator ball representing a rental box that is available and choose ‘Teleport’ to visit the location. (Only works if the box is 300m or less away).
RIGHT CLICK TELEPORT WHEN NOT AVAILABLE: <Yes/No>
RIGHT CLICK TELEPORT WHEN NOT AVAILABLE: Yes
- If set to yes, anybody can right click a map indicator ball representing a rental box that is unavailable (e.g. rented) and choose ‘Teleport’ to visit the location. (Only works if the box is 300m or less away).
LEFT CLICK MAP WHEN AVAILABLE: <list of access rights, separated by a comma>
e.g. LEFT CLICK MAP WHEN AVAILABLE: Anybody
- Specifies what types of people can left-click a map indicator ball, for a rental box that is available, and have that location open in a Second Life map window. You can use the access words "anybody", "owner", "managers", and "group". E.g. if you use LEFT CLICK MAP WHEN AVAILABLE: Owner, Managers then only you, the owner, and any named managers (see above) would be able to do this. Or LEFT CLICK MAP WHEN AVAILABLE: Group would only enable people wearing the same group tag as the Map Table to get it.
LEFT CLICK MAP WHEN UNAVAILABLE: <list of access rights, separated by a comma>
e.g. LEFT CLICK MAP WHEN UNAVAILABLE: Anybody
- See above, but you can also use the access word "Tenant"; e.g. LEFT CLICK MAP WHEN UNAVAILABLE: Tenant, Managers would show the map to the tenant or a manager (but not to anybody else, including you the owner).
AUTO UPDATE EVERY: <time in hours>
e.g. AUTO UPDATE EVERY: 24
- If you wish, the Map Table can delete all its indicator prims and ask each box for an update at a time interval you choose. Useful if you’re regularly deleting boxes (deleted boxes obviously can’t tell the Map Table they’ve been removed; if you move a box, it will update its position next time it pings the Map Table, every 2 to 4 hours).
| | TIP FOR ADVANCED USERS TAKING ACCOUNT OF A RENTAL BOX'S HEIGHT
If you’re using v1.05 or higher of the hippoRENT Map Table, you can have the table alter the height it rezs indicator prims at, to indicate the height of the rental box. There’s a tiny bit of maths involved, but it's pretty simple ...
- First, ensure any boxes you wish to do this with are using v1.05 of the plugin script (otherwise the Map Table won't be given their altitude).
- Second, add these commands to your Map Table’s “_config” card ...
ADJUST FOR ALTITUDE: Yes
- This tells the Map Table that you’ll be adjusting for altitude
BASE LINE Z COORDINATE: <value>
e.g. BASE LINE Z COORDINATE: 50
- This tells the Map table what the “base line” altitude is; what height in your sim corresponds to the surface of the Map Table, in essence.
CONVERSION MULTIPLIER: <value>
e.g. CONVERSION MULTIPLIER: 0.025
- The Map Table will first take the altitude (Z coordinate) where a box is rezzed. It will subtract the base line value above. Then it will multiple by this value to work out how high above the table (on top of the regular REZ OFFSET value) to rez the indicator prim. So, for example, if a box is at 200m, the base line is set to 100 and your multiplier is 0.025 and the normal rez offset is 1, then the Map Table will rez the indicator prim at (200 - 100) x 0.0025 +1 = 3.5m above the Map Table. Sounds complicated? Actually it’s very straightforward and needs just a little tinkering to get the hang of it
MAX Z OFFSET: <value>
e.g. MAX Z OFFSET: 5
- Tells the Map Table the maximum vertical offset to add to an indicator prim’s position. Choose a sensible value so that indicators don’t get rezzed at crazy heights above the table
MIN Z OFFSET: <value>
e.g. MIN Z OFFSET: 0
- Tells the Map Table the minimum vertical offset to add to an indicator prim's position. Choose a sensible value so that indicators don’t get rezzed at crazy heights below the table! It may be worth setting this to 0, so that boxes whose altitudes is beneath the base line don’t generator negative values and end up producing indicator prims out of sight beneath the table!
- Finally a useful tip: we wouldn’t recommend rezzing indicators too far away (above) the table, as it uses llSay() to communicate with them; a 20m range so indicators rezzed further away than this may end up getting lost or stuck!
4. Advanced Tricks with the PLUGIN Script
Finally, for advanced users, there are four advanced settings (variables) you can edit in the PLUGIN script that lives in the rental box. Edit them as you wish, save the script and reset the rental box to ensure it sends its latest status to the Map Table.
The four variables are ...
string gTextureKey = "";
- If you provide a UUID texture key (right click a texture in your inventory for which you have full permissions, choose ‘Copy Asset UUID’, to get it) here, the PLUGIN script will transmit that to the Map Table and the texture will be applied to every face of the map indicator prim. (Obviously the default map indicator prim is a sphere, but it won’t take a competent builder long to work out you can add any prim called ‘Mapper Prim’ to the Map Table’s inventory to have that rez instead (obviously add the ‘.mapper’ script that lives inside the default mapper prim.
vector gTeleportOffset = <0, 0, 1>;
- This variable controls where people teleporting in from a Map Table will arrive, relative to the rental box’s position.
vector gTeleportArrivalRotation = <0, 0, 0>;
- If you wish people teleporting in (via right-click and 'Teleport') to be rotated a specific way, supply it here; e.g. <0, 0, 90> = rotated 90 degrees around the Z axis.
string gExtraText = "";
- Any extra text you wish to appear in the mapper ball's hovertext representing this location. It will replace the 'EXTRA_TEXT' key phrase if you've included that in the HOVERTEXT FORMAT setting.