Clever Things’ Treasure Hunt Server

User Manual

version 1.5

“This hunt package is practical and perfect and easy to understand and use. Clean up is a breeze and the fact that it gives you statistics is great, too. There is no guessing about how effective it is, plus, it’s just plain fun to work with. It is a good investment for every shop- or sim-owner and I am very impressed with the help Rika and Peter provided.”

Carla Chandrayaan, Owner of Bailers Outfitters

Before you start

The Treasure Hunt Server is a complex system. In order to prevent unpleasant surprises due to misconfiguration, we urge you to read this manual fully and experiment with the server for a while to better understand how to use it before relying on it in an actual hunt. Otherwise, something you didn’t think of may crop up along the way and spoil your event which would be the last thing you want — and the last thing we would want as well.

First, you must decide what kind of treasure hunt you want. All of the options listed here are independent from each other, for a total of 24 possible treasure behaviors, not counting other minor options not configured through the server menu:

  • Pickup: Buy, Touch or Pay. — how the hunters get treasure — by buying it, touching it or paying it.
    • Buy treasure, also commonly called non-scripted treasure, stays in place when bought and gives a copy of it’s contents. If more hiding places were defined than there are treasure items, every few minutes, a randomly chosen treasure object will vanish and reappear in a different empty place, but otherwise they will stay put forever unless cleaned up by the server or manually. No statistics, more cumbersome to set up, but money and no lag, and can’t be found with view->beacons.
    • Touch treasure vanishes when touched, and a new copy of the same treasure reappears in a randomly chosen place. Statistics and banlists, but no money, can be found with view->beacons and incurs some lag.
    • Pay treasure vanishes when paid, and a new copy of the same treasure reappears in a randomly chosen place. Both statistics and money, harder to find with view ->beacons, some lag and more cumbersome to pick up, and no banlist.
  • Motion: Static or Dynamic. — whether treasure stays put or moves after it was rezzed. (do not mistake with vanishing and reappearing, as they are not the same).
    • Static treasure appears at the assigned position and stays exactly where it was told to – even in mid air.
    • Dynamic treasure appears in the assigned position, becomes physical and falls down, whereupon it becomes non-physical again when it’s no longer moving or when 30 seconds elapse, whichever comes first, and then goes active. If it’s suitably round, (or sculpted, since from the point of view of SL physics, sculpties are balls) it may roll and bounce into tight spots all on it’s own.
  • Position: Random or Hidden — where and how the treasure will appear. The server makes sure that at any moment there is no more than one copy of every treasure item in the field, though depending on how fast people pick treasure off and your other hunt options, some treasure items may not be present in world for a while. Both options involve randomly picking which treasure ends up in which hiding place, but they are different in how the possible hiding places are determined.
    • Hidden treasure will only appear in one of a list of designated hiding places that you will have to specially mark yourself by placing marker objects during setup. Notice that hidden treasure can also be dynamic, so you can control where exactly it falls down — so you can, for example, make it tumble down slopes in different directions and bounce off deliberately placed objects.
    • Random treasure will appear randomly in a box area defined by two corners. This makes most sense if it’s dynamic, so that it drops down from there to rest on the nearest flat surface, but it can be static floating things on a water surface, for example, or glowing phantom balls appearing in the air. It also implies infinite possible hiding places, so Buy type treasure will vanish and reappear if rezzed in this mode.
  • Sound: Quiet or Noisy
    • Quiet treasure makes no sound when it’s appearing somewhere.
    • Noisy treasure plays a configurable sound when it becomes active, whether it’s random or hidden.

These options do not impede each other from working, and any combination at all will produce sensible and useful results. All kinds of treasure can be cleaned up automatically, even though ‘buy’ type treasure contains no scripts after appearing in world.

Limits: While in ‘hidden’ mode, the server has been tested with up to 70 treasure items in up to 140 hiding spots. With certain combinations of settings it can handle more than that, but this is the setting that works fine for all modes. This is a limit defined by available script memory, and memory usage depends on multiple configuration options, so this is not a hard limit – less treasure means you can have a little more hiding spot markers, less markers means you can have some more treasure. ‘Random’ mode requires considerably less memory and can handle more treasure. With big hunts, rezzing multiple servers will make the hunt more manageable and will give you a chance to make treasure behaviours more varied. When in doubt whether the particular combination of items/spots ratio that exceeds these limits will work in a single server, please test first and let it run for a while before relying on it.

Getting ready

Regardless of which kind of hunt options you have decided on, you will need to do these things:

  1. Rez the server somewhere safe.
    • Due to an unusual and interesting bug in Second Life, the first time you rez the server in a sim, scripts may go missing from it. The server will detect that happening and report an error. If that happens, please rez a new copy of the server and then delete the old one (in that order) — the new copy will pass the integrity check. We think we have avoided that particular one succesfully, but there’s no telling with SL. JIRA report pending.
    • If you want other people to be able to control your hunt server, you can put their names into the notecard like this: “MANAGER|<full SL name>” and they will be allowed full access to the server menu. All notification information will be sent to all managers and the server owner by instant message, regardless of who requested it.
    • You can place the server anywhere in the sim, including any altitude you like up to the build limit (4096m on viewer versions 1.20 or newer, 768m otherwise). It’s best not to put it too far from the actual hunt area, though, because then setting up will be a pain. Moving the server after it is set up is safe, taking it and rezzing it again will reset the hunt setup and require starting over and will make automated cleanup of anything impossible. Really. We mean it. You have been warned!
    • The server produces some nice particle and sound effects when rezzing the treasure. As people not on the access list can’t tamper with the server, you might even want to consider putting it visibly into the hunt area to show it off.
    • One treasure hunt server is required per sim. If your hunt premises are across multiple sims, you will need to rez at least one copy of the server in either sim to configure them separately.
    • Any reasonable number of servers, regardless of owners, will coexist within one sim, barring freak accidents. You can rez multiple instances of the server within a single sim, and name them differently to make it easier to set up — to combine hunt types (e.g. random-dynamic treasure for outside areas and hidden-static treasure for inside a shop) or to exceed treasure/marker limits. Once loaded with treasure, the server can be duplicated as many times as you wish together with the treasure, although all servers will need to be configured separately and will need individually generated markers.
    • The treasure will travel in a straight line between the server and it’s designated place. If it needs to cross no-script land not owned by the server owner to do it, it will cause unpleasant failures.
  2. Create your treasure container object.
    • If you wish to have different hiding spots in different sizes, it needs to be 1 prim only, or the treasure will simply not be resized, but otherwise you can have as many prims (and sculpted prims) in it as you like. A single sculpted prim is the best option for complex shapes and easiest on the sim resources.
    • It’s best if an empty treasure container contains no running scripts, but if you wish it to have particles or hovertext for some reason, you can drop a script that generates them into the object and delete it once these parameters are set — they will stay around.
  3. Click the server to bring its menu up and press the “Give script” button to get the “Script bootloader” script. Rez your treasure container object and drop that script into it to make it a working treasure container. Do NOT Ctrl+drag the script, or it will not run! Instead, edit the object and drop the script into the “Contents” tab. Click the object and select “Ok”. The bootloader script will do it’s job and delete itself.
  4. Take your new treasure container into inventory. Containers, empty or full, are reusable between hunts, so once you have done that, you don’t need to do this again if you don’t want to make a completely new container.
  5. Rez as many copies of your container as you wish to have treasure items. Do NOT Shift+Drag them, as this causes them to break (still looking for the JIRA for this) — you will have to rez each one from inventory. Sorry.
  6. Fill them with the treasure as desired. Rename them to whatever you like – numbering them might be a good idea. Please note that they get auto-numbered (except the first one) if you drop identically named objects into the server later.
  7. You can texture and tint different containers differently if you so desire, and they will work exactly as described anyway. In fact, you can use containers of very different shapes, but if you use “Hidden” mode, results might not be entirely what you expected.

That’s where preparation steps become different depending on which settings you decided on.

If you want “Buy”:

  1. You will have to manually set the objects for sale at appropriate price(s), at this stage, either before they go into the server, or using the Properties window after it is in the server. It will be quicker to do that before they’re in the server, since using the Properties window on objects within an object’s inventory results in reloading that inventory, which, with tens of treasure items in it, takes a while.
    1. “Buy contents” is the expected way to do it and will result in the hunters getting a folder named after the treasure item.
    2. “Buy copy” will give your hunters an object instead of a folder, which may or may not be desirable depending on what your hunt object is.
    3. “Buy original” is best avoided. If it worked as expected, placing the object itself into the buyer’s inventory, it would make Buy treasure type behave very much like the Pay treasure type does, if it weren’t for the fact that when the original is bought, the item remains rezzed where it was and stays around unless it is taken or autoreturned – which will confuse the server, because the server will detect a missing treasure item and try to rez it again, and the hunter, who will not receive their item. Autoreturn, instead, may cause the item to be lost.
  2. Unfortunately, scripts cannot do any of that for you, because LSL does not provide the required facilities, they can’t even check whether objects are actually set up for sale to warn you that you made a mistake. Blame LL and vote for – not that it ever helped, but that’s all we can do.

If you want “Pay”:

  1. You will need to set pay prices per treasure. You have several options:
    1. Don’t do anything. The pay price will be set to the default L$1.
    2. Set pay price individually per treasure object by putting a number into the object description field.
    3. Set pay price in the Hunt Configuration notecard by listing treasure object names with their pay prices. The format is “PAY|<item name>|<item price>”. Item names are case sensitive.

If you want “Touch”:

  1. No action required at all – “touch” is the default.
  2. You might be interested in the banlist feature, which will allow you to prevent any given resident(s) from participating in that particular hunt. Banlist only works with the “Touch” treasure type, because while “Pay” items can also check a banlist and avoid giving away the prize, they cannot stop a specific avatar from actually paying them. If you wanted to refund money you got this way, it would open the system to abuse and necessitate encryption, which can burden the sim rather heavily. If you don’t refund money, you open yourself up to abuse reports for fraud. Ban list is configured in the same configuration notecard in a simple format – “BAN|<resident full SL name>”. The name is not case sensitive.

Configuration notecard

You don’t have to mess with the notecard at all, actually. However, less typical features and features requiring more complex manipulations are only accessible through notecard configuration, and here’s the full list of the notecard options. The notecard is called “Hunt configuration”. Empty lines and lines that start with ‘#’ are ignored.

  • MANAGER|<full SL name>
    • If you want other people to be able to control your hunt server, you can put their names into the notecard and they will be allowed full access to the server menu.
    • There can be multiple instances of this line.
  • ADDON|<item name>
    • If you wish the treasure to automatically include a notecard or a landmark, without worrying about putting them into each treasure item manually, you will need to put a few lines into the notecard. One line is needed for each addon item. You cannot include objects in this way since all the objects the server contains are considered treasure, but you can include anything other than an object — which includes sounds, scripts, animations, etc. Anything you include with this configuration line must be in the server by the time you proceed to the next stage, or it will complain.
    • There can be multiple instances of this line.
  • SOUND|<UUID of the sound>
    • If you wish Noisy treasure and want a sound other than the default, you will need to define it in the notecard like this.
  • BAN|<resident’s full SL name>
    • Ban list is configured in the same configuration notecard.
    • There can be multiple instances of this line.
  • PAY|<item name>|<item price>
    • Pay price for items with “Pay” pickup type can be configured here too.
    • There should be multiple instances of this line, one per treasure item. Items that do not have a corresponding line will have the default pay price of L$1, or the price read from their object description if one is present there.
  • RESPAWN|<time in seconds>
    • This configuration line will set an arbitrary respawn time, if the ones listed in the respawn options menu don’t suit you. It will override whatever is set in the menu.
    • This configuration line will turn off respawning treasure when it is taken, making the treasure only reappear when the respawn timer rolls in. If you want to have a very rare super-prize treasure item that only appears once per day, rezzing a separate server for it and setting the RESPAWN|86400 (respawn once per day) and TIMERONLY (only respawn by timer) options in the notecard in it is how you do it.
  • LIMIT|<number>
    • If this configuration line is present, once the said number of items is collected, the hunt will be stopped automatically as if it were stopped by hunt end timer, with accompanying automatic cleanup. This option will not work for Buy type treasure. It is not possible to stop the hunt instantly upon the limit being reached, so some extra items being taken after the cleanup has started is to be expected.
    • By default, Dynamic treasure is visible while it falls down. It only goes active when it has stopped, though, and visible treasure that can’t be clicked may be undesirable in your particular circumstances. Adding this line into the configuration will make it invisible while it’s falling. This will only work properly is the treasure is exactly 1 prim.

When you’re ready…

  1. Make sure the server is rezzed where you want it. While moving the server from now on will be OK, taking it back to inventory and re-rezzing it at any point after you have pressed the “Proceed” button or generated one of the Tools WILL REQUIRE STARTING ALL OVER AGAIN! You can duplicate a server loaded with treasure by picking it up and rezzing multiple copies, and the notecard configuration will keep, but all settings in the menu and all marker placement AND generation will have to be done anew, and markers already out in the field will be orphaned, which you won’t like.
  2. Make sure the notecard contains all the data it should — editing it will have no effect after you press the “Proceed” button.
  3. Pick your treasure items up one by one, drop them into the server. You can’t select multiple treasure items and pick them all up as one unit because then dropping them into the server will not work — scripts see multiple coalesced objects as a single object. Despite that, you can use Ctrl+Drag to drop a whole folder into the server in a single batch, which will speed things up, but beware the asset server and it’s “Inventory creation on an in-world object failed” message. Batches no bigger than 10 items usually work better.
  4. Set up the hunt type parameters you wanted by selecting “Configure” from the menu.
    • If you have selected ‘Buy’ type treasure, the Respawn option becomes important — that is how often an item will vanish and reappear in a new hiding place, if you have more hiding places than items. Select one you like best. All other kinds of treasure can report that they have been taken, and the server will respawn them immediately, so for them it’s more of a failsafe in case the report comes in while the server is busy rezzing other treasure.
  5. If you intend to re-use hidden treasure marker positions in a later hunt, you might want to use the “Marker Backup System” tool – see later in this documentation. This is when you have to ask the server to generate one, the button will not be available later.
  6. Press “Proceed”.

Further setup process is only different depending on whether your treasure is random or hidden.

If you selected “Hidden”:

  1. Name an empty treasure container “Empty container” (that’s what it’s named by default) and drop it into the server. Press “Done”. The server will create a marker object for you.
  2. Take your new marker object. Marker objects are keyed to the rezzed server object and are NOT REUSABLE if you re-rez the server!
  3. Rez copies of the marker in all hiding spots you want to the treasure to possibly appear in. The markers will flash red every few seconds and emit red particles to make them easier to find while setting up.
    • Resize and rotate markers to fit. The treasure that appears at the marked spot will have exactly the same size and rotation as the marker does, which is why creating a marker requires an empty treasure container. Remember that resizing only applies to containers consisting of exactly 1 prim!
    • Once you have rezzed a marker from inventory, it can be copied using SHIFT-Drag – it’s not necessary to always rez from inventory only.
    • You can enlist group members to help you create hiding spots. For this, you will need to give them a copy of the marker object, which is transferable (well, the marker script is — you will need to make the marker object copyable yourself, or they won’t be able to place more than one) and make sure they have the same current group as the server, and that group is not “none”, and obviously, that they are allowed to rez objects on your hunt premises. Then, markers hidden by them will work just as well as your own.
    • You will need at least as many spots as there are treasure items. The whole point of the server in ‘hidden’ mode is to have much more possible hiding spots than treasure items, so that a location list is meaningless and every item is a surprise. If the number of spots is equal to the number of treasure items, treasure will only reshuffle between spots if more than one treasure is rezzed during a respawn cycle.
  4. Press “Query” and the server will ask the spot markers where they are and remember their positions. You can move them and “Query” them again if you like, new positions will be remembered instead of the old ones. Give it time – the markers that have reported in will flash green and spread out their responses over a 10-second period to prevent them from overwhelming the server with messages.
  5. When you’re happy with your hiding spots, press “Wipe” to remove markers. Beware, once you do that, there’s no going back unless you have used the Marker Backup System.

If you selected “Random”:

  1. Press “Ok” and the server will rez a ‘Corner marker’ object. Marker objects are keyed to the rezzed server object and are NOT REUSABLE if you re-rez the server!
  2. Take it and rez exactly two copies of it.
  3. Upon touching, each of them will project three beams to help you visualise a three-dimensional box area the treasure will appear in.
  4. Position them in the corners of the desired hunt area.
    • The treasure will rez at random points within a box defined by those two opposite corners — think of them as bottom left close and top right far corner.
    • The box will be flat and horizontal, and it’s sides will always be parallel to N-S or W-E cardinal directions, no matter where the beams are pointing – the beams are only a visual guide for you.
    • Make sure that the treasure won’t get stuck in things when rezzed within that box, otherwise if it’s dynamic, it may bounce off in completely unexpected directions and very, very far, and if it’s static, it will be hard to get at.
    • Rezzing treasure within someone’s avatar body will push them off, so it’s best that the box isn’t where avatars will normally be, but well above their heads.
    • If you want multiple random rez areas, you will need to use more than one hunt server – sorry about that. A more advanced system for defining arbitrarily shaped multiple random appearance zones is planned for a future version.
  5. Press “Query” and the server will find the corners and calculate the box space. You can do that multiple times, readjusting position until you’re happy with it.
  6. Press “Wipe” to remove the corner markers.

Note: Once everything is set up, it is best to DELETE ALL MARKERS FROM YOUR INVENTORY, as they can not be re-used anyway. By deleting them you make sure you don’t accidentally use them again.

Another note: You can NOT add or remove treasure items after the hunt is started! Doing so will have unpredictable results and may make automated cleanup impossible.

Actual hunting

Starting the hunt

You can simply press “Start” at that point and the hunt will begin immediately. However, you also have the option to make the hunt start and stop automatically. To avoid the mess with time zones and being unclear on what time exactly do you mean, times need to be entered in the only universal time equivalent, “hours from now” – rounded to the current hour. If it’s Tuesday, 11:20 AM SLT now, and you tell the server to start the hunt in 14 hours, it will start on exactly 01:00 AM SLT on Wednesday. Exactly the same will happen if you press the “Start” button at 11:57 AM SLT, keep that in mind.

  • Beginning: will tell the server when to start the hunt, in hours from now. If you enter “0”, which is the default, the hunt will start immediately when you press the “Start” button.
  • Duration: will tell the server how many hours the hunt will go on for after it starts. If you enter “0”, which is the default, the hunt will continue until you stop it manually.

You can enter only a beginning, only a duration, or both at once. Notice that the time will only actually start counting after you have pressed the “Start” button, from the hour that was on at the moment you did.

If you have entered a duration, the server will IM you with hunt statistics at the end of the hunt, and clean up unattended.

During the hunt

Unfortunately, rezzing treasure takes about 3 seconds per item, because Lindens, in their infinite wisdom, decided to protect us from griefing by introducing arbitrary artificial delays into important functions. While they can be overcome, it will not make the scripts more reliable. During that time, the server will not react to menu commands, asking you to try again later. If the server is not busy rezzing treasure, (that is, when it’s quiet and has stopped smoking) you can ask it for “Statistics”, and an “Emergency” location list of all current treasure spots, just in case SL screws up. You can also stop the hunt manually at any time.

In cases of bouts of high sim load or asset server misbehaviour, (we have only actually seen it happen once during testing) an item may be rezzed, but fail to load the required script. In cases like this, the server will detect this happening, and pause further rezzing with an error message, until the next respawn, giving you a chance to get at the misfired item and delete it. Leaving it inside will not impede the server from functioning correctly.

After the hunt

You still can ask for statistics and locations, and “Clean up” the stray treasure, which is particularly handy if your treasure was of “Buy” type — with “Pay” and “Buy” treasure your hunters will eventually pick off the remaining treasure on their own, so you might want to let them do it. After cleaning up, the server resets itself and you can safely delete it. If you haven’t asked for statistics or location dump manually, the server will do that automatically before cleaning up, just in case.

Optional tools

Optional tools are separate objects, accessible from the Tools submenu in the main menu, meant to solve uncommon problems that require extra manipulations. When you press a corresponding button, the tool will rez above the server.

  • Treasure Name Randomizer: If you wish to randomize treasure item names to throw off object scanners used by hunters, the “Randomizer” button will rez a Treasure Name Randomizer. Once your treasure containers are primed with the “Script bootloader” and full of treasure, drop them into that box one by one, and touch it. The treasure items will rez above the box and rename themselves to a unique 20-letter name consisting of complete gibberish. As soon as you take the freshly renamed item, another one will be rezzed, and once all the items are processed, the Randomizer will delete itself. We suggest this feature be used with care, if at all, as it will make your own bookkeeping quite a lot more complicated.
  • Emergency Marker Remover: If you have accidentally deleted a server (or took it and re-rezzed) while setting up, while it’s hiding spot markers were out in world, there is no way a newly rezzed server will be able to query or wipe the markers, since they are keyed to a particular unique item key the server receives when rezzed. Emergency Marker Remover will take care of this problem by cleaning up orphaned markers. If you see a marker nearby, copy it’s object description field into the description field of the Emergency Marker Remover, and touch it to start. If you don’t, it will scan the entirety of all the possible marker communication channels and tell all markers to die. This will affect ALL markers owned by you or rezzed by your group in the sim, no matter which server they belong to, so use this feature with care!
  • Marker Backup System: You may wish to repeat a hunt again later with the same hiding spots, prepare the hiding spots well in advance of the actual hunt, or you might just want a precaution against mishaps when placing hidden treasure markers. The Marker Backup System sphere will rez above the server and you can move it anywhere. When the server queries it’s markers, it will listen in and remember their position data, matching it’s memory to that of the server that created it. Re-querying markers will cause this process to start again. Once the query is complete, and the number of markers remembered by the backup system and the server matches, the backup system is safe to take – it will rename itself to the current timestamp so that you can tell different backup spheres apart. To restore the backup, rez the sphere, and insert a marker freshly generated by a server that you want to restore the markers for — the sphere will automatically position the markers exactly as it remembers them and delete itself. It will still do it even if the markers from the new server don’t have the same shape or size, but in that case your degree of success may vary.
  • Satellite Prize Box: A large hunt, jointly prepared by tentants of a mall, for example, would normally require the hunt organizer (that is, the server owner) to posess copy-transfer copies of all the hunt items, so that they can be put into treasure containers and loaded into the server. This addon device is one of the ways to sidestep this requirement. It will only work with Touch and Pay treasure. (We urge you to doublecheck the setup in case of pay treasure, because if the mall tenants have made a mistake setting up their satellite boxes, pay treasure will deduct the money but won’t give the prize items, and that’s a can of worms you don’t want to open.) After you have placed the server, you generate this Satellite Prize Box, and give copies to all the hunt participants. Each Satellite Prize Box must be placed in the same sim as the server that generated it, by the hunt participant who wishes to give prizes, and named exactly as one of the treasure items (which may, itself, be completely empty) — one box is required per one treasure item. Anything placed into the satellite prize box by it’s new owner will be given to whoever collects the treasure item. The items so distributed must be full permissions to the owner of the satellite prize box.

Extra features

Hunt checklist HUD

In recent months, it has become fashionable to offer a HUD to the hunters providing a checklist of all items to be located. This optional gadget allows you to do just that. To enable HUD support, you must put the line ‘HUDSUPPORT’ into the server configuration notecard.

Once so enabled, when you get to the marker placement stage, the server will dump a list of configuration lines at you, which need to be copied and pasted into the notecard inside the HUD, (“Hunt ID”) and rez a Completion Prize Giver box. Any object placed inside that box, which is safe to move elsewhere, will be given to whoever collects all the hunt items while wearing a properly configured HUD. If you do not wish to give such a prize out, you can safely delete the completion prize giver box.

The checklist HUD is fully customizable, and in it’s default state, capable of supporting up to 50 treasure items, which have to come from the same server. You can alter the texture according to the provided template, and replace the numbers with icons or other symbols, just as you can rewrite the display code completely if you so desire. Please be sure to doublecheck the permissions on the contents of the HUD before distributing it, to prevent tampering with your hunt.

Items tracked by a checklist HUD are listed in the Hunt ID notecard in the order of their correspondence to numbers on the HUD itself, you can move them around or remove some of them if you so desire. At any moment before the hunt starts, you can request the server to dump configuration again.

Token Exchange Server

This addon device is an alternative solution to the mall hunt problem that the Satellite Prize Box solves, popular in Japanese hunts. Instead of actual items, hunters receive token objects which need to be dropped into a Token Exchange Server to receive the actual prizes. The Token Exchange Servers may be located anywhere in SL, and do not communicate with the main server system directly — they are also immune to the danger of someone ever cracking the communication protocol of the server and draining your wallet without you noticing, and can be used to give Linden Dollars instead of prizes.

The expected way to use it is to place a token object (which can look like absolutely anything you like) into every treasure, and give copies of the Exchange Server to other participating designers so that they can distribute their prizes.

Once a token object is aquired, the hunter needs to find the Exchange Server, touch it, and Ctrl+Drag the token object inside. The Exchange Server will verify it’s authenticity and give the prize if the object is found authentic. To make an authentic token, you need to put a script into it and make sure that it can be rezzed by the Exchange Server to communicate with the script — so there should be sufficient free prims on the parcel. The Exchange Server is configured by a notecard named “Token Exchange configuration” in it’s inventory:

  • TIMEOUT|<seconds>
    • Time given to users to drop their token into the object after they have touched it. Defaults to 30 seconds.
  • PROMPT|<text>
    • Defaults to “In use by”, this is the string that will be shown (with the user name appended) when the server is being used.
  • DROPPROMPT|<text>
    • Defaults to “please Ctrl+Drag your token into the box.” and will have the name of the user appended in front of this line.
  • CONGRATS|<text>
    • Defaults to “congratulations on your prize!” and will have the name of the user appended in front of this line.
  • FOLDER|<text>
    • Defaults to “Prize”. All objects inside the Exchange Server that aren’t part of it will be given as a folder, and this is the name of that folder.
  • EXCEPT|<item name>
    • Should any item in the contents of the Exchange Server not be given out (if you need to add any extra scripts, for example) this is how you do it.
    • There can be multiple instances of this line.
  • TOKEN|<token name>
    • The name of a valid token item.
    • There can be multiple instances of this line
  • PAYOUT|<number>
    • If you wish to pay money to your hunters instead of giving them items, this is where you tell the exchange server how much.
  • SCRIPTSEED|<number>
    • Only the tokens that contain a script which has the exact same seed number in it will be considered valid. This line must be present in configuration

Tokens can be more or less anything, but they must be no copy/no modify/transfer and must contain the same script. You can have multiple exchange servers handling different tokens and they can have their own scriptseed numbers. Tokens handled by the same exchange server do not have to be identical, but they have to have the same script seed number. To create a token, put the provided “Token script” inside and change the scriptseed number in it to any random number — the same number you will put into the Exchange Server configuration. Do not forget to set the permissions on the script to no copy/no modify/transfer as well!

WARNING: If you’re testing it with an alt, make sure the alt does not have edit permissions on the objects owned by the owner of the exchange server — otherwise token validation process cannot proceed.

If you wish to add any effects during token exchange, the main script sends out link messages with the num of 345027 and the key of the recipient in the key field to other scripts inside:

  • ACTIVE — is sent once the exchange server is in use.
  • DORMANT — is sent once the exchange server is free.
  • PRIZE — is sent once the prize has been successfully distributed.
  • FAILURE — is sent when a token could not be authenticated.

So how do I…

Do a classic, no frills hunt with non-scripted treasure

You want to set the options to Buy type treasure, Hidden, make sure your containers are set for sale, and then place exactly as many markers as you have treasure items. This will result in treasures at fixed locations that never change positions, but they will still be distributed between these positions randomly.

A more difficult hunt

Place two or three times as much markers as there are treasures. For the hunters it will seem as if treasure is randomly appearing in random spots. Eventually coordinates lists might circulate, but collecting a full list of hiding spots will take a long time, most of the spots on it will be empty at any given moment and where a specific treasure is will remain a mystery.

An open-air hunt

Chose Random and Dynamic and define a box using the corner markers, that covers the airspace above the area in which you want the treasure to appear. The treasure rezzes within that rectangle, and “rains” down from there and bounces into its final position. You can put the rezzing zone many meters above the surface for a better bounce.

An open-air hunt covering seperate areas

Rez multiple copies of the server, each one taking care of one designated area.

Combine multiple hunt types

Rez as many servers as you want to have hunt types. For example one server with Random-Dynamic to cover an outdoor area, one server with Touch-Hidden and a marker list twice the number of treasures for the indoor shop area. Finally add a third server with a long respawn time to deliver a single grand prize per hour by adding RESPAWN|3600 and TIMERONLY settings in it’s notecard.

Get some money from the hunt

Set treasure type to Buy or Pay. Buy-type treasure can not be detected by using the beacons in the SL viewer, however the reshuffling will be slower – one item will vanish and reappear in a random place at the beginning of every respawn cycle. With Pay treasure, once the hunt is over the server statistics will tell you exactly how much revenue you made.

Prevent my enemy/stalker/competitor/ex-partner/Prokofy Neva from participating

Set a server for Touch treasure type and add BAN|Prokofy Neva into it’s notecard. The person so afflicted will get a polite rejection message instead of the treasure.

Prepare for a hunt long before the actual treasure prizes to give away are completed

Place a server, create a treasure container that will be used for the hunt. Generate a Marker Backup ball, put two copies of your empty container into the server. Hide lots of markers, query them. Then take the Backup sphere, wipe the markers, and remove the server – you only need an empty container and the backup of the marker positions in your inventory to get the hunt running minutes after the treasure is ready. You can combine data from multiple backup spheres as long as it won’t exceed the marker number limits.

Make my treasure items look different or have numbers.

Texturing and tinting them differently works just fine. In fact, you can upload a texture with lots of numbers printed on it, put it on one of the container faces and shift it individually on each of the filled treasure objects, it will stay that way when the treasure is rezzed, rotated, or resized into place.

Updates and support

From time to time, as new features are added and bugs are found, updates will be sent out. Your Treasure Hunt Server will check for updates automatically every time a server is rezzed in world, and if there is a new version out, it will be automatically sent to you. All updates and new products will be announced in my blog — add it to your feed reader. šŸ™‚

While I’m all for support and customer service, my ability to do it is limited by not being able to see your screen and your actions in detail. As such, please be aware that some brainpower is required to run an event even with a highly automated system like this one. Since the serveris sold as copy-no transfer, and you cannot possibly return it to me while proving that you no longer have it, I cannot offer refunds.

You can get support by directly IMing me, Rika Watanabe, sending a notecard (Please leave enough identifying information in it so that I could get back to you quickly) and joining the Clever Things product support group – secondlife:///app/group/c749878d-5c99-7a03-a6c3-87efcd09510d/about

Rika Watanabe, Clever Things.
In cooperation with Peter Stindberg.

(C) 2008


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s