mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Force open ramps on helicopters
This commit is contained in:
parent
8e895e8cff
commit
84af4b7676
@ -35,11 +35,8 @@ class CfgVehicles {
|
||||
};
|
||||
};
|
||||
|
||||
class Helicopter_Base_F;
|
||||
class ACE_friesBase: Helicopter_Base_F {
|
||||
destrType = "";
|
||||
class Turrets {};
|
||||
|
||||
class Helicopter;
|
||||
class Helicopter_Base_F: Helicopter {
|
||||
class ACE_SelfActions {
|
||||
class ACE_prepareFRIES {
|
||||
displayName = CSTRING(Interaction_prepareFRIES);
|
||||
@ -71,6 +68,10 @@ class CfgVehicles {
|
||||
};
|
||||
};
|
||||
};
|
||||
class ACE_friesBase: Helicopter_Base_F {
|
||||
destrType = "";
|
||||
class Turrets {};
|
||||
};
|
||||
class ACE_friesAnchorBar: ACE_friesBase {
|
||||
author = "jokoho48";
|
||||
scope = 1;
|
||||
@ -175,10 +176,28 @@ class CfgVehicles {
|
||||
class Heli_Transport_02_base_F: Helicopter_Base_H {
|
||||
GVAR(enabled) = 1;
|
||||
GVAR(ropeOrigins[]) = {{0.94, -4.82, -1.16}, {-0.94, -4.82, -1.16}};
|
||||
GVAR(onPrepare) = QFUNC(onPrepareCommon);
|
||||
GVAR(onCut) = QFUNC(onCutCommon);
|
||||
|
||||
class UserActions {
|
||||
class Ramp_Open;
|
||||
class Ramp_Close: Ramp_Open {
|
||||
condition = QUOTE([ARR_5(this,'CargoRamp_Open',[[0],[1],[2]])] call FUNC(canCloseRamp));
|
||||
};
|
||||
};
|
||||
};
|
||||
class Heli_Transport_03_base_F: Helicopter_Base_H {
|
||||
GVAR(enabled) = 1;
|
||||
GVAR(ropeOrigins[]) = {{0.75, -5.29, -0.11}, {-0.87, -5.29, -0.11}};
|
||||
GVAR(onPrepare) = QFUNC(onPrepareCommon);
|
||||
GVAR(onCut) = QFUNC(onCutCommon);
|
||||
|
||||
class UserActions {
|
||||
class Ramp_Open;
|
||||
class Ramp_Close: Ramp_Open {
|
||||
condition = QUOTE([ARR_5(this,'Door_rear_source',[[0],[3],[4]])] call FUNC(canCloseRamp));
|
||||
};
|
||||
};
|
||||
};
|
||||
class Heli_light_03_base_F: Helicopter_Base_F {
|
||||
GVAR(enabled) = 2;
|
||||
@ -194,7 +213,9 @@ class CfgVehicles {
|
||||
GVAR(friesAttachmentPoint[]) = {-1.07, 3.26, -0.5};
|
||||
EQUIP_FRIES_ATTRIBUTE;
|
||||
};
|
||||
class Heli_Transport_04_base_F;
|
||||
class Heli_Transport_04_base_F: Helicopter_Base_H {
|
||||
class UserActions;
|
||||
};
|
||||
class O_Heli_Transport_04_bench_F: Heli_Transport_04_base_F {
|
||||
GVAR(enabled) = 1;
|
||||
GVAR(ropeOrigins[]) = {{1.03, 1.6, -0.23}, {1.03, -1.36, -0.23}, {-1.23, 1.6, -0.23}, {-1.23, -1.36, -0.23}};
|
||||
@ -202,5 +223,14 @@ class CfgVehicles {
|
||||
class O_Heli_Transport_04_covered_F: Heli_Transport_04_base_F {
|
||||
GVAR(enabled) = 1;
|
||||
GVAR(ropeOrigins[]) = {{0.83, -4.7, -0.03}, {-1.02, -4.7, -0.03}};
|
||||
GVAR(onPrepare) = QFUNC(onPrepareCommon);
|
||||
GVAR(onCut) = QFUNC(onCutCommon);
|
||||
|
||||
class UserActions: UserActions {
|
||||
class CloseDoor_6;
|
||||
class Ramp_Close: CloseDoor_6 {
|
||||
condition = QUOTE([ARR_6(this,'Door_6_source',[[0],[1],[2],[3]])] call FUNC(canCloseRamp));
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,3 +1,4 @@
|
||||
PREP(canCloseRamp);
|
||||
PREP(canCutRopes);
|
||||
PREP(canDeployRopes);
|
||||
PREP(canFastRope);
|
||||
|
29
addons/fastroping/functions/fnc_canCloseRamp.sqf
Normal file
29
addons/fastroping/functions/fnc_canCloseRamp.sqf
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Author: BaerMitUmlaut
|
||||
* Checks if the player can close the ramp of the given helo.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: The helicopter <OBJECT>
|
||||
* 1: The ramp animation name <STRING>
|
||||
* 2: Turret paths that can close the ramp <ARRAY>
|
||||
*
|
||||
* Return Value:
|
||||
* Able to close ramp <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [_player, _vehicle] call ace_fastroping_fnc_canCloseRamp
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
params ["_vehicle", "_door", "_turretPaths"];
|
||||
|
||||
(_vehicle doorPhase _door > 0.5) &&
|
||||
{alive _vehicle} &&
|
||||
{(_vehicle getVariable ["bis_disabled_Ramp", 0]) != 1} &&
|
||||
{!(_vehicle getVariable [QGVAR(doorsLocked), false])} &&
|
||||
{
|
||||
(ACE_player == driver _vehicle) ||
|
||||
{((assignedVehicleRole ACE_player) param [1, []]) in _turretPaths}
|
||||
}
|
@ -24,16 +24,24 @@ if !(isNull _fries) then {
|
||||
[{
|
||||
_this animateDoor ["door_R", 0];
|
||||
_this animateDoor ["door_L", 0];
|
||||
_vehicle animate ["dvere1_posunZ", 0];
|
||||
_vehicle animate ["dvere2_posunZ", 0];
|
||||
_this animateDoor ["CargoRamp_Open", 0];
|
||||
_this animateDoor ["Door_rear_source", 0];
|
||||
_this animateDoor ["Door_6_source", 0];
|
||||
_this animate ["dvere1_posunZ", 0];
|
||||
_this animate ["dvere2_posunZ", 0];
|
||||
_this setVariable [QGVAR(doorsLocked), false, true];
|
||||
}, _vehicle, 2] call EFUNC(common,waitAndExecute);
|
||||
|
||||
4
|
||||
} else {
|
||||
_vehicle animateDoor ["door_R", 0];
|
||||
_vehicle animateDoor ["door_L", 0];
|
||||
_vehicle animateDoor ["CargoRamp_Open", 0];
|
||||
_vehicle animateDoor ["Door_rear_source", 0];
|
||||
_vehicle animateDoor ["Door_6_source", 0];
|
||||
_vehicle animate ["dvere1_posunZ", 0];
|
||||
_vehicle animate ["dvere2_posunZ", 0];
|
||||
_vehicle setVariable [QGVAR(doorsLocked), false, true];
|
||||
|
||||
2
|
||||
};
|
||||
|
@ -22,9 +22,14 @@ _waitTime = 2;
|
||||
|
||||
_vehicle animateDoor ["door_R", 1];
|
||||
_vehicle animateDoor ["door_L", 1];
|
||||
_vehicle animateDoor ["CargoRamp_Open", 1];
|
||||
_vehicle animateDoor ["Door_rear_source", 1];
|
||||
_vehicle animateDoor ["Door_6_source", 1];
|
||||
_vehicle animate ["dvere1_posunZ", 1];
|
||||
_vehicle animate ["dvere2_posunZ", 1];
|
||||
|
||||
_vehicle setVariable [QGVAR(doorsLocked), true, true];
|
||||
|
||||
_fries = _vehicle getVariable [QGVAR(FRIES), objNull];
|
||||
if !(isNull _fries) then {
|
||||
[{
|
||||
|
Loading…
Reference in New Issue
Block a user