DrPastah – User
No edit summary |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
Line 1: | Line 1: | ||
== Helicopter Transport Script == | == Helicopter Transport Script == | ||
<code> | <code>{{cc|The Landing needs to be a helipad object. You can use an invisible helipad.}} | ||
spawnTransportQRF = { | |||
_spawn = _this [[select]] 0; | |||
_lz = _this [[select]] 1; | |||
_exit = _this [[select]] 2; | |||
{{cc|Helicopter with pilots}} | |||
_heliGroup = [[createGroup]] [[west|WEST]]; | |||
_heli = [[createVehicle]] ['RHS_UH1Y_UNARMED_d', _spawn, [], 300, 'FLY']; | |||
_pilot = _heliGroup [[createUnit]] ['rhsusf_usmc_marpat_d_helipilot', _spawn, [], 300, 'CAN_COLLIDE']; | |||
_pilot setRank 'PRIVATE'; | |||
_copilot = _heliGroup [[createUnit]] ['rhsusf_usmc_marpat_d_helipilot', _spawn, [], 300, 'CAN_COLLIDE']; | |||
_copilot [[setRank]] 'PRIVATE'; | |||
{{cc|Put pilots in chopper}} | |||
_pilot [[moveInDriver]] _heli; | |||
_copilot [[moveInAny]] _heli; | |||
_heliGroup [[setFormation]] 'WEDGE'; | |||
_heliGroup [[setBehaviour]] 'SAFE'; | |||
_heliGroup [[setSpeedMode]] 'NORMAL'; | |||
{{cc|Fireteam}} | |||
_team = [[createGroup]] [[west|WEST]]; | |||
_newUnit = _team [[createUnit]] ['rhsusf_usmc_marpat_d_teamleader', _spawn, [], 300, 'CAN_COLLIDE']; | |||
_newUnit [[setRank]] 'SERGEANT'; | |||
_newUnit = _team [[createUnit]] ['rhsusf_usmc_marpat_d_autorifleman', _spawn, [], 300, 'CAN_COLLIDE']; | |||
_newUnit [[setRank]] 'CORPORAL'; | |||
_newUnit = _team [[createUnit]] ['rhsusf_usmc_marpat_d_rifleman_m4', _spawn, [], 300, 'CAN_COLLIDE']; | |||
_newUnit [[setRank]] 'PRIVATE'; | |||
_newUnit = _team [[createUnit]] ['rhsusf_usmc_marpat_d_riflemanat', _spawn, [], 300, 'CAN_COLLIDE']; | |||
_newUnit [[setRank]] 'PRIVATE'; | |||
{{cc|Put fireteam [[in]] chopper}} | |||
{ | |||
_x moveInCargo _heli; | |||
} forEach units _team; | |||
{{cc|Make sure all waypoints are deleted}} | |||
[[while]] {([[count]] ([[waypoints]] (_team) )) > 0} do | |||
{ | |||
[[deleteWaypoint]] (([[waypoints]] (_team) ) [[select]] 0); | |||
}; | |||
[[while]] {([[count]] ([[waypoints]] (_heliGroup) )) > 0} do | |||
{ | |||
[[deleteWaypoint]] (([[waypoints]] (_heliGroup)) [[select]] 0); | |||
}; | |||
{{cc|Tell them to land and unload}} | |||
_wp1 = _heliGroup [[addWaypoint]] [_lz, 0]; | |||
_wp1 [[setWaypointType]] "TR UNLOAD"; | |||
_wp2 = _team [[addWaypoint]] [_lz, 0]; | |||
_wp2 [[setWaypointType]] "GETOUT"; | |||
_wp2 [[synchronizeWaypoint]] [_wp1]; | |||
_heliGroup [[addWaypoint]] [_exit, 0]; | |||
_team [[setFormation]] 'WEDGE'; | |||
_team [[setCombatMode]] 'YELLOW'; | |||
_team [[setBehaviour]] 'AWARE'; | |||
_team [[setSpeedMode]] 'NORMAL'; | |||
[_team, 1] [[setWaypointSpeed]] "NORMAL"; | |||
}; | |||
[spawn, lz, exit] [[call]] spawnTransportQRF; | |||
</code> | </code> |
Revision as of 18:39, 22 June 2020
Helicopter Transport Script
// The Landing needs to be a helipad object. You can use an invisible helipad.
spawnTransportQRF = {
_spawn = _this select 0;
_lz = _this select 1;
_exit = _this select 2;
// Helicopter with pilots
_heliGroup = createGroup WEST;
_heli = createVehicle ['RHS_UH1Y_UNARMED_d', _spawn, [], 300, 'FLY'];
_pilot = _heliGroup createUnit ['rhsusf_usmc_marpat_d_helipilot', _spawn, [], 300, 'CAN_COLLIDE'];
_pilot setRank 'PRIVATE';
_copilot = _heliGroup createUnit ['rhsusf_usmc_marpat_d_helipilot', _spawn, [], 300, 'CAN_COLLIDE'];
_copilot setRank 'PRIVATE';
// Put pilots in chopper
_pilot moveInDriver _heli;
_copilot moveInAny _heli;
_heliGroup setFormation 'WEDGE';
_heliGroup setBehaviour 'SAFE';
_heliGroup setSpeedMode 'NORMAL';
// Fireteam
_team = createGroup WEST;
_newUnit = _team createUnit ['rhsusf_usmc_marpat_d_teamleader', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit setRank 'SERGEANT';
_newUnit = _team createUnit ['rhsusf_usmc_marpat_d_autorifleman', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit setRank 'CORPORAL';
_newUnit = _team createUnit ['rhsusf_usmc_marpat_d_rifleman_m4', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit setRank 'PRIVATE';
_newUnit = _team createUnit ['rhsusf_usmc_marpat_d_riflemanat', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit setRank 'PRIVATE';
// Put fireteam in chopper
{
_x moveInCargo _heli;
} forEach units _team;
// Make sure all waypoints are deleted
while {(count (waypoints (_team) )) > 0} do
{
deleteWaypoint ((waypoints (_team) ) select 0);
};
while {(count (waypoints (_heliGroup) )) > 0} do
{
deleteWaypoint ((waypoints (_heliGroup)) select 0);
};
// Tell them to land and unload
_wp1 = _heliGroup addWaypoint [_lz, 0];
_wp1 setWaypointType "TR UNLOAD";
_wp2 = _team addWaypoint [_lz, 0];
_wp2 setWaypointType "GETOUT";
_wp2 synchronizeWaypoint [_wp1];
_heliGroup addWaypoint [_exit, 0];
_team setFormation 'WEDGE';
_team setCombatMode 'YELLOW';
_team setBehaviour 'AWARE';
_team setSpeedMode 'NORMAL';
[_team, 1] setWaypointSpeed "NORMAL";
};
[spawn, lz, exit] call spawnTransportQRF;