## 13.3. Standard Plugins

KildClient comes with a few plugins as part of its distribution. These plugins will be described here. You can load these plugins as described above.

### 13.3.1. easypath

This plugin makes the use of paths (see Section 7.2.1, “Paths and Speed-Walking”) easier. When this plugin is loaded, you can type `#2n3e{sw}` instead of `/$world->path("2n3e{sw}")`.

### 13.3.2. keypad

This plugin allows use of the keypad for movement. Pressing the left arrow of the numeric keypad moves to the east, pressing the up arrow moves to the north, and so on.

A few other keys of the keypad are also bound: - and + represent down and up, respectively. 5 sends `who`, 0 sends `look`, / sends `inventory` and * sends `score`.

The Num Lock key must be off for this plugin to work.

### 13.3.3. notes

This plugin allows you to assign notes to World. The notes are saved with the World and are restored when it is opened again. You can write anything you want, probably it will be something you want to remember for that World.

This plugin requires the gtk3-perl bindings, because it has a graphical user interface.

Type `/notes::edit` to open a window where you can edit the notes. When you are finished, press the Close button. The notes are saved automatically.

Use the `notes::clear` function to clear the whole contents of the notes.

It is also possible to append something to the notes with `notes::append('text')`. This is probably more useful in scripts.

### 13.3.4. kc256

This plugin demonstrates a useful extension to the 16 ansi colors that KildClient supports. This is the same 256-color extension supported by xterm (if it is complied with support for that).

With this extension, you can specify any color in a 6x6x6 RGB color cube, that is, you have 216 rgb colors at your disposal, plus 24 shades of gray. (The remaining 16 colors are the standard ansi colors.)

There are two functions in this sec_plugin_

`kc256::showcolors`: Displays all 216 available RGB colors and the 24 shades of grey in nice tables, with the values that you can use in `colorize` to access them.

`kc256::rainbowtext(`$string`)`: Just a demonstration on how (not to) use the colors. Displays `$string`, one character in a different color.

### 13.3.5. channels

Channels is a simple plugin to yank lines out of the world window and put then in other windows. It's most obvious use is chat channels, which usually have something like `"[NAME]"` at the beginning.

Once the plugin is loaded, there is only one function to call:

`channels::new(`"name"`, `"regex"`);`

where `"name"` is the name that should appear in the title bar of the new window, and `"regex"` is the pattern to match for text.

Use `channels::list()` for a list of currently defined channels. To remove a channel, use `channel::del(`num`)`, where num is the number of the channel.

### 13.3.6. Other Plugins

The `KCWin` plugin allows you to create general purpose windows a terminal for output and an entry box for input. These windows do nothing by themselves, but they can be used by other plugins when they need a window for input and output.

Since this plugin is just a helper for other plugins, it is not described here, but rather in Appendix D, Using KCWin for Input/Output Windows.

The `chat` plugin allows peer to peer chat with other users of KildClient and of other clients that support the MudMaster or zChat protocols. It is described in its own chapter, Chapter 15, Using the Chat.

The `serverdatadumper` is a plugin to help develop or debug plugins that use out-of-band server data. See Chapter 16, Out-of-band server data.