DrPastah – User

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>" to "<code style="display: block">")
(Update)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{UserDefaultPage}}
== Helicopter Transport Script ==
== Helicopter Transport Script ==
<code style="display: block">{{cc|The Landing needs to be a helipad object. You can use an invisible helipad.}}
 
<sqf>
// The Landing needs to be a helipad object. You can use an invisible helipad.
spawnTransportQRF = {
spawnTransportQRF = {
_spawn = _this [[select]] 0;
_spawn = _this select 0;
_lz = _this [[select]] 1;
_lz = _this select 1;
_exit = _this [[select]] 2;
_exit = _this select 2;
{{cc|Helicopter with pilots}}
// Helicopter with pilots
_heliGroup = [[createGroup]] [[west|WEST]];
_heliGroup = createGroup WEST;
_heli = [[createVehicle]] ['RHS_UH1Y_UNARMED_d', _spawn, [], 300, 'FLY'];
_heli = createVehicle ['RHS_UH1Y_UNARMED_d', _spawn, [], 300, 'FLY'];
_pilot = _heliGroup [[createUnit]] ['rhsusf_usmc_marpat_d_helipilot', _spawn, [], 300, 'CAN_COLLIDE'];
_pilot = _heliGroup createUnit ['rhsusf_usmc_marpat_d_helipilot', _spawn, [], 300, 'CAN_COLLIDE'];
_pilot setRank 'PRIVATE';
_pilot setRank 'PRIVATE';
_copilot = _heliGroup [[createUnit]] ['rhsusf_usmc_marpat_d_helipilot', _spawn, [], 300, 'CAN_COLLIDE'];
_copilot = _heliGroup createUnit ['rhsusf_usmc_marpat_d_helipilot', _spawn, [], 300, 'CAN_COLLIDE'];
_copilot [[setRank]] 'PRIVATE';
_copilot setRank 'PRIVATE';
{{cc|Put pilots in chopper}}
// Put pilots in chopper
_pilot [[moveInDriver]] _heli;
_pilot moveInDriver _heli;
_copilot [[moveInAny]] _heli;
_copilot moveInAny _heli;
_heliGroup [[setFormation]] 'WEDGE';
_heliGroup setFormation 'WEDGE';
_heliGroup [[setBehaviour]] 'SAFE';
_heliGroup setBehaviour 'SAFE';
_heliGroup [[setSpeedMode]] 'NORMAL';
_heliGroup setSpeedMode 'NORMAL';
{{cc|Fireteam}}
// Fireteam
_team = [[createGroup]] [[west|WEST]];
_team = createGroup WEST;
_newUnit = _team [[createUnit]] ['rhsusf_usmc_marpat_d_teamleader', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit = _team createUnit ['rhsusf_usmc_marpat_d_teamleader', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit [[setRank]] 'SERGEANT';
_newUnit setRank 'SERGEANT';
_newUnit = _team [[createUnit]] ['rhsusf_usmc_marpat_d_autorifleman', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit = _team createUnit ['rhsusf_usmc_marpat_d_autorifleman', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit [[setRank]] 'CORPORAL';
_newUnit setRank 'CORPORAL';
_newUnit = _team [[createUnit]] ['rhsusf_usmc_marpat_d_rifleman_m4', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit = _team createUnit ['rhsusf_usmc_marpat_d_rifleman_m4', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit [[setRank]] 'PRIVATE';
_newUnit setRank 'PRIVATE';
_newUnit = _team [[createUnit]] ['rhsusf_usmc_marpat_d_riflemanat', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit = _team createUnit ['rhsusf_usmc_marpat_d_riflemanat', _spawn, [], 300, 'CAN_COLLIDE'];
_newUnit [[setRank]] 'PRIVATE';
_newUnit setRank 'PRIVATE';
{{cc|Put fireteam [[in]] chopper}}
// Put fireteam in chopper
{
{
_x moveInCargo _heli;
_x moveInCargo _heli;
} forEach units _team;
} forEach units _team;
{{cc|Make sure all waypoints are deleted}}
// Make sure all waypoints are deleted
[[while]] {([[count]] ([[waypoints]] (_team) )) > 0} do
while {(count (waypoints (_team) )) > 0} do
{
{
[[deleteWaypoint]] (([[waypoints]] (_team) ) [[select]] 0);
deleteWaypoint ((waypoints (_team) ) select 0);
};
};
[[while]] {([[count]] ([[waypoints]] (_heliGroup) )) > 0} do
while {(count (waypoints (_heliGroup) )) > 0} do
{
{
[[deleteWaypoint]] (([[waypoints]] (_heliGroup)) [[select]] 0);
deleteWaypoint ((waypoints (_heliGroup)) select 0);
};
};
{{cc|Tell them to land and unload}}
// Tell them to land and unload
_wp1 = _heliGroup [[addWaypoint]] [_lz, 0];
_wp1 = _heliGroup addWaypoint [_lz, 0];
_wp1 [[setWaypointType]] "TR UNLOAD";
_wp1 setWaypointType "TR UNLOAD";
_wp2 = _team [[addWaypoint]] [_lz, 0];
_wp2 = _team addWaypoint [_lz, 0];
_wp2 [[setWaypointType]] "GETOUT";
_wp2 setWaypointType "GETOUT";
_wp2 [[synchronizeWaypoint]] [_wp1];
_wp2 synchronizeWaypoint [_wp1];
_heliGroup [[addWaypoint]] [_exit, 0];
_heliGroup addWaypoint [_exit, 0];
_team [[setFormation]] 'WEDGE';
_team setFormation 'WEDGE';
_team [[setCombatMode]] 'YELLOW';
_team setCombatMode 'YELLOW';
_team [[setBehaviour]] 'AWARE';
_team setBehaviour 'AWARE';
_team [[setSpeedMode]] 'NORMAL';
_team setSpeedMode 'NORMAL';
[_team, 1] [[setWaypointSpeed]] "NORMAL";
[_team, 1] setWaypointSpeed "NORMAL";
};
};
[spawn, lz, exit] [[call]] spawnTransportQRF;
 
</code>
[spawn, lz, exit] call spawnTransportQRF;
</sqf>

Latest revision as of 11:38, 6 April 2024

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;