You could always run a check to see whther the weapon is changed,
this short script will check whether the player has the same weapon he
did when the script was executed and display text when or if he drops
the weapon.
;===================================
_startWeap = weapons soldierName
#loop
?(weapons soldierName) != _startWeap : goto "end"
~0.1
goto"loop"
#end
titleText ["weapon change!","plain down"]
;===================================
*EDIT*
on second thought it may need to be changed to something like:
;===================================
_currentWeap = weapons soldierName
?(_currentWeap select 0) != (_startWeap select 0) : goto "end"
;==================================
switch the original goto line with the
se two if the player or AI is likely to have
a second weapon.
NOTE: this script has not been tested.
Further, if you wish to make sure the player (or AI) has not picked up
another weapon you could add checks like:
;=====================================
?(_currentWeap select 0) != null : hasWeapon = true
;=====================================
You may have to switch null with a double speech mark "" I'm not sure.
Also, if you want to check for secondary weapon rather than primary,
simply switch the 0 after each 'select' to a 1. Pistols, would be 2, but
that's a major guess.
Hope atleast some of this helps.