Sure.
Make a couple triggers, and in the Condition lines put:
(PUNISH_MONEY > 1000)
(PUNISH_MONEY > 2500)
(PUNISH_MONEY > 10000)
etc. for all levels of money you want to unlock.
In the on Activation lines put:
unlock1_action = unlock1_crate addAction ["Unlock Pistols","unlock1.sqs"]
unlock2_action = unlock2_crate addAction ["Unlock MP5","unlock2.sqs"]
unlock3_action = unlock3_crate addAction ["Unlock M4","unlock3.sqs"]
etc.
In the on Deactivation lines put:
unlock1_crate removeAction unlock1_action
unlock2_crate removeAction unlock2_action
unlock3_crate removeAction unlock3_action
etc...
Then the scripts will look like the following:
;unlock1.sqs
;For Operation Flashpoint.
PUNISH_MONEY = PUNISH_MONEY - 1000
unlock1_crate addWeaponCargo ["Beretta",2]
unlock1_crate addMagazineCargt ["BerettaMag",8]
player removeAction unlock1_action
exit
Just change the unlock1 parts to the appropriate ones for each unlockable weapon, and change the weapons and magazine names. The names are in the comref if you're not sure. You just save those scripts in the mission directory.
Then, just have triggers in the on activation lines add money like this:
PUNISH_MONEY = PUNISH_MONEY + 1100
etc
And make sure that you initalized PUNISH_MONEY = starting amount at the start of the mission somewhere.