-------------------------------
SendTo_v07 by {LSN}Meindratheal
-------------------------------
Note: There is also a version of this that works with Nexgen112. If you are running
Nexgen then I would advise you to use NexgenSendToWebsite112 instead.

-----------
What Is It?
-----------
SendTo enables you to add extra say commands to link to Internet pages, other
servers, and the like.
This is the next incarnation of SendToWebsite. It was renamed because websites
are not the only place you can SendTo now.


-----------------------
Installing from scratch
-----------------------
1. Ensure your server is properly shut down.

2. Copy the following files to your server's System folder:
    SendTo_v07c.u

3. If your server uses file redirect, upload SendTo_v07c.u.uz
   to the redirect file server.

4. Open your server's INI file, and add the following lines to [Engine.GameEngine]:

    ServerPackages=SendTo_v07c

    If you are using this as a ServerActor, also add this:

    ServerActors=SendTo_v07c.STWActor

    or

    ServerActors=SendTo_v07c.STWActorExt

    depending on whether you want the configuration to be help within the server's
    INI file, or externally in SendTo.ini

    Otherwise, add this to your server's mutator line:

    SendTo_v07c.STWMut

    or

    SendTo_v07c.STWMutExt

    depending on whether you want the configuration to be help within the server's
    INI file, or externally in SendTo.ini


5. Enter the details for each command, using the correct format (see Format)

6. Save the changes to the INI file and restart the server.

--------------------------------
Upgrading from SendTo_v07a
--------------------------------
1. Ensure your server is properly shut down.

2. Copy the following files to your server's System folder:
    SendTo_v07c.u

3. If your server uses file redirect, upload SendTo_v07c.u.uz
   to the redirect file server.

4. Open your server's INI file, and replace the following in [Engine.GameEngine]:

    ServerPackages=SendTo_v07b

    changes to

    ServerPackages=SendTo_v07c


    If you are using this as a ServerActor, also change this:

    ServerActors=SendTo_v07b.STWActor

    to

    ServerActors=SendTo_v07c.STWActor

    or

    ServerActors=SendTo_v07b.STWActorExt

    to

    ServerActors=SendTo_v07c.STWActorExt


    depending on whether you want the configuration to be held within the server's
    INI file, or externally in SendTo.ini

    Otherwise, in your server's mutator line, change this:

    SendTo_v07b.STWMut

    to

    SendTo_v07c.STWMut

    or

    SendTo_v07b.STWMutExt

    to

    SendTo_v07c.STWMutExt

    depending on whether you want the configuration to be help within the server's
    INI file, or externally in SendTo.ini


5. If you are using the server's configuration file, rename the part in your server's INI
   titled [SendTo_v07b.STWMut] to [SendTo_v07c.STWMut] .
   Otherwise, rename the part in SendTo.ini titled [SendTo_v07b.STWMutExt] to [SendTo_v07c.STWMutExt].

6. Save the changes to the INI file(s) and restart the server.


----------------
List of Commands
----------------
These are the currently supported commands.

!STWHelp                  Shows the commands you specify.

Of course, the extra commands you add in will be supported.
If they weren't, this would be useless :D

Your custom commands can either be called by saying them exactly as written in the
configuration, or by typing 'mutate STW <yourcommand>' in the console.


------
Format
------
If you run this mod once, it will create a new section at the bottom of your
server's INI file. Edit this to your liking.

Generic Settings:

    bShowHelpMessage=True        Shows a message saying 
                                 'say !STWHelp for a list of available commands.'
    bShowCommandsOnJoin=True     Shows the messages for all commands with bAdvertise
                                 set.

Per-Command Settings:

    bAdvertise[0]=1              Set to 0 if you don't want this to be shown anywhere,
                                 in the help, e.g. for an admin-only forum.
    bHideCmd[0]=0                Set this to 1 if you don't want the command to be
                                 broadcast. For example, if you have an admin forum
                                 with !A as the command, and bHideCmd is 1 for this
                                 then no-one else will see the !A message when someone
                                 says it. This does not stop people using it though!
    Message[0]=                  The help message. Make sure it tells users what the
                                 command actually is (e.g. 'Type !F to visit the forum').
                                 If bAdvertise is 0 for this command, then Message can
                                 be left blank.
    LongCmd[0]=                  The long version of the command (e.g. !Forum). Must be
                                 preceded by an exclamation mark (!)
    ShortCmd[0]=                 The short version of the command (e.g. !F). Must be
                                 preceded by an exclamation mark (!)
    TargetURL[0]=                The actual web address to link to (e.g. www.UnrealAdmin.org).
                                 If you are linking to a UT server, it must be written as
                                 unreal://<your-ip>:<port>

You can have up to 64 different command lists, and you may have multiple commands linking to
the same website.

For a quick template, look at the INIFormat.txt file.

WARNING: Although conflicts are checked for and warned about for custom commands, there is no
such checking for Nexgen commands or similar. Therefore, it is up to you to make sure commands
don't conflict with other mods.


-------
Contact
-------
You can find me on the UnrealAdmin.org and UT99.org forums, under the name
'Meindratheal'. I am not the best at writing UnrealScript, since I can only
do it in my spare time, but I am willing to try to make a mod for people,
so if you have any reasonable requests then ask away!


-------
Credits
-------
Daan 'Defrost' Scheerens: First and formemost, for creating such a brilliant
                          server controller, and for leaving the code intact.
                          I have learnt most of my coding from Nexgen, so I
                          thank you. I have used a few bits and pieces from
                          Nexgen, notably the say command detection.
iloveut99:                The code you showed me was helpful in writing this.
back4more:                The suggestions you gave were good, so I implemented them
The UnrealWiki:           The Offline Wiki has been invaluable for me, however
                          old it may be. It has been the other key element in
                          my UScript learning. Thanks go out to all contributors!
The UnrealAdmins forum:   I wrote this for you guys, and I think it might actually
                          be quite useful to people. Nice idea!

Other: Please do not re-compile the SendTo_v07c package, as
it may cause version mismatches. Source code is included so
you can see how it works. If you do recompile it, then a) make
a post in the forum thread on UnrealAdmin saying what you changed
(it might be a major bug, it might just be preference) b) make
sure you give it a new, non-generic name, and c) keep me credited!

---------
Changelog
---------
Version 0.7c:
--Fixed the external configuration loader

Version 0.7b:
--Removed some old debugging code
--Added the option to use an external configuration (choose the correct ServerActor)

Version 0.7a:
--Fixed bHideCmd not working (I think)

Version 0.7:
--Fixed a few minor bugs
--Added the 'ListLinks' command
--Changed the list size to 64

Version 0.6:
--Brought it roughly on par with the Nexgen version.
   Fixed bugs with validation, URL's and the bHidden flag.

Version 0.5:
--Initial release.