Yes I know, that this is out-dated with ExecuteForward and CreateForward and they exist now, but those won't work with the way my plugin works.
My plugin needs needs to be able to dynamically pass parameters to a function. Ok this is how it works (I won't past code since its a private plugin)....
My plugin is using the sockets. Ok when data is received, it is sorted out into arguments, then, the plugin will look at how some other plugin wants this data to be called to its function and then convert the parameters from a string to what the data type needs to be.
Plugin receives a "message".
Looks through it's message table and finds the base plugin that registered the message.
Sorts out the arguments.
Loops through all the arguments and checks from the forward data type table what data type each argument should be, and converts it (str_to_num, str_to_float, etc).
The last step when the plugin loops through all the arguments is why I need the callfunc_push_array(), because of the plugin's protocal. If any of the DEV's need to look at the code, I'll PM it to them.