@Solar: In order to save/load Lua variables they have to be global and I believe even then there are restrictions so none of my scripts really cater for it as I can't predict ahead of time what sort of load/save mechanism the author of the game will use.
For example if you have twenty helicopters flying around attacking the enemy and you save the game what are you expecting to happen on a load? Some games would load you back at the last checkpoint, some would put you back to the begining of the current mission, and some will literally act like pausing a video, you may want to do something completely new! There is no way GG can cater for all the possible load/save mechanisms so you would have to do that yourself.
What I am doing for the pickuppables script, which I am treating as a 'game ready' script, is to save certain information to a global list which 'should' get saved and reloaded, for example the 'last object dropped' info may be used by the game author to trigger some state so that is something I save to the global list, the script then checks if that is set on initialisation and if it is will set the 'real' dynamic variable used in the script. What this means is that if you save the game and the reload, when the pickuppable scripts start up they will set up certain state values to what they were on the save. Of course that may not be what you want it to do if you instead want to restart from the last mission briefing or whatever! (Hmm, on reflection I can add a 'snapshot' function which could be called from a checkpoint script to support that.)
@Teabone: have you tried simply taking the function from my helicopter script? Seems to work ok for me but I haven't tested it in stereo, I had assumed that GG didn't do stereo positioning of sounds but maybe it does.
Been there, done that, got all the T-Shirts!