| 1 |
Plugin Information: |
| 2 |
This plugin information is provided by Yann Chachkoff |
| 3 |
|
| 4 |
Administrative commands (only available in DM mode): |
| 5 |
---------------------------------------------------- |
| 6 |
pluglist |
| 7 |
|
| 8 |
Lists all loaded plugins. Each plugin is identified in Crossfire by a |
| 9 |
keyword; pluglist shows those keywords, as well as a short text describing |
| 10 |
each plugin (usually a version string). If no plugin is loaded, the list will |
| 11 |
simply appear empty. The keyword for the Python plugin is Python. |
| 12 |
|
| 13 |
plugout <keyword> |
| 14 |
|
| 15 |
Unloads a given plugin, identified by its _keyword_. So if you want to unload |
| 16 |
the Python plugin, you need to do 'plugout Python'. |
| 17 |
|
| 18 |
plugin <libname> |
| 19 |
|
| 20 |
Loads a given plugin, whose _filename_ is libname. So in the case of Python, |
| 21 |
you'd have to do a 'plugin plugin_python.so.0.1'. Note that all filenames are |
| 22 |
relative to the default plugin path (SHARE/plugins). |
| 23 |
|
| 24 |
Console messages. |
| 25 |
----------------- |
| 26 |
When Crossfire starts, it tries to load all available files in the |
| 27 |
SHARE/plugins directory as plugin libraries. It first displays the |
| 28 |
'Initializing plugins:' message. Whenever a plugin has been loaded, the plugin |
| 29 |
has the opportunity to signal itself by a message on the console. Then the |
| 30 |
server displays an informative message containing both the plugin content and |
| 31 |
its keyword. For the Python plugin, the standard load process thus gives: |
| 32 |
|
| 33 |
Initializing plugins : |
| 34 |
-> Loading plugin : plugin_python.so |
| 35 |
Plugin CFPython Plugin 0.7 (Koursk) loaded under the name of Python |
| 36 |
Done |
| 37 |
|
| 38 |
When a plugin has been loaded, it can request to be warned whenever a global |
| 39 |
event occurs (global events are 'shout', 'login', 'death', and so on). When a |
| 40 |
plugin makes such a request, a message is displayed in the console log: |
| 41 |
|
| 42 |
Plugin Python (0) registered the event 13 |
| 43 |
|
| 44 |
It simply tells that the plugin associated with the keyword 'Python' asked to |
| 45 |
be warned whenever the global event Nr. 13 ('New player born') occurs. A |
| 46 |
complete list of events is available in the include/plugin.h file. |
| 47 |
|
| 48 |
Specific notes related to the Python plugin. |
| 49 |
-------------------------------------------- |
| 50 |
The Python plugin supports all global events. The constant PYTHON_DEBUG |
| 51 |
defined at the start of the plugin_python.c file increases the verbosity of |
| 52 |
the plugin. |
| 53 |
|
| 54 |
Global event scripts go into SHARE/maps/python/events, and are named |
| 55 |
python_xxx.py, where xxx is the name of the global event to intercept. If the |
| 56 |
file doesn't exist, nothing will happen. |
| 57 |
|
| 58 |
Some problems have already been reported about the autodetection of the Python |
| 59 |
libraries. Don't forget that you need the development files of Python (it |
| 60 |
means the 'libpython2.x.a' and some header files, including 'Python.h'). If |
| 61 |
configure fails whatever you try, you can still try to edit the plugin |
| 62 |
Makefile by hand. You need to: |
| 63 |
- Add your Python headers path to the INCLUDES= line. (for example: |
| 64 |
-I/usr/include/python2.2); |
| 65 |
- Add your Python library path to the PYTHON_LIB= line. (for example: |
| 66 |
/usr/lib/python2.2/config/libpython2.2.a) |
| 67 |
And then build the plugin after the server. Although I do not recommend this |
| 68 |
technique, it may help sometimes. |
| 69 |
|
| 70 |
Status of the logger and animator plugins isn't known. |