Well well! If you've made it to this point in the instructions, you are doing very well and can consider yourself quite a good scripter already. Remember that you need a playful spirit, lots of coffee, and a backup copy of your Palace mansion script to learn even more. Ha! You think I'm kidding my friend, but back it up! Your Palace server reads the Mansion Script and it's that script which contains all your Palace information. 

OK, now that you've made that backup we're almost ready. The following instructions deal with a relatively sophisticated set of scripts, and you should be familiar with some of the basic scripting techniques described in the preceding sections.

You can make a tour run in various ways. That's the beauty of Palace and script writing. Different people perform tasks in different ways, expressing their own creativity. These instructions describe how to create a tour like the one you will find at CyberQuest. It works on a two spot principle, meaning that the user will click on a spot and an overlaid GIF will appear in another spot, along with a message. It's not as difficult as it may sound and I'll be walking you through each step.

But first, the rationale for this type of tour. One of the problems with a tour script is that users may not have--in fact, probably haven't--d/l'ed (downloaded) your pictures. I find it's very common for users just to go from room to room to d/l one room at a time rather than going to a web page to get an entire package of GIFs. The latter is much quicker, obviously, but seems to go against the grain of the casual user, and, after all, downloading a Palace's complete picture file eats up a lot of hard disk space, even on smaller Palaces. So, a tour which automatically moves a user from one room to another, may well move the user to another room BEFORE they have even finished downloading the first one. And so on. Obviously, that defeats the purpose of having a tour. But, if they first go and d/l each room that is a part of the tour and then take the tour, they will have already seen the room and again the tour is moot.

So, a tour must take these considerations in mind and must meet, I think, the following criteria: 1) Make sure the user has d/l'ed the room before the tour information is given and 2) make sure the tour isn't spoiled for the new user, by making the user go to each room to d/l before the tour actually begins.

The two adequate solutions to this problem are to 1) ensure that the user d/l's your room GIFs (from the web) before taking the tour or 2) build into the tour a way for them to go from room to room, d/l the room, and only then have the tour activate. The following tour follows option 2. Again, it's not the only way to do it, but it solves the above mentioned problems.

OK, now we're almost ready. In the following instructions I'll be showing you how to create such a tour script in a single room. Of course, you can repeat this process for all the rooms you want in your own particular tour. To see an example of how this tour works, go to the Quest for Romance room at CyberQuest. The scripts and illustrations below are taken from that room.

First, decide what rooms in your palace will be a part of the tour. Go into each room and under Wizard Menu go to Room Info. That opens a dialogue box and you will see a line that says ID followed by a number like 89. Write down the ID number of each room on your tour, as you'll need that information later.

Go to the first room of your planned tour and follow these directions:

1) Go to Wizard mode and in the Wizard menu go to New Door. You can highlight your new door by clicking in it, which will show tabs in the four corners. By clicking on each tab, you can move and resize your door to whatever position you wish in the room.

2) With your door still highlighted, go to Wizard menu under Door Info to open that dialogue box. There you'll see under a line called "Name." Name your door something like "Tour Info." With that dialogue box still open, click on the options "Show Name" and "Don't Move Here" and then close that dialogue box. The name should appear on your screen.

Variation: You can vary the above by using an overlaid GIF with the word "tour" or whatever instead of using the "Show Name" technique. The overlaid GIF technique is used for the CyberQuest tour.

3) Reopen that door to get the door dialogue box back. There you'll see a place that says "Script." Open the Script dialogue box and insert the following script:

ON SELECT
{1 12 SETSPOTSTATELOCAL
380 340 SETPOS
"@193 123Welcome to the first room in the Quest for Romance wing.
You may reach several of the other rooms by clicking on the photos." LOCALMSG
"@193 123From those rooms, you can find even more hidden rooms, all with
romantic over-and-under tones." LOCALMSG
"@193 123Now on to Quest for the Quest!" LOCALMSG
{ 178 GOTOROOM } 2200 ALARMEXEC
{ 0 12 SETSPOTSTATELOCAL } 2200 ALARMEXEC
}

Now, before we create the second spot, let's look at the room at CyberQuest and analyze the above script and see what it's doing:

The script has gone into a door in the upper right hand corner. I've placed an overlaid GIF there, too, with the words CQ Tour. So, the script activates when the user touches that spot. Now, on to talk about the script itself:

The ON SELECT is the Event Handler. It tells the script to activate when the spot is touched. You could change that, of course, to ON ENTER if you wanted, but remember you want the user to be able to d/l the room before getting the tour information and moving to the next room.

The first open bracket { marks the beginning of the functions the script will fulfill. In the above script, we have five separate functions, called commands, that will be executed and I'll go through each of them one by one.

1) The next line (1 12 SETSPOTSTATELOCAL) is a very important one and you need to know what those number mean, because you may have to vary them for your tour to work. The number "1" refers to the spot state of door "12". The second number "12" refers to the door with the ID number of "12." Don't confuse the door ID with the room ID. They have no relation to each other. So, the first number "1" causes door 12 to change its state from 0 to 1 and I'll explain later why we want that to occur. Again, the number "12" refers to the door with that ID number, which we haven't created yet. You may have only one door in your room at this time, and that's OK. In fact, that's great! And the SETSPOTSTATELOCAL means that door 12 will change its state only for the user who clicks this particular spot. Not everyone who is present in the room will see the change, though you could make that happen by changing LOCAL to GLOBAL.

2) The next line (380 340 SETPOS) moves the user to coordinates 380 and 340 in the room. I've put that in so the user won't get in the way of the message script. You can vary that, changing the coordinates to your heart's content. Just make sure the user is out of the way of the message script and spot number 2 after we've created it.

3) The next line down, starting with "@193 123Welcome to the first room in the Quest for Romance wing. . . . begins the message portion of the script. After the first quotation mark I've included the coordinates for where I want the message to appear. You can vary those coordinates and can get additional information about how to locate your coordinates by clicking here. I have three message scripts, actually, because the entire message is rather long and I didn't want it to be cut off. But I follow the second quotation mark of each one with the LOCALMSG command. You can edit the message part of the script to include information about your room. It can be as long or short as you wish, but to make sure your message works properly, you might want to read my instructions on message scripts.

4) The next line is { 178 GOTOROOM } 2200 ALARMEXEC

I have put additional brackets around the GOTOROOM command because I want to affect when that part of the script occurs. The 2200 ALARMEXEC means the part preceding will execute 2200 ticks after the spot is selected. In real time that's about twenty seconds I'd guess. The 178 GOTOROOM means the user will be transported to room 178 (Quest for the Quest) twenty seconds after touching the spot. That allows the user to read the message scripts and look things over before they are automatically moved to the next room on the tour. Without the ALARMEXEC delay, the user would be transported to room 178 immediately. Ouch.

Remember, you can vary these numbers. Obviously you'll want the user to be transported to the room number of YOUR next room, which won't be number 178. So, edit that and fill in the proper number that you've previously written down. Also, you'll want to adjust the number preceding ALARMEXEC so that the user is transported after the length of delay that you set. Increasing the number before ALARMEXEC will increase the delay and vice versa. Set the length of delay according to the length of your message, giving enough time for the user to read your message before they are swept into the next room.

5) The final part of the script is: { 0 12 SETSPOTSTATELOCAL } 2200 ALARMEXEC

That resets the door with ID 12 back to the state of 0. I've surrounded it with brackets and have delayed that with the ALARMEXEC. So, door number 12 changes back to 0 state when the user is transported to the next room. You'll see why that's necessary below.

And then the next line of the above script is the closed bracket } and that's it. A fairly long and somewhat complex script, but not one you can't handle with some practice. As you work on that script, keep well stocked with coffee.

But you still want to finish that room for the tour and for that you'll need another door.

Go to the Wizard menu and to New Door. Click in the center of your new door to highlight it. Resize it by dragging the tabs and position it where you want your second spot. Now, you should go to CyberQuest if you haven't already to see how the second spot functions. On the CQ tour an overlaid GIF appears with a woman we've named Linda, who acts as tour guide. I really like this effect of having a "guided" tour. To make your own tour guide, read my directions for overlaid GIFs.

With your door highlighted, go under Wizard menu to Door Info. First, take note of the door ID number. You must know that to make the script above function properly. The above script is set to change the spot of door number 12. If your new door has a different ID number (which it almost certainly will), you can edit the script above accordingly.

In the Door Info dialogue box you'll find a part called Picts. Open that and note that the first line will read <none>. Leave that as is. Then click on "add" and call up the name of your tour guide GIF. Here's how that dialogue box looks for our tour at CyberQuest:

You now have two states for your door. State 0 has no GIF <none>, state 1 has your tour guide GIF, in our case, Linda2.GIF. Ahhh, I love it. Close that dialogue box and open the one called Script and insert the following:

ON ENTER {
0 ME SETSPOTSTATELOCAL }

All this script does is make doubly sure the spot of door number 2 is set to state O when a user enters the room. You don't want your tour guide GIF to always appear in the room. That would be annoying, to say the least.

Now, click OK to save your script and you're done. Test it by clicking on your first spot. You'll 1) see the overlaid tour guide GIF, 2) be moved to a position in the room, 3) see the tour message, 4) be transported to the next room on the tour, and then 4) the tour guide will disappear. Voila!

You can repeat that process for each of the rooms on your tour.

Below is an example of how our Quest for Romance rooms looks while our Linda tour guide is "talking":

A final word. Be patient with yourself as you work on this complex script. It's multi-dimensional and will take some time to get working. Just relax and keep reading and rereading these directions. If you get stuck, don't hesitate to write me or find me at CyberQuest to find out what's up.

Back to Home Page On to How to Make a Jukebox