One last thing, the code in the "weapon_logic" script which tells the server which sound to play when firing (local or ent_sound) does not work properly. When connected as a client the "ent_playSoundPos" sound is played instead of the local sound. This is because the "plid" value does not contain the dplay_id but rather the ID of the entity in respect to the actual array ID (0, 1, 2, etc). To fix this I replaced "plid" with "player_data[plid].clid == dplay_id" which works properly. To give a more verbose example;

if(plid == dplay_id) play_dynamic_snd_local(machinegun_fire_snd);
else ent_playsoundPos(vpos,machinegun_fire_snd,100,10000);

Change to;
if(player_data[plid].clid == dplay_id && !player_data[plid].bot) play_dynamic_snd_local(machinegun_fire_snd);
else ent_playsoundPos(vpos,machinegun_fire_snd,100,10000);

Sound works flawlessly now.

Last edited by exile; 12/25/15 14:21.