Инфо из amxmodx.inc:
/* Registers a NATIVE. When a plugin uses your native (you should distribute a .inc),
* the handler will be called with two parameters: the calling plugin id, and the
* number of parameters.
* If you set style=1, the method of parameter passing is a tad more efficient.
* Instead of "id, numParams", you label the native exactly as how the parameters
* should, in theory, be sent. Then for each byreference parameter, you call
* param_convert(num). This is theoretically more efficient but quite hacky.
* The method was discovered by dJeyL, props to him!
*/
native register_native(const name[], const handler[], style=0);
Синтаксис:
register_native ( const name[], const handler[], [ style = 0 ] )
- const name[] - Имя функции для других плагинов
- const handler[] - Исполняемая функция
- [ style = 0 ] - Используйте 1. Это позволит вам передавать параметры как в обычных функциях. А не париться с получением количества параметров и каждого из них по отдельности.
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "[amxmodx.inc] plugin_natives "
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
}
public plugin_natives ( ){
register_library("my_plugin")
register_native("get_my_info", "native_get_my_info", 1)
}
public native_get_my_info(id,param){
//code
}
Описание:
Для упрощения читаемости кода, многие авторы плагинов, исполняемую натив функцию называют с префиксом native_
В данном примере мы зарегистрировали библиотеку и нашу функцию, обратите внимание что исполняемая функция обязана существовать!