Vorspire
Knight
Tour System and Tour Guide
----------PACKAGE:
----------
namsepace Server.Touring
----------
Click file names to view code.
¬Touring
----------
----------
OVERVIEW:
----------
----------
This system was designed to provide the means for Players to take a tour of the server and have each destination explained to them as they travel by a tour guide (optional).
When a Player uses the [tour command, they will embark on a tour of teleportation, which visits the specific custom destinations around your shard.
You can optionally have Tour Guides spawned at the destinations, which will talk to the touring Player and give them information about their current point of interest.
Tour Guides are Hidden and completely invisible to anyone who is not taking the Tour.
If you chose to disable the Tour Guides, the Player will receive private messages with the location information instead.
A custom delay can be set for each destination you add; This delay is the length of time that they spend at that specific destination. You may want to increase the delay in scale with the length of your custom description text, as this will prevent message flooding.
You can optionally allow only young players to be able to take the Tour.
When the Tour is over, the Player is then teleported back to their original location upon initial use of the [Tour command.
Players are Frozen, so they can not move while on the Tour.
Players are also Invulnerable/Blessed while on the Tour.
All Tour Guides are Invulnerable/Blessed and Frozen.
Tour Guies can not be discovered by other Players and should not receive any messages when trying to move over a hidden Mobile.
The entire system supports both RunUO 1.0 and 2.0+ as far as I'm aware.
------------------------------------------------------------
If you wish to interconnect another script on your server with the Touring system, you may use this event handler (pseudo-code example):
[syntax]
using System;
using Server;
using Server.Touring;
namespace Server
{
public static class HelloWorld
{
public static void Initialize( )
{
Tour.DestinationChanged += new DestinationChangedEventHandler( Tour_OnDestinationChanged );
}
private static void Tour_OnDestinationChanged( DestinationChangedEventArgs e )
{
Mobile m = e.Mobile;
Destination dest = e.Destination;
}
}
}
[/syntax]