Before writing an AMX Mod X module, you should have a good understanding of C and pointers.
AMX Mod X modules are significantly more advanced than normal AMX Mod modules. Here are a few main differences:
API - AMX Mod X API is both backwards and forwards compatible. The actual attach interface and function prototypes will never change, what will change is what functions are available.
Metamod - AMX Mod X modules do not attach to Metamod. They attach to a Metamod abstraction layer called FakeMeta - the functionality, however, is the same.
M/SDK - AMX Mod modules are built by manually writing interfaces and including a module header. With AMX Mod X, you simply add an MDK to your project. This MDK includes the memory manager, struct headers, core include references, configuration details, and .def alignment procedures (so you don't need to make a .def file).
AMX Mod X API uses an important function which will return a function pointer from the core based on the request:
void *ReqFuncPtr(cost char *name);
This lets the module retrieve any internally exported function from the AMX Mod X core, so you don't have to recompile the module every time a new function is added to a struct.
To begin, add "amxxmodule.cpp" and "amxxmodule.h" to your project. You will never need to edit these. *
Add "moduleconfig.h". This will let you configure your module. There are a few important sections you should familiarize yourself with. Module Info: Edit the entries to personalize your module. Do not edit __DATE__, this is a macro.
Now you're ready to go onto the next section to see how a basic module works.
* Note - you can get these files from AMX Mod X CVS or by downloading the source code.