Here is the parameter processor that is run during preInit (preInit is declared from CfgFunctions):
//description.ext:
class CfgFunctions
{
class F
{
class common
{
class processParamsArray
{
file = "test.sqf";
preInit = 1;
};
};
};
};
class Params
{
class f_param_medical
{
title = "Medical System";
values[] = {0,1};
texts[] = {"Arma 3 Default","Authentic Gameplay Mod"};
default = 1;
};
};
//test.sqf
if (isMultiplayer) then {
if (isServer) then {
{
_paramName =(configName ((missionConfigFile >> "Params") select _forEachIndex));
_paramValue = (paramsArray select _forEachIndex);
missionNamespace setVariable[_paramName,_paramValue];
publicVariable _paramName;
} forEach paramsArray;
};
} else {
//Values must be default in SP anyway and paramsArray doesn't exist in SP till postInit.
{
_paramName = (configName _x);
_paramValue = (getNumber (missionConfigFile >> "Params" >> _paramName >> "default"));
missionNamespace setVariable[_paramName,_paramValue];
} forEach ((missionConfigFile >> "Params") call bis_fnc_returnChildren);
};
// From a client using the debug console your'll notice that in Arma 3 1.42 'f_param_medical' has a value and in 1.44 it does not.