1 |
root |
1.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. |