DrPastah – User

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