Page 1 of 1

forwardai

Posted: 2011 Nov 10 18:31
by aurimasko
Kaip kuriami forwardai? na kaip ten yra zombie plague pvz, kai atsiranda zombis, kažkoks modas įsijungia.. tai man reikia paaiškinimo kaip kurti juos.. pvz man reikia, kad kai kintamajui day nustatoma reikšmė kažkokia, tai suveiktų kažkoks forwardas jeigu įmanoma..

Re: forwardai

Posted: 2011 Nov 11 08:58
by aaarnas

Code: Select all

/* Plugin generated by AMXX-Studio */ #include <amxmodx>#include <amxmisc> #define PLUGIN "New Plug-In"#define VERSION "1.0"#define AUTHOR "aaarnas" new fw_handle public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR)        fw_handle = CreateMultiForward("fowrdaro_pav", ET_IGNORE, FP_CELL, FP_CELL)    /*    // Return reikšmė forwardui    #define ET_IGNORE       0   //ignore return val    #define ET_STOP         1   //stop on PLUGIN_HANDLED    #define ET_STOP2        2   //same, except return biggest    #define ET_CONTINUE     3   //no stop, return biggest        // Forwardo tipas (int, float, string, array)    #define FP_CELL         0    #define FP_FLOAT        1    #define FP_STRING       2    #define FP_ARRAY        4    */} funkcija() {    // Parametrų siunčiamų į forwardą gali būti kiek nori. Gali ir visai nebūti    new return_value, param1, param2    ExecuteForward(fw_handle, return_value, param1, param2)}
Ir tada plugine, kuriame nori iškviesti:

Code: Select all

forward fowrdaro_pav(param1, param2) public fowrdaro_pav(param1, param2) {        // Kažką darom        return; // Jei reikia ką grąžinti}

Code: Select all

forward fowrdaro_pav(param1, param2)
gali rašyti ir į inc failiuką, gali į sma failą. Jokio skirtumo. inc geriau jei naudosi šiuos forwardus daugelyje pluginų.

Re: forwardai

Posted: 2011 Nov 11 12:24
by newb
Bet seip nezinau kam cia naudot ta forwarda vistiek gi visur reikes ta ExecuteForward rasyti, tai galima ir i paprasta funkcija taip kreiptis.

Beje, kad veiktu normalei tavo kodas reikia

Code: Select all

fw_handle = CreateMultiForward("fowrdaro_pav", ET_IGNORE, FP_CELL)
>>

Code: Select all

fw_handle = CreateMultiForward("fowrdaro_pav", ET_IGNORE, FP_CELL, FP_CELL)
Arba

Code: Select all

ExecuteForward(fw_handle, return_value, param1, param2)
>>

Code: Select all

ExecuteForward(fw_handle, return_value, param1)

Re: forwardai

Posted: 2011 Nov 11 14:25
by aurimasko
mm, jeigu reikia rašyti ta ExecuteForward tai lievai truputį, bet geriau negu mano dabartinis kodas kur man reikia forwardu.. ;D Na dėkui už pagalbą.

Re: forwardai

Posted: 2011 Nov 11 15:49
by aaarnas
Tai nerašydamas kaip kitaip tu jį iškviesi? Tam ir naudojamas ExecuteForward , kad tuo momentu kada reikia.

Re: forwardai

Posted: 2011 Nov 11 16:18
by newb
Galima padaryti set_task kuris tikrintu kas ~1sec ar pasikeite reiksme kintamojo :D