KildClient Manual

Version 2.5.0

Eduardo M Kalinowski


Table of Contents
I. KildClient User's Guide
1. Introduction
2. Running KildClient
3. Basic Usage
3.1. Connecting to a MUD
3.2. Interacting with the MUD
3.3. Closing Worlds and Exiting KildClient
3.4. Searching Text
4. Editing a World
4.1. General
4.2. Display settings
4.3. Input
4.4. Automation
4.5. Protocols
4.6. Miscellaneous
4.7. Advanced
5. Configuring KildClient
5.1. Appearance
5.2. Sending
5.3. External Programs (Linux)
6. Menu Reference
6.1. World menu
6.2. Edit Menu
6.3. Input Menu
6.4. Preferences Menu
6.5. Help Menu
7. Using Perl in KildClient
7.1. The Basics
7.2. Echoing and Sending Text
7.3. Playing Sounds
7.4. Saving Variables Permanently
7.5. Controlling Worlds with Perl
8. Triggers
8.1. Creating and Editing Triggers
8.2. Changing the Style of the Matched Text
8.3. Defining Triggers in the Command Line
8.4. Importing and Exporting
8.5. Testing Triggers
9. Aliases
9.1. Creating and Editing Aliases
9.2. Defining Aliases in the Command Line
10. Macros
10.1. Creating and Editing Macros
10.2. Defining Macros in the Command Line
11. Timers
11.1. Creating and Editing Timers
11.2. Defining Timers in the Command Line
12. Hooks
12.1. Creating and Editing Hooks
12.2. Defining Hooks in the Command Line
13. Plugins
13.1. Loading Plugins from the Command Line
13.2. Getting Information About Plugins
13.3. Standard Plugins
14. Logging the Output
15. Using the Chat
15.1. Basic Usage
15.2. Advanced Features
15.3. Chat Functions
II. KildClient Programmer's Reference
A. Global Function Reference
A.1. colorize
A.2. getversion
A.3. getwindowsize
A.4. getworld
A.5. gotow
A.6. help
A.7. minimize
A.8. path
A.9. play
A.10. quit
A.11. stripansi
A.12. stripcolorize
B. $world Reference
B.1. $world->{SILENT}
B.2. $world->alias
B.3. $world->close
B.4. $world->aliasenabled
B.5. $world->commandecho
B.6. $world->connectother
B.7. $world->dc
B.8. $world->delalias
B.9. $world->delhook
B.10. $world->delmacro
B.11. $world->deltimer
B.12. $world->deltrigger
B.13. $world->disalias
B.14. $world->dishook
B.15. $world->dismacro
B.16. $world->displugin
B.17. $world->distimer
B.18. $world->distrigger
B.19. $world->echo
B.20. $world->echonl
B.21. $world->echonlandlog
B.22. $world->enaalias
B.23. $world->enahook
B.24. $world->enamacro
B.25. $world->enaplugin
B.26. $world->enatimer
B.27. $world->enatrigger
B.28. $world->gag
B.29. $world->getconntime
B.30. $world->getentryfont
B.31. $world->getidletime
B.32. $world->getkeycode
B.33. $world->getmainfont
B.34. $world->getname
B.35. $world->getpluginversion
B.36. $world->hook
B.37. $world->hookenabled
B.38. $world->listalias
B.39. $world->listhook
B.40. $world->listmacro
B.41. $world->listpermanent
B.42. $world->listplugin
B.43. $world->listtimer
B.44. $world->listtrigger
B.45. $world->loadplugin
B.46. $world->logfile
B.47. $world->macro
B.48. $world->macroenabled
B.49. $world->movetimer
B.50. $world->makepermanent
B.51. $world->maketemporary
B.52. $world->movealias
B.53. $world->movehook
B.54. $world->movemacro
B.55. $world->movetrigger
B.56. $world->next
B.57. $world->prev
B.58. $world->reconnect
B.59. $world->requireplugin
B.60. $world->save
B.61. $world->send
B.62. $world->sendecho
B.63. $world->sendfile
B.64. $world->sendnoecho
B.65. $world->setstatus
B.66. $world->timer
B.67. $world->timerenabled
B.68. $world->trigger
B.69. $world->triggerenabled
B.70. $world->writetolog
C. Using KCWin for Input/Output Windows
C.1. Changes from Previous Versions
C.2. KCWin::get_text
C.3. KCWin::set_text
C.4. KCWin::feed
D. Writing Plugins
D.1. The File Format
D.2. A Sample Plugin
D.3. Disposing Data When the Plugin Is Unloaded
D.4. Enabling and Disabling Plugins
D.5. Conditional Loading of Plugins
D.6. Using GTK+ From Plugins
D.7. Plugin Conventions
List of Figures
3-1. When KildClient is first started, you are asked to connect to a world
3-2. A typical KildClient session with two open Worlds
4-1. The General section of the World Editor
4-2. The Main Window section of the World Editor
4-3. The Colors section of the World Editor
4-4. The Status Bar section of the World Editor
4-5. The Input section of the World Editor
4-6. The Scripting section of the World Editor
4-7. The Protocols section of the World Editor
4-8. The Miscellaneous section of the World Editor
4-9. The Advanced section of the World Editor
5-1. The Appearance section of the Preferences dialog
5-2. The Sending section of the Preferences dialog
5-3. The External Programs section of the Preferences dialog
6-1. Command History Dialog
6-2. Multi-Line Send
7-1. Permanent Variables
8-1. The graphical Trigger editor
8-2. The window to edit triggers
8-3. The window to configure style
8-4. The test triggers window
9-1. The graphical Alias editor
9-2. The window to edit aliases
10-1. The graphical Macro editor
10-2. The window to edit macros
11-1. The graphical Timer editor
11-2. The window to edit timers
12-1. The graphical Hook editor
12-2. The window to edit hooks
13-1. The Plugin list
D-1. The Plugin Header
List of Examples
8-1. A very simple trigger
8-2. A trigger with an action in Perl
8-3. A trigger that calls a sub-routine
8-4. A simple gag
8-5. A gag with no action
8-6. A shortcut function to define gags
8-7. Rewriting a line with gags
8-8. A case-insensitive trigger
8-9. A profanity filter, that unfortunately does not work
8-10. A profanity filter using a rewriter trigger
8-11. Changing several attributes at once
8-12. A very simple trigger, in another way
8-13. Disabling a trigger, the long way
8-14. Disabling a trigger, the short way
8-15. Creating a trigger with a name
9-1. A simple alias
9-2. A slightly more complex alias
9-3. An alias that uses bracketed expressions
9-4. An alias whose substitution is evaluated:
9-5. A case-insensitive alias
9-6. Disabling an alias, the long way
9-7. Disabling an alias, the short way
9-8. Creating an alias with a name
10-1. Defining a macro
10-2. Disabling a macro, the long way
10-3. Disabling a macro, the short way
10-4. Creating a macro with a name
11-1. A simple timer
11-2. A timer that executes only five times
11-3. A one-shot timer
11-4. Changing the interval of a timer
11-5. Changing the interval of a timer
11-6. Disabling a timer, the short way
11-7. Creating a timer with a name
12-1. Connecting a hook
12-2. Disabling a hook, the long way
12-3. Disabling a hook, the short way
12-4. Creating a hook with a name
13-1. Loading a plugin
13-2. Loading a plugin specifying the full filename
13-3. Getting help about a plugin
14-1. Enabling logging
A-1. Quitting from another world
B-1. Changing styles with triggers
D-1. A Sample Plugin
D-2. Conditional loading of plugins
D-3. A plugin that requires another
D-4. A plugin that uses gtk2-perl