DrPastah – User

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
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.}}
    // 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;
    [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;