mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
49 lines
1.5 KiB
Plaintext
49 lines
1.5 KiB
Plaintext
/*
|
|
* Author: PabstMirror
|
|
* Handles the inventory opening.
|
|
*
|
|
* Arguments:
|
|
* 0: Unit <OBJECT>
|
|
* 1: Container <OBJECT>
|
|
*
|
|
* Return Value:
|
|
* None
|
|
*
|
|
* Example:
|
|
* [player, car] call ACE_VehicleLock_fnc_onOpenInventory;
|
|
*
|
|
* Public: No
|
|
*/
|
|
#include "script_component.hpp"
|
|
|
|
params ["_unit", "_container"];
|
|
TRACE_2("params",_unit,_container);
|
|
|
|
//Only check for player:
|
|
if (_unit != ace_player) exitWith {};
|
|
|
|
if (GVAR(LockVehicleInventory) && //if setting not enabled
|
|
{(vehicle ace_player) == ace_player} && //Player dismounted
|
|
{(_container isKindOf "Car") || (_container isKindOf "Tank") || (_container isKindOf "Helicopter")} && //container is a lockable veh
|
|
{(locked _container) in [2,3]} && //Vehicle is locked
|
|
{!([ace_player, _container] call FUNC(hasKeyForVehicle))} //player doesn't have key
|
|
) then {
|
|
//Give feedback that vehicle is locked
|
|
playSound "ACE_Sound_Click";
|
|
|
|
//For compatibiltiy with ACRE, wait until the display is open, close it and then reopen the player's own inventory
|
|
//ref: http://gitlab.idi-systems.com/idi-systems/acre2-public/issues/70
|
|
[{
|
|
!isNull (findDisplay 602)
|
|
},
|
|
{
|
|
TRACE_1("car display open: closing", _this);
|
|
(findDisplay 602) closeDisplay 0;
|
|
[{
|
|
TRACE_1("Opening Player Inventory", _this);
|
|
ACE_player action ["Gear", objNull]
|
|
}, []] call EFUNC(common,execNextFrame);
|
|
},
|
|
[]] call EFUNC(common,waitUntilAndExecute);
|
|
};
|