Hey Tim,
An event handler is something that activates when a certain Event happens. To get what you're after, you'll want to use a "Fired" event handler.
In the player's init line, type:
smokin = false; this addEventHandler ["Fired",{if (_this select 4 == "Smokeshell") then {
smokin = true}}]
The first part sets the variable
smokin to false. We'll use this to get your chopper moving.
The next part adds the event handler. What happens, is everytime the player fires a shot (or throws a smokeshell), the line:
{if (_this select 4 == "Smokeshell") then {
smokin = true}}
is actiavated. So it checks to see if the player has thrown smoke, and if so makes
smokin true.
So if you sync a trigger to your chopper's waypoint, and make the condition:
smokin, then the chopper will move after the player has thrown a smokeshell.
To change the colour of the smoke, simply change "smokeshell" to "smokeshellred" or "smokeshellgreen".
Hope that helps you out