Deathmatch Mod

.News
.About
.Download
.Installation
.Documentation
.Servers

.Forums
.FAQ
.CS:S Version
.Credits
.Changelog

AMX Mod X


Note: This documentation applies to CSDM 2.1+. Click here to get the CSDM 2.00 documentation. Click here to get the CSDM 1.70 documentation.

CSDM Documentation:
  1. Installation
  2. Configs
  3. Commands
  4. Coding
  5. Support

Configs:

You can configure CSDM by looking at addons/amxmodx/configs/csdm.cfg. This file is organized into sections, and each section is controlled by one or more plugins. These variables are not CVARs! If you change the value of a setting, you should use the csdm_reload admin/console command to refresh CSDM (or change the map). Each variable is explained with a comment.

Spawn configuration files are kept in addons/amxmodx/configs/csdm. Item configuration files are kept in addons/amxmodx/configs/csdm/items. You can use the "edit_spawns" command to create/edit spawns for maps, and then look for the corresponding file to redistribute it. There is no item editor at the moment.

You can have per-map configuration files with CSDM. When doing this, you can strip the config file to only have differences from the master csdm.cfg. This means you can have a file called "disable-csdm.cfg" with just the following settings (or similar). To read more, see Q1 of the FAQ.

[settings]
enabled = 0


Commands:
Admin Commands
Command What it Does Plugin Access Level
csdm_enable
csdm_disable
Switches whether CSDM mode is on or off. csdm_main f
csdm_reload Reloads the csdm.cfg config file. csdm_main f
csdm_menu Shows the CSDM admin menu. csdm_main u
edit_spawns Shows the spawn editing menu (for adding or changing map support). Map config files are stored in configs/csdm. spawn_editor f
csdm_cache Developers - shows information about the CSDM runtime cache. csdm_main f
guns, /guns, menu, enablemenu, enable_menu Saying any of these re-enables the equip menu. csdm_equip ANY
csdm_ffa_enable, csdm_ffa_disable, csdm_ffa_ctrl Enable/Disable/Menu for FFA Mode. csdm_ffa f


Coding:

CSDM 2.1 is modular. The base portion is a module built to handle and capture primitive events, as well as express things which would be computationally expensive as a plugin. It is optimized for efficiency.

The idea behind CSDM 2.1 is rather than including every portion in one plugin, developers can write simple addons, using the basic events provided by the module. This way, using other modules or expensive parsing is usually not necessary. For a full reference of CSDM 2.0's API, you should see csdm.inc in the scripting/include folder of the CSDM download, or view it on CVS: csdm.inc. A good example of a simple plugin using the API is csdm_tickets.sma.

The module automatically respawns players whenever a player joins, a round restarts, or a player dies. The spawn events allow plugins to interrupt or hook various importat stages in a player's death/revival. The module makes no attempt to spawn players in a certain location, it simply revives them. Instead, it allows "spawn handlers" to attach. The current spawn style handler (set by csdm_main) is notified when it can relocate a player.

The module handles the following things, notifying plugins:

  • Round restarts
  • Player deaths (you can block respawning)
  • Player spawns (both "fake" and "real")
  • Configuration file settings
  • State Changes

Lastly, the module also contains fast routines for common things, such as setting/retrieving player positions, respawning players through the CSDM interface, and removing weapons from the world or players.


Support:

I do not officially support CSDM, as it as an open-source project I created in my free time.

However, if you've read the manual and speak English, I might be able to help you out. I also take bug reports. You can find me:

Note: I will ignore ignore you if it is clear that you have not read the documentation.