All the commands work with "playerDist", so you've omitted this here and pass directly to "combat mode", because the player being visible "g_Entity[e]['plrvisible'] == 1" is not the goal here, I thougt.
So yes, SwitchScript(e,scr) may help, or modify "soldier.lua" and make it start as "neutral" and when "AIGetEntityHeardSound(EntObjNo) == 1" , pass directly to "combat mode".
I had seen something like this in medieval video, but does not remember where. In that video player walk into the town and nobody attack him, until him becomes agressive, so all the town people also does. Perhaps the author comes here.
3com
Laptop: Lenovo - Intel(R) Celeron(R) CPU 1005M @ 1.90GHz
OS: Windows 8.1 (64) - Ram: 4 gb - Hd: 283 gb - Video card: Intel(R) HD Graphics