ACE3/addons/vehicles/functions/fnc_startEngine.sqf

36 lines
977 B
Plaintext
Raw Normal View History

#include "script_component.hpp"
/*
* Author: commy2
* Delays engine start of vehicle.
*
* Arguments:
* 0: Vehicle <OBJECT>
* 1: Is Engine on <BOOL>
*
* Return Value:
* None
*
* Example:
* [vehicle player, false] call ace_vehicles_fnc_startEngine
*
* Public: No
*/
2015-01-16 13:20:41 +00:00
params ["_vehicle", "_isEngineOn"];
2015-01-16 13:20:41 +00:00
if (!_isEngineOn || {floor abs speed _vehicle > 0 || {!isNull isVehicleCargo _vehicle}}) exitWith {};
2015-01-16 13:20:41 +00:00
private _startupDelay = _vehicle getVariable [QGVAR(engineStartDelay), getNumber (configOf _vehicle >> QGVAR(engineStartDelay))];
if (_startupDelay <= 0) exitWith {};
2015-01-16 13:20:41 +00:00
[{
params ["_args", "_idPFH"];
_args params ["_vehicle", "_time", "_direction"];
2015-01-16 13:20:41 +00:00
2016-03-02 10:01:39 +00:00
if (CBA_missionTime > _time) exitWith { [_idPFH] call CBA_fnc_removePerFrameHandler; };
2015-01-16 13:20:41 +00:00
_vehicle setVelocity [0, 0, 0];
_vehicle setVectorDirAndUp _direction;
} , 0, [_vehicle, CBA_missionTime + _startupDelay, [vectorDir _vehicle, vectorUp _vehicle]]] call CBA_fnc_addPerFrameHandler;