RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[RUO ALL] Tour System and Tour Guide

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]
 

Attachments

  • Touring v1.0.rar
    4.8 KB · Views: 143
  • Touring v1.0.zip
    5.8 KB · Views: 107

Grom09

Sorceror
just saw this post now.
brilliant idea, great for players just joining shards to see how it is..
i will definitely download this.
+karma
-------
edit: i see there are a couple problems when trying to customize the tour, no errors or anything that cant be fixed.
the end result is great
 

Fixxxer

Sorceror
This is a great idea, there are a lot of servers with custom locations that players dont know about and this will help the admin and players, excellent addition. Plus in your code your figured out what I was trying to figure out for another code. hehe thanks.
 

test444

Wanderer
great idea thx.. i will try that... just idea... the locations could by in external XML file, so there could be no need to restart shard / recompile scripts to change the tour ;) but its good anyway i will try :D
 

Vorspire

Knight
Actually, I develop most of my systems to support in-game editing, in this case, all you'd really have to do is flag the Destination class as a PropertyObject and flag the public members with the CommandProperty attribute, then you can simply save/load the changes easily by adding a write/read function respectively.

To access the PropertyGump, register a simple command that will call the Destination reference as an argument for the new PropertyGump instance.

If you want to take it a step further, create an interface that can control the system from ingame, which would supply features such as dynamically adding/removing destinations, ordering and prioritising destinations and even editing the TourConfig options.

Take a look at my Item Appraisal system, it basically does what I have explained above.

But as for upgrading this to using XML, I don't see much point in doing so with this system at the moment, it's only a small system that can be dynamically managed by any other innovative means :)
 

PrinceArda

Sorceror
So this is what you have been working on...

You are awesome bro ! :D

and I mean, if i were to cut your wrist, you would bleed pure awesomeness.
 

test444

Wanderer
Thats good tip thx, but i am not author of the script :D

Vorspire;805882 said:
Actually, I develop most of my systems to support in-game editing, in this case, all you'd really have to do is flag the Destination class as a PropertyObject and flag the public members with the CommandProperty attribute, then you can simply save/load the changes easily by adding a write/read function respectively.

To access the PropertyGump, register a simple command that will call the Destination reference as an argument for the new PropertyGump instance.

If you want to take it a step further, create an interface that can control the system from ingame, which would supply features such as dynamically adding/removing destinations, ordering and prioritising destinations and even editing the TourConfig options.

Take a look at my Item Appraisal system, it basically does what I have explained above.

But as for upgrading this to using XML, I don't see much point in doing so with this system at the moment, it's only a small system that can be dynamically managed by any other innovative means :)
 

Vorspire

Knight
test444;805964 said:
Thats good tip thx, but i am not author of the script :D

Nope, you're not :) MY statement was intended to advise you on how you could go about adding in the modifications that you are seeking, however, I don't think I weill be making those modifications or actually updating this system any further :)
 

GhostRiderGrey

Sorceror
Vorspire, thank you for authoring this fine script. We are in the process of testing and implementing it now. No problems so far!

:D GhostRiderGrey
 

GhostRiderGrey

Sorceror
Vorspire;805460 said:
Please do not post help requests or error reports in this thread.

Vorspire, you have asked that help requests/error reports not be posted in this thread. Where might we direct them?

:D GhostRiderGrey
 

DevXLX

Sorceror
hey m8

maybe you can add some config options to avoid players on pvp-servers abusing the tour system :)

I.e you shouldn't be able to use [tour, if you're in combat/being attacked.

maybe a few other things like that in the config, to avoid possible abuse.

That's my feedback & suggestion, cheers & nice script m8.
 

M_0_h

Page
DevXLX;836008 said:
hey m8

maybe you can add some config options to avoid players on pvp-servers abusing the tour system :)

I.e you shouldn't be able to use [tour, if you're in combat/being attacked.

maybe a few other things like that in the config, to avoid possible abuse.

That's my feedback & suggestion, cheers & nice script m8.

Hmm just enable the option allowing only young players to use the tour system?
 

Paradyme

Page
Hmm, seems you can use this anywhere. Might have to add some kind of spellhelper rule so you cant use the command in a dungeon for example. Also my tour stops at britain bridge, the tour guide doesnt show up and im left blessed and unfrozen.
 

Paradyme

Page
Yeah, seems the tour guide himself just stays put at the first location and doesnt come with you to the next one, so it hangs. Using SVN 756.
 
Top