(nota : cine vrea sa contribuie lasati reply aici + reply opinie)
Pas 1:
Include amxmodx default
Code: Select all
#include <amxmodx>
Creiem o variabila globala
Code: Select all
new test;
In plugin_init() inregistram forwardul
Code: Select all
public plugin_init()
{
test = CreateMultiForward("jucatorul_moare", ET_IGNORE, FP_CELL)
}
Inregistram in plugin_init() un event default sa zicem DeathMsg
Code: Select all
public plugin_init()
{
test = CreateMultiForward("jucatorul_moare", ET_IGNORE, FP_CELL)
// Inregistram un event default
register_event("DeathMsg", "My_Func", "a");
}
Inauntru publicului chemam forward-ul folosind functia "ExecuteForward"
Code: Select all
public My_Func()
{
new victim = read_data(1);
new ret;
ExecuteForward(test,ret,victim) // test e variabila globala + unde am inregistrato in plugin_init , ret e return type, si victim e "cui sai cheme eventul" //
}
Code: Select all
forward jucatorul_moare(id);
#include <amxmodx>
public jucatorul_moare(id)
{
client_print(id, print_center, "Ai murit !!");
}
Alte infromatii
Code: Select all
#define ET_IGNORE 0 //ignore valuarea returnata
#define ET_STOP 1 //stop on PLUGIN_HANDLED
#define ET_STOP2 2 //la fel, doar ca return mai are
#define ET_CONTINUE 3 //nu se opreste, return mai mare !
Code: Select all
#define FP_CELL 0
#define FP_FLOAT 1
#define FP_STRING 2
#define FP_ARRAY 4
Alte exemple
Code: Select all
#include <Amxmodx>
new ret,test;
public plugin_init()
{
test = CreateMultiForward("jucatorul_a_intrat_pe_server", ET_IGNORE, FP_CELL)
}
public client_putinserver(id)
{
ExecuteForward(test, ret, id);
}
Code: Select all
#include <Amxmodx>
new ret,test;
public plugin_init()
{
test = CreateMultiForward("jucatorul_se_connecteaza", ET_IGNORE, FP_CELL)
}
public client_connect(id)
{
ExecuteForward(test, ret, id);
}
O metoda mai buna de a scrie 3 forward-uri deodata pentru a va da o idee de baza cum se foloseste !
Code: Select all
#include <Amxmodx>
new ret
new frds[4]
public plugin_init()
{
frds[1] = CreateMultiForward("jucatorul_se_connecteaza", ET_IGNORE, FP_CELL)
frds[2] = CreateMultiForward("jucatorul_se_deconnecteaza", ET_IGNORE, FP_CELL)
frds[3] = CreateMultiForward("jucatorul_a_intrat_pe_server", ET_IGNORE, FP_CELL)
}
public client_connect(id)
{
ExecuteForward(frds[1], ret, id);
}
public client_disconnect(id)
{
ExecuteForward(frds[2], ret, id);
}
public client_putinserver(id)
{
ExecuteForward(frds[3], ret, id);
}