As said, the assignGear component needs to run first for the radio replacement to work properly (as it checks for the unit-type such as "co" etc. to know which radio to give to whom).
It is pretty easy to convert the Arsenal export into assignGear though, for example if we'd assume the gear you posted would be for the unit-type "co":
Code: Select all
case "co":
{
_unit addmagazines ["30Rnd_556x45_Stanag",3];
_unit addweapon "RH_M4_ris_M203";
_unit addmagazines ["AV_15Rnd_9x19_Mag",3];
_unit addweapon "RH_compm4s";
_unit addmagazines [1Rnd_HE_Grenade_shell",4];
_unit linkItem "ItemGPS";
};
etc.
Uniforms and backpacks can be also adjusted/set up in assignGear.
Likewise if you use these weapons for multiplay layouts it makes sense to instead configure the variables at the beginning of the script (such as _rifle).
In the radio component you'd configure which radios the unit would get (detailed on the wiki).
On a side-note:
It's not advisable to do stuff like this in the unit init. The code in a unit's initialization field will run once for every client connecting (and the server) so if you'd have 10 players join your mission, the unit would actually be (re)equipped 11 times, which is wasteful and can cause desync. This might not seem that bad but imagine if you'd spawned 10 AI from the unit init, then you'd have 10 AI when testing for yourself but suddenly 110 in MP.
If you check at the top of the fn_assignGear.sqf file you'll see a
local check. This means that the assignGear component will only continue to run where the unit "belongs" to, so either the individual player or in case of AI the server.