This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
server_plugin [2017/07/29 21:41] partmedia Gdeath is actually player_death |
server_plugin [2018/03/30 08:19] karl link to files to be moved from the root of this wiki into namespaces |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== General information ====== | + | ====== Crossfire Server Plugins ====== |
- | Plugins enhance the game with optional features. | + | ===== General information ===== |
+ | |||
+ | Plugins enhance the Crossfire game with optional features. | ||
They allow for special behaviours that can't be done through simple mapping, or require complex scripting actions - the only thing limiting is the imagination of the coder! | They allow for special behaviours that can't be done through simple mapping, or require complex scripting actions - the only thing limiting is the imagination of the coder! | ||
Current examples include: | Current examples include: | ||
- | * message boards, on which players can leave messages | + | * Message Boards, on which players can leave messages |
* Imperial Post Office, that lets players exchange ingame mail | * Imperial Post Office, that lets players exchange ingame mail | ||
- | * playing slot machines at casinos | + | * Playing Slot Machines at casinos |
- | * [[:dev_todo:python_guilds|improved guild system]] - currently being tested | + | * [[:dev_todo:python_guilds|Improved Guild System]] - currently being tested |
Line 17: | Line 19: | ||
Currently existing plugins are : | Currently existing plugins are : | ||
^ Name ^ Description ^ Status ^ Title for the event object ^ | ^ Name ^ Description ^ Status ^ Title for the event object ^ | ||
- | | [[cfanim]] | animate objects | experimental | Animator | | + | | [[:server:plugin:cfanim]] | animate objects | experimental | Animator | |
- | | [[cfpython]] | run Python scripts | working | Python | | + | | [[:cfpython:]] | run Python scripts | working | Python | |
- | | [[cflogger]] | logs events to a SQLITE database | experimental | SqliteLogger | | + | | [[:server:plugin:cflogger]] | logs events to a SQLITE database | experimental | SqliteLogger | |
- | | [[cfnewspaper]] | newspaper generation | experimental | Newspaper | | + | | [[:server:plugin:cfnewspaper]] | newspaper generation | experimental | Sqlite Newspaper, needs cflogger | |
- | | [[citylife]] | adds/removes NPCs in maps, to make towns lively | apparently stable | citylife | | + | | [[:server:plugin:citylife]] | adds/removes NPCs in maps, to make towns lively | apparently stable | citylife | |
- | | [[cfrhg]] | random house generator, adds random maps to unlinked exits in specified maps | apparently stable | cfrhg | | + | | [[:server:plugin:cfrhg]] | random house generator, adds random maps to unlinked exits in specified maps | apparently stable | cfrhg | |
- | | <del>[[cf_darcap]]</del> | <del>Darcap specific plugin, handling various things</del> | <del>needs testing</del> replaced by quest/dialog mechanism | | + | | <del>[[:server:plugin:cf_darcap]]</del> | <del>Darcap specific plugin, handling various things</del> | <del>needs testing</del> replaced by quest/dialog mechanism | |
| template | not a real plugin, but a skeleton to create new ones | up-to-date | | | | template | not a real plugin, but a skeleton to create new ones | up-to-date | | | ||
Line 161: | Line 163: | ||
| Clock | Generated at each game loop. | (none) | When no player is logged, the loop "stops", meaning that clock events are not generated anymore! | | | Clock | Generated at each game loop. | (none) | When no player is logged, the loop "stops", meaning that clock events are not generated anymore! | | ||
| Crash | Generated when a server crash does occur. It is not a recursive event, so if a crash occur from *inside* the crash event handling, it is not called a second time, preventing infinite loops to occur. | (none) | This event is not implemented for now. | | | Crash | Generated when a server crash does occur. It is not a recursive event, so if a crash occur from *inside* the crash event handling, it is not called a second time, preventing infinite loops to occur. | (none) | This event is not implemented for now. | | ||
- | | player_death | Generated whenever a player dies. | ''object*'' pointing to player, ''object*'' pointing to killer (can be NULL). | | | + | | PLAYER_DEATH | Generated whenever a player dies. Note that CFPython calls this the 'death' event. | ''object*'' pointing to player, ''object*'' pointing to killer (can be NULL). | | |
| Gkill | Generated whenever something/someone is killed. | ''object*'' pointing to dead object, ''object*'' pointing to killer. | | | | Gkill | Generated whenever something/someone is killed. | ''object*'' pointing to dead object, ''object*'' pointing to killer. | | | ||
| Kick | Generated when a player was kicked by a DM. | ''object*'' pointing to kicked player, ''const char*'' containing the parameter the DM used to kick | | | | Kick | Generated when a player was kicked by a DM. | ''object*'' pointing to kicked player, ''const char*'' containing the parameter the DM used to kick | | |