Here is the full readme lifted from the dl:
Readme for Chopper Dynamic Control MP/SP supported
Date: 8th April 2005
Version: final
Requirements: OFP version 1.85 or above
Author: [RM] Robino
  Â
Support: MP & SP supported !!
Credits: made by Robino on behalf of the [RM] Royal Marine clan
   thnx to [RM] Akita and [RM] Kong for testing and suggestions.
   thnx to [RM] Dog for a little scripting inspiration
   thnx to [RM] 3lions and [RM] GSTQ for running the best OFP    clan around
   Everyone at OFPEC
1) Intro
2) Installing
3) Use of the script
4) Instructions for singlechop
5) Instructions for doublechop
6) Chopper observations and design notes
7) Disclaimer
**********************
1)Â Â Â Introduction
**********************
These scrpits provide the user with up to 2 choppers which can be commanded to perform a variety of functions at any location on the map, at any time. It took months for me to develop - not because the coding was hard - but because careful examination of chopper behaviour had to be made. I have included some of the reasons for my design in ***.
The directory [singlechop] contains all the code required to command a single chopper dynamically. It was designed to take into account that the same chopper can be used for transport and combat; the Mi24, UH60(rockets) and Mi17 for example, can both engage armoured targets and carry troops. [doublechop] contains scripts required to control 2 choppers. It was designed so the functions of transport and combat could be separated - where transport is chop1 and combat is chop2.
***********************
2)Â Â Â Installing
***********************
Extract files.
Once extracted copy [singlechop] and [doublechop] to your:
[operation flashpoint\users\(yourname)\missions] directory
now you will be able to view and try the missions on malden island, via the mission editor. I didnt want to distribute only the .sqs files because the scripts rely on objects which must be placed using the mission editor.
************************
3)Â Â Â Using the script
************************
Use of the script coulndt be simpler !
Activate the "Set coords" radio command and then do a single click on the map. The "Chopper Coord" marker will move to this new position. Now activate any of the radio commands and the chopper will move to the coords to complete the action - EASY PEASY !
*****************************
4)Â Â Â instructions for [singlechop]
*****************************
Here are instructions telling you what you will find in the mission editor and how to insert the same into your own missions - trust me it is EASY for anyone with a little editing experience. The MP environment IS supported aswell as SP.
dir [singlechop] contains:
mission.sqm
description.
briefing.htm
chopper22.sqs
weaps.sqs
convo.sqs
radio2.sqs
detectclick.sqs
groupeject.sqs
init.sqs
stop.sqf
All files ending in .sqs are required. Briefing, mission and description are specific to each mission.
In addition to this a number of items must be placed in your mission via the editor.
a manned chopper      Name: chop1
gamelogic         Name: server
invisible(or visible) Helipad   Name: derh
a marker         Name: pos   Text: Chopper Coords
The chopper functions are activated by radio - therefore radio triggers are required. The triggers should be set to:
activation: radio alpha to juliet and repeatedly   condition: this
on activation: [?] exec "chopper22.sqs"
Where ? is a number sent to chopper22.sqs which indicates the function to be performed. The numbers are:
2 - this activates the "hover" command
3 - this activates the "land" command
4 - this activates the "paradrop" command
5 - this activates the "hover while weapons are hot" (free to engage) command
You can assign your radio triggers to any slot you wish and you can create custom radio texts by using the setradiomsg command. Obviously you want your custom radio commands to match up - u dont want to name radio slot 2 "land here" and have a radio trigger send a number 4 to chopper22.sqs because this will activate the "paradrop" command !
The radio trigger to setup positioning of the Chop Coords Marker should be set:
activation: radio alpha to juliet and repeatedly   condition: this
on activation: [chop1] exec "radio2.sqs"
The radio trigger to allow querying the status of the chopper is:
activation: radio alpha to juliet and repeatedly   condition: this
on activation: status = true
With these items added via the editor and your radio triggers sorted you should be good to go. You need only use the radio commands/triggers that you want for your mission. The chopper will change its firing mode according to the type of action you ask it to perform. So for example if you activate the "hover weapons hot" command it will say on radio "WEAPONS HOT" and will move to the coords to engage any targets. Then if you activate the "land" command it will say "SWITCHING BACK TO WEAPONS COLD". This is useful because you dont want the chopper to be distracted attacking targets when you want it to land.
Also there are 2 lines in chopper22.sqs which read:
;_playergrp = group player
;[_playergrp,_chopname] exec "groupeject.sqs"
Uncomment these lines (delete the
and the chopper will automatically eject the player's group once the paradrop coords are reached. This is not recommended for MP and is not supported. But it works splendidly in SP where telling AI group members to eject one at a time can be problematic.
*****************************
5)Â Â Â instruction for [doublechop]
*****************************
There are a few changes made to the scripts and additions to enable 2 choppers to be commanded. Copy all .sqs files contained in [doublechop] to your mission.
dir [doublechop] should contain:
mission.sqm
briefing.htm
description.
stop.sqs
chopper22.sqs
chopper33.sqs
init.sqs
detectclick.sqs
radio2.sqs
convo2.sqs
convo12.sqs
weaps.sqs
weaps2.sqs
groupeject.sqs
Here is list of all editor objects required:
a manned chopper      name: chop1
a manned chopper      name: chop2
gamelogic         name: server
invisible(or visible) Helipad   name: derh
invisible(or visible) Helipad   name: derh2
a marker         name: pos   Text: Chopper Coords
Any chopper can perform any function you wish so here is an example of how you can organise your radio triggers for chop1 = transport and chop2 = combat. Assume we want chop1 to be able to "land", "paradrop" and "hover" and chop2 to "hover weapons hot" and "land". Here we call chopper22.sqs to activate chop1 and chopper33.sqs to activate chop2.
/* the coordinate marker trigger:
activation: alpha and repeatedly
condition: this
on activation: [chop1] exec "radio2.sqs"
/* chop1 land trigger
activation: bravo and repeatedly
condition: this
on activation: [3] exec "chopper22.sqs"
/* chop1 paradrop trigger
activation: charlie and repeatedly
condition: this
on activation: [4] exec "chopper22.sqs"
/* chop1 hover trigger
activation: delta and repeatedly
condition: this
on activation: [2] exec "chopper22.sqs"
/* chop2 land trigger
activation: echo and repeatedly
condition: this
on activation: [3] exec "chopper33.sqs"
/* chop2 hover weapons hot trigger
activation: foxtrot and repeatedly
condition: this
on activation: [5] exec "chopper33.sqs"
/* the query status trigger takes into account both choppers
activation: golf and repeatedly
condition: this
on activation: status = true
Dont forget to name your custom radio commands using setradiomsg - do this inside a trigger also - and it will be processed on all computers in a MP setup.
Thats it. With all the .sqs files and editor objects your choppers should work perfectly.
***********************************
6)Â Â Â Chopper Observations & Design Notes
***********************************
I am nice. This is a fact. So I have included some of the observations of chopper behaviour here and some explanations of the choices I made to get the scripts working.
* A chopper will not usually overshoot its move marker but if it is coming up/down a hillside it momentum can carry it off course.
* The land command is only useful if the chopper has a visible or invisible Helipad nearby. It will seek out the H and land on it. However if the chopper is approx > 150m away at the time the land command is sent, the chopper will take ages to land, or not land at all. The same problem occurs when land commands are given to the chopper > 100m altitude.
* The chopper22 and chopper33 scripts therefore ECSPLICITLY move the chopper to a point 30m directly above the H and then give the land command to the chopper.
* A chopper cannot land or hit its movemarker correctly if armoured targets are nearby. Only using setbehaviour "CARELESS" was I able to fix this.
* The land command does not land the chopper on top of units, trees, buildings; the chopper will find an alternate landing position on its own so its recommended to make sure the LZ is clear and kept clear. Activating land over sea will cause the chopper to freeze... permernantly.
* Contained in chopper22 and chopper33 inside the #endnow loop is code
which lands the chopper without using any land command. derh or a gamelogic called derh is still required.
* chop1 land "land"
change "land" to "get in" for the chopper to keep its engines running
* There are 2 ways to share variables via MP. Publicvariable and using triggers(which are automatically synchronised) from the editor. Knowing that dialogs are a bitch to create and get synchronised on all machines I opted for radio triggers.
* Lag can affect the performance of the script. Temporary sync loss while activating the radio commands could lead to some confusion in the scripts.
**************************
7)Â Â Â Disclaimer
**************************
Its not my fault if this stuff causes your comp to meltdown and lose 4 years of medical research. It's completely unofficial. So just dont sue me, OK ?
Document by Robino
if you find bugs - let me know