Same goes for requiredAddOns which should be requiredAddOns[]={};
And each of your sound definitions are also wrong, each of them should be an array not a string (you're missing [] on each of them).
class Throw: GrenadeLauncher {
class ThrowMuzzle: GrenadeLauncher {
};
class HandGrenadeMuzzle: ThrowMuzzle {
sound[] = {"x\acex_sm\addons\s_wep_rifle\grenade_pin1.wss", 0.177828, 1, 20};
};
};
class M16_Base: Rifle {
reloadMagazineSound[] = {"x\acex_sm\addons\s_wep_rifle\m16_reload.wss", 0.031623, 1, 20};
class Single: Mode_SemiAuto {
begin1[] = {"x\acex_sm\addons\s_wep_rifle\m16_fire1.wss", 1.778280, 1, 900};
begin2[] = {"x\acex_sm\addons\s_wep_rifle\m16_fire2.wss", 1.778280, 1, 900};
begin3[] = {"x\acex_sm\addons\s_wep_rifle\m16_fire3.wss", 1.778280, 1, 900};
soundBegin[] = {"begin1", 0.330000, "begin2", 0.330000, "begin3", 0.330000};
};
class Burst: Mode_Burst {
begin1[] = {"x\acex_sm\addons\s_wep_rifle\m16_fire1.wss", 1.778280, 1, 900};
begin2[] = {"x\acex_sm\addons\s_wep_rifle\m16_fire2.wss", 1.778280, 1, 900};
begin3[] = {"x\acex_sm\addons\s_wep_rifle\m16_fire3.wss", 1.778280, 1, 900};
soundBegin[] = {"begin1", 0.320000, "begin2", 0.350000, "begin3", 0.320000};
soundBurst = 0;
};
class FullAuto: Mode_FullAuto {
begin1 = {"x\acex_sm\addons\s_wep_rifle\m16_fire1.wss", 1.778280, 1, 900};
begin2 = {"x\acex_sm\addons\s_wep_rifle\m16_fire2.wss", 1.778280, 1, 900};
begin3 = {"x\acex_sm\addons\s_wep_rifle\m16_fire3.wss", 1.778280, 1, 900};
soundBegin = {"begin1", 0.320000, "begin2", 0.350000, "begin3", 0.320000};
};
class M203Muzzle: M203Muzzle {
begin1 = {"x\acex_sm\addons\s_wep_rifle\m203_fire.wss", 0.100000, 1, 100};
begin2 = {"x\acex_sm\addons\s_wep_rifle\m203_fire.wss", 0.100000, 0.960000, 100};
begin3 = {"x\acex_sm\addons\s_wep_rifle\m203_fire.wss", 0.100000, 0.940000, 100};
soundBegin = {"begin1", 0.330000, "begin2", 0.330000, "begin3", 0.330000};
reloadMagazineSound = {"x\acex_sm\addons\s_wep_rifle\m203_reload.wss", 0.031623, 1, 20};
};
};
..... and so on.....