Difference between revisions of "VN ms fnc aiHeliTransportSkip"

From Savage Game Design Wiki
Jump to navigation Jump to search
m (Text replacement - " |a= " to " |author= ")
m (Text replacement - " |e=" to " |a= |e=")
Line 5: Line 5:
  
 
|author= Wyqer, veteran29
 
|author= Wyqer, veteran29
 +
 +
|a=
  
 
|e=
 
|e=

Revision as of 19:25, 5 January 2021

← back to Functions Introduced in S.O.G. Prairie Fire v1.00
by Wyqer, veteran29
Argument(s): n/a
Effect(s): unknown

Description

/*
    Author: Wyqer, veteran29
    Date: 2020-02-28

    Description:
        Skip AI insertion travel.

    Parameter(s):
        _group - Group doing the insertion [GROUP, defaults to grpNull]

    Returns:
        Function reached the end [BOOL]
*/

if (!canSuspend) exitWith {
    _this spawn (missionNamespace getVariable _fnc_scriptName);
};

params [
    ["_group", grpNull, [grpNull]],
    ["_delay", 0, [0]]
];

private _vehicle = vehicle leader _group;

private _canSkip = _vehicle getVariable ['vn_aiHeliTransport_canSkip', false];
_vehicle setVariable ['vn_aiHeliTransport_canSkip', false, true];
if (!_canSkip) exitWith {};

private _playerCrew = (crew _vehicle select {isPlayer _x});
[[localize "STR_VN_MISSIONS_MISC_TELEPORTTITLE", "BLACK", 1]] remoteExec ["titleText", _playerCrew];

sleep 3 + _delay;

private _synchronizedGroups = synchronizedObjects leader _group apply {group _x};
{
    [_x, 8 * (_forEachIndex+1)] spawn (missionNamespace getVariable _fnc_scriptName);
} forEach _synchronizedGroups;

private _routeWps = _group getVariable ["vn_aiHeliTransport_routeWps", []];
// get last route waypoint (or LZ if no route)
private _lastWp = nil;
if (_routeWps isEqualTo []) then {
    _lastWp = [_group, currentWaypoint _group];
} else {
    _lastWp = _routeWps deleteAt (count _routeWps - 1);
};

private _skipPos = waypointPosition _lastWp;
_skipPos set [2, 50];

// skip waypoints
private _firstRouteWp = _routeWps select 0;
{
    // the waypoint index decrements with every deleted WP
    // So we're always deleting currently first WP of the route
    deleteWaypoint _firstRouteWp;
} forEach _routeWps;

private _velocity = velocityModelSpace _vehicle;
// move vehicle
(Placeholder description extracted from the function header by LM_exportFunctionsToWiki.sqf)

Syntax

Syntax
[] call vn_ms_fnc_aiHeliTransportSkip;
Return value
Nothing

Examples

Example 1
-