00:00:00.00
This tutorial is going to show how to turn aliases and other things

00:00:05.93
that you may have set up for one world in MUSHclient so they can be used

00:00:11.00
for many worlds. To do that we make a Plugin.

00:00:15.76
Plugins are self-contained collections of aliases, triggers, timers and scripts

00:00:20.03
that can be loaded into as many different world files as you like

00:00:23.73
in other words, for as many different characters as you play on one world

00:00:28.10
or on different worlds, or MUDs.

00:00:31.60
Now, to start off you set up your triggers and aliases the way you want

00:00:40.10
in your standard GUI interface.

00:00:42.83
So, in my example here I have set up a targetting alias in a previous tutorial

00:00:49.10
where you set a target variable, and you can punch, kill or backstab a target.

00:00:55.00
Now, if I wanted to use this for a different character than my current one

00:00:58.56
I would have to have typed it all in again, or maybe just copied and pasted.

00:01:04.13
But to save all this mucking around I'll simply turn them into a plugin.

00:01:08.10
So I'll just close that window and go to the File menu

00:01:11.70
and the Plugin Wizard.

00:01:15.03
Shift + Ctrl + Alt + P

00:01:18.33
Now first we need to choose a name for it, so I'll call it my Targetting_System

00:01:26.63
And the Purpose: to set up a target and attack it

00:01:36.23
Type in your author's name (your name) just so people know who wrote it

00:01:40.00
and the version of MUSHclient needed to run this plugin.

00:01:45.03
The default is the current version, but if you happen to know

00:01:48.26
that you haven't used any commands or features that were released recently

00:01:55.33
you could downgrade that to an earlier version like 4.40 so that people who

00:02:01.13
have got earlier versions can still use the plugin.

00:02:05.66
This checkbox will remove anything you put into the plugin from the world file

00:02:12.00
so you don't have two copies, because if you have two copies it could be confusing

00:02:16.13
because you are going to have two aliases, and two lots of triggers 

00:02:20.00
which are trying to do the same thing.

00:02:23.66
Under the Description you can type in a free-format description for what the plugin does

00:02:29.06
Ah ... "let's you target a mob and attack it" ... and then it is handy to

00:02:37.16
specify what aliases we have used in the plugin. So, I'll say:

00:02:41.26
"Usage:" ... "t <mobname>" ... now just to get the spacing right

00:02:51.06
I might just click on the Edit box so that I get my monospaced font

00:02:58.46
"target a mob" ...

00:03:01.16
"k" ... (I'll just space over there) ... "kill the current target"

00:03:10.20
"p" ... "punch the current target"

00:03:17.83
"bs" ... "backstab the current target"

00:03:25.83
So that will show up if someone wants to look at the description for that plugin.

00:03:33.40
Now it will generate another alias called "Targetting_System:help"

00:03:37.53
which I can just change to "tshelp" and amend my description here ...

00:03:47.80
"type 'tshelp' to see this help" - so that is going to give me another alias.

00:03:58.36
Now we'll move on to see what is going to go into the plugin

00:04:01.23
I have some triggers in my world file but they are nothing to do with targetting

00:04:05.33
so I don't want them to go in, so I'll just click on "Select None".

00:04:08.50
So they are no longer showing up in blue 

00:04:11.66
which means those triggers will not go into the plugin.

00:04:16.33
And the aliases though, I do want there. So if they are the only aliases in my list

00:04:21.76
I'll just leave them as is. 

00:04:23.76
I could say "Select None" and just choose that one, and that one ...

00:04:27.56
by control-clicking, or I could click "Select All" if I happen to want all of them.

00:04:35.16
There's a timer in my world file - I don't want that either

00:04:38.03
it's just doing a "sigh" every minute which you can probably see on the left

00:04:41.13
so I'll click on "Select None" because I don't want that timer to go in the plugin either.

00:04:46.13
Variables ... well we don't need the variables in the plugin because the plugin

00:04:50.40
sets up the variables when you target something, so I'll say "Select None".

00:04:54.80
And we don't need to remember the variables, because we are not using them.

00:04:59.10
In the Script tab, we don't have any scripts, so we can leave that blank

00:05:03.36
and I don't even need the standard constants.

00:05:07.30
Comments - I can put in "written as a tutorial" if I want to.

00:05:14.83
That will appear in the plugin just as a comment to the developer of the plugin (you).

00:05:20.53
When I have finished doing all that I can review it by checking all the tabs again.

00:05:25.83
And then when I am happy with it I'll just click "Create".

00:05:29.63
It will suggest a name "Targetting_System.xml" - that sounds like a good name

00:05:35.63
... it is based on the name I gave to the plugin. I now just click "Save".

00:05:41.50
The plugin has been saved.

00:05:43.60
Now, if I go into my world configuration by clicking on Alt + Enter

00:05:49.70
you'll notice the aliases are gone because they have been moved into the plugin.

00:05:54.46
The triggers are still there, and the timers are still there.

00:06:00.76
So I'll save that world file to commit those changes, so that

00:06:04.96
the removed aliases are no longer in the world file.

00:06:10.10
So, now how do I use the plugin?

00:06:12.73
I'll go to File menu -> Plugins and I'll click on "Add" ...

00:06:17.83
and I'll type in "Targetting_System.xml" which is going to load in my

00:06:25.46
targetting system plugin.

00:06:28.76
Now we can see, in the plugin list, there's the plugin name, its purpose, 

00:06:38.53
the language, and where we are going to find it.

00:06:42.20
If I want to see the description now I just click on "Show Info"

00:06:45.36
I'll close that dialog to get it out of the way

00:06:48.43
and there's the description I typed in.

00:06:51.50
I'll close that now, and I can also type in "tshelp" 

00:06:55.56
and it puts the description on my output window.

00:06:59.70
So, again, I can see how to use the plugin.

00:07:04.56
Now I've got this far, the plugin is operational, so I can now say ...

00:07:08.93
"t naga" and the plugin has now done its stuff 

00:07:15.33
which is to change the target to the naga.

00:07:18.26
I'll type in "k" to kill the naga and that's now doing what I did in the other tutorial

00:07:23.93
... but it is now built into a plugin.

00:07:27.70
If I do ever want to change the way the plugin behaves

00:07:32.23
I can bring up the plugin list again and click on "Edit" 

00:07:39.66
to edit the plugin, and now it shows the plugin inside a notepad window

00:07:48.13
and in there are the aliases inside the plugin and I if needed to change

00:07:53.96
the way they worked I could just edit that and save it.

00:07:59.30
So, that shows how quickly and easily you can make a targetting, or any sort

00:08:05.23
of plugin in MUSHclient and then that same plugin could be loaded into different

00:08:10.20
worlds and give you exactly the same behaviour.

00:08:13.10
If you ever find a problem in the plugin then you only have to change one spot

00:08:17.40
and all the world files that use that plugin will get the improved plugin.

00:08:22.56
Thank you for watching.

