Если точнее то, сначала зарегстрировать, а в нужном моменте кода вызывать функцию ExecuteForward, которая будет взывать созданный форвард в функции CreateMultiForward. Но не буду особо забегать в перед.
Инфо из amxmodx.inc:
/**
* executes a forward. returns result in ret.
* returns 1 for success, 0 for failure.
*/
native ExecuteForward(forward_handle, &ret, any:...);
Синтаксис:
ExecuteForward(forward_handle, &ret, any:...)
- forward_handle - id зарегистрированного форварда
- &ret - Получаем результат от функции ( зависит от второго аргумента функции CreateMultiForward)
- any:... - Переменные с данными, которые нужно отослать в функцию.
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "[amxmodx.inc] ExecuteForward"
#define VERSION "1.0"
#define AUTHOR "Admin"
new g_fwd_first
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
g_fwd_first = CreateMultiForward("my_first_multi_forward", ET_CONTINUE, FP_CELL,FP_CELL)
server_print("Forward[%d]",g_fwd_first)
}
public client_connect(id){
new num = 5
new ret
ExecuteForward(g_fwd_first,ret,id,num)
//Результат будет естественно 0, так как у нас нету
//Второго плагина с функцией my_first_multi_forward
server_print("ret[%d]",ret)
}
Описание:
Что бы не выдумывать сложных событий, возьмем и сделаем внутри события client_connect, еще одно свое.
( Допустим можно было бы поставит условие, что это событие выполняется только если игрок зашел после 11 вечера, или в обще в любой нужный вам момент кода)
При регистрации форварда указано что будет 2 параметра ( и оба с типом число), по этому в функции у нас получатся:
// второе число
new num = 5
//переменная куда придет результат
new ret
//Вызов форварда
ExecuteForward(g_fwd_first,ret,id,num)
Содержание функции:
//g_fwd_first - id зарегистрированного форварда
//ret - переменная для получения результата
//id - айди игрока
//num - еще одна переменная для наглядности
//ret - переменная для получения результата
//id - айди игрока
//num - еще одна переменная для наглядности
Дальше вы спросите как же использовать это в другом плагине, ответ прост - необходимо в вашему плагину рассказать о функции my_first_multi_forward, и использовать ее как другую forward функцию согласно синтаксису. Не понятно? Не переживайте, очень скоро напишу урок, можно сказать третью часть о функциях
1)CreateMultiForward
2)ExecuteForward
3)Использование в других плагинах.